Christian a déjà proposé de nombreuses réalisations sur le blog. Cette fois c’est une horloge qu’il nous offre. Raspberry Pi, PiJuice, écran, alarme… De quoi monter un projet utile et fonctionnel.
Au sommaire :
Une horloge avec un Raspberry Pi et Pi Juice
Schéma
Le matériel
- Raspberry Pi 3 B+ ou 4
- HAT PJUICE
- Ampli LM386 (Amazon)
- SHIM pour déporter le GPIO du Raspi à 90° sur le côté
- Une nappe 40 points M/F
- Ecran tactile 800×480 HDMI de WaveShare
- une clé USB pour stoker les Dossiers de photos
- Un Haut-Parleur de 50 mm
Câblage
- Problème car la PiJuice ne permet pas d’empiler d’autres HAT et on a plus accès au GPIO
- Il faut souder une carte SHIM sur le GPIO du Raspi pour sortir à 90 °
- Fixer la Pijuice avec 2 colonnettes de 2.5×30
- La relier avec une nappe 40 points M/F au Raspi
Système
Stretch Debian 9 et Python3 avec NOOBS. Configurer le Raspi avec I2C et SPI et tout ce qu’il faut
Pour pouvoir supprimer tous les programmes annexes de Debian facilement :
sudo apt-get install rp-prefapps
Ensuite Menu > Preferences > Recommended Software et décocher tout
Installation
Carte PiJuice
sudo apt-get install pijuice-gui
Il faut aussi
Tkinter pour l’interface graphique
Pico2 (sudo apt-get install libttspico-utils)
pour la synthèse vocale (horloge parlante)
Pour afficher des photos en Python-Tkinter
sudo pip3 install Pillow
Attention :
L’écran « Configure HAT » pour configurer la PiJuice ne rentre pas en hauteur sur l’écran tactile 800×480…très gênant
il faut brancher un écran extérieur de résolution supérieure sur la sortie HDMI pour la configuration.
Ménager la pauvre carte SD
sudo nano /etc/fstab
Ajouter les lignes :
tmpfs /var/log tmpfs defaults,noatime,nosuid,mode=0755,size=100m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,nosuid,size=50m 0 0
reboot
Installation de l’écran TFT 5 pouces
Ecran 5 pouces 800×480 WaveShare
Modifs dans /boot/config.txt
# Gestion de l’écran
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
# Gestion du tactile
dtoverlay=ads7846,cs=1,penirq=25,penirq_pull=2,speed=50000,keep_vref_on=0,pmax=255,xohms=150
# Gestion de la rotation
display_rotate=0
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=2
Installer:
sudo apt-get install xserver-xorg-input-evdev
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/45-evdev.conf
sudo reboot
Pour affiner la gestion du tactile installez xinput-calibrator et suivez les infos données.
Mettre les paramètre dans :
sudo nano etc//X11/xorg.conf.d/99-calibration.conf
Section « InputClass »
Identifier « calibration »
MatchProduct « ADS7846Touchscreen »
Option « Calibration » « 200 3900 300 3910 »
Option « SwapAxes » « 0 »
End Section
La calibration est assez difficile pour faire correspondre le pointeur de la souris
Les photos du boîtier
Le logiciel
Télécharger le logiciel complet
Bien sûr tout est dans le soft pour animer la bête : Script Horloge-34.py en annexe ZIP avec la librairie clsCDBI . Il peut être commandé soit par l’écran tactile soit par les 3 boutons du boitier
Bouton BLEU
Choisir le mode d’affichage
- Analogique
- Digital
- Cadre Photo
- Configuration
Bouton Jaune
- Commande de la PiJuice
Bouton Rouge
- Confirmation et arrêt de l’alarme
- Début/Fin du Chrono
Inter
- Arrêt/Marche du rétro-éclairage de l’écran (280 mA en plus)
Les Photos sont redimensionnées en fonction de la résolution écran (affichée dans la fenêtre de configuration)
C’est un cadre photos (jpg,png,gif) et aucune Vidéos du dossier ne sera chargée
Ligne de Commande avec Arguments
Exec=python3 /home/pi/Scripts/horloge-34.py -360 200 100 1
- Largeur en Pixels si négatif, centrage écran et ignore les autres arguments de positions X et Y
- Position X
- Position Y
- Si 1, demande de chargement Photos
COUPURE D’ALIMENTATION
- si l’écran est allumé >>30 minutes sinon 90 minutes
Conclusion
Merci Christian pour cette horloge que chacun pourra réaliser, modifier à sa guise. A noter que les sons de l’alarme et des carillons sont fournis dans le fichier .zip.
Sources
Carte Pi Juice
Les réalisations de Christian
Picam avec détecteur infrarouge – Câble HDMI vers le Raspberry Pi
Utilisation simultanée de PiFace 2 et SenseHAT sur un Raspberry Pi (Episode III)
Ping : Un lanceur IP pour le Raspberry Pi - Framboise 314, le Raspberry Pi à la sauce française....
Ping : Un lanceur IP (version 2) et une sauvegarde pour le Raspberry Pi - Framboise 314, le Raspberry Pi à la sauce française....