Table des matières:
- Étape 1: Exigences
- Étape 2: Installation du logiciel
- Étape 3: Installation du logiciel - Pt.2
- Étape 4: Câblage matériel
- Étape 5: Broches GPIO sur Raspi
- Étape 6: Testez
- Étape 7: Dépannage
- Étape 8: Installation finale
Vidéo: Horloge numérique radio amateur Raspberry Pi : 8 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Aperçu
Les opérateurs de radio amateur (alias HAM Radio) utilisent 24 heures UTC (Universal Coordinated Time) pour une grande partie de leurs opérations. J'ai décidé de construire une horloge numérique en utilisant les écrans à 4 chiffres TM1637 à faible coût et un Raspberry Pi Zero W au lieu d'une simple horloge graphique. (Le matériel est amusant !)
L'affichage piloté par le TM1637 comporte quatre LED à 7 segments avec un deux-points centraux «: » entre deux ensembles de chiffres. Il nécessite deux fils pour piloter l'écran plus 5V + et la terre pour un total de 4 fils.
Pour ce projet particulier, je voulais que le Raspi obtienne son temps à partir de serveurs NTP (Network Time Protocol) via Internet. Je prévois une autre version de cette horloge pour fonctionner sur un module Arduino Uno et un module d'horloge en temps réel, lorsque aucun WiFi n'est disponible et pour un fonctionnement plus portable.
Je voulais également que l'horloge affiche l'heure locale aux formats 12h et 24h ainsi que l'UTC aux formats 12h et 24h. Le logiciel est conçu pour vous permettre d'utiliser seulement 24 heures UTC (jambons typiques) ou différentes heures sur jusqu'à 4 écrans différents.
Vous pouvez également définir le FUSEAU HORAIRE que vous souhaitez utiliser à la place de l'heure locale par défaut. Ainsi, chacun des quatre écrans pourrait afficher un fuseau horaire différent et au format 12h ou 24h.
Ce projet nécessite de souder des connecteurs ou des fils sur les modules Pi et/ou tm1637.
Des instructions complètes sont également disponibles sur GITHUB:
Étape 1: Exigences
• Raspberry Pi2, 3 ou Zero W. (c'est-à-dire n'importe quel pi avec l'en-tête 40 broches et Ethernet/Wifi)
• 4 - TM1637 Modules d'affichage à 4 chiffres
Et/ou
REMARQUE: vous pouvez en utiliser des plus grands ou des plus petits, à condition qu'ils soient compatibles TM1637.
• Faisceau de câbles avec 16 fils (chaque TM1637 a besoin de 4 fils)
• Planche à pain et fils sans soudure Ou
• Planche à pain soudable et divers connecteurs à broches.
• MicroSD 8 Go ou plus pour Pi
• Alimentation 5v pour Pi.
Étape 2: Installation du logiciel
Cette application utilise la bibliothèque Python TM1637.py facile à utiliser écrite par Tim Waizenegger. (Si vous voulez des détails sur la bibliothèque, consultez:
Le saviez-vous?
Si vous installez Raspbian sur une carte SD à l'aide d'un PC, vous pouvez créer deux fichiers sur la carte pour configurer l'accès WiFi et SSH avant de la démarrer sur un Raspberry ?
Pour cela, supposons que votre carte SD est actuellement montée en tant que K: sur votre PC:
1) Installez l'image Raspbian Lite sur la SD.
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2) Avec le bloc-notes, créez un fichier appelé simplement "ssh" et utilisez Enregistrer sous "Tous les fichiers" dans K:\ssh
Le fichier peut contenir n'importe quoi. C'est le nom du fichier qui est important. Ne doit PAS être « ssh.txt » !!!
3) Avec le bloc-notes, créez un deuxième fichier appelé "wpa_supplicant.conf" avec ce qui suit:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1 network={ ssid="mySSID" psk="mypassword" key_mgmt=WPA-PSK }
Utilisez Enregistrer sous "Tous les fichiers" dans K:\wpa_supplicant.conf
Encore une fois, ne laissez pas le Bloc-notes le changer en "wpa_supplicant.conf.txt" !!
Lorsque vous démarrez le Raspberry pour la première fois, Raspbian les recherchera et se connectera à votre Wifi. Vous devrez cependant rechercher l'adresse IP sur votre routeur, car elle est automatiquement attribuée.
Étape 3: Installation du logiciel - Pt.2
1. Si vous ne l'avez pas déjà fait, installez la version Raspbian Lite sur une carte microSD de 8 Go ou plus. Vous N'AVEZ PAS besoin de la version GUI, car ce projet n'utilise pas de moniteur ou de clavier.
REMARQUE !: Ce projet nécessite Python2.7 !
www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
2. Vous devrez accéder au Raspberry à distance via SSH. Sous Windows, vous pouvez utiliser le programme de terminal PUTTY SSH. Sur Mac, ouvrez simplement une fenêtre de terminal de commande.
3. Insérez la carte microSD dans le Pi et branchez l'alimentation maintenant. Il faudra quelques minutes pour démarrer.
4. Pour vous connecter à distance à votre Raspberry Pi, vous devrez trouver son adresse IP. Vous pouvez essayer: $ ssh [email protected] (Ou depuis Putty, entrez le nom d'hôte [email protected] Sinon, vous devrez voir si votre routeur affichera les adresses IP de vos périphériques locaux. L'identifiant/passwd par défaut est "pi /framboise"
Une fois connecté en tant qu'utilisateur pi:
5. Mettez à jour votre Raspbian: $ sudo apt update $ sudo apt upgrade
6. Configurez le Raspberry: $ sudo raspi-config a. Changer le mot de passe de l'utilisateur b. Options de localisation -> Changer le fuseau horaire Sélectionnez votre fuseau horaire local c. Tabulation pour terminer
7. Installez le logiciel RaspiDigiHamClock: $ cd /home/pi $ sudo apt update $ sudo apt install git $ git clone
8. Éteignez votre Pi pour configurer le matériel $ shutdown now Une fois le voyant éteint, débranchez l'alimentation
Étape 4: Câblage matériel
Vous pouvez souder des connecteurs sur les modules TM1637 et le Raspberry Pi (s'il n'en a pas déjà un). Avant de commencer, décidez comment vous souhaitez monter les écrans et si vous allez utiliser une maquette ou des fils à souder directement sur le Pi et les modules d'affichage.
Broches du module TM1637
Remarque sur le câblage: certains modules tm1637 inversent les broches +5v et GND ! Donc peut ne pas apparaître comme les photos.
Le module TM1637 est un module d'affichage à LED à 4 chiffres qui utilise la puce pilote TM1637. Il n'a besoin que de deux connexions pour contrôler l'affichage à 4 chiffres et à 8 segments. Deux autres fils alimentent l'alimentation 5+ volts et la terre.
PIN DESC CLK Horloge DIO Données In GND Masse 5V +5 volts
Certains modules tm1637 retournent les broches +5v et GND, alors vérifiez les marquages de votre module
Testez chaque module Je suggère de commencer avec un seul câble de connecteur femelle à 4 fils avec des connecteurs mâles soudés à l'un des modules et au Pi. Ensuite, connectez temporairement le premier module jusqu'aux broches indiquées ci-dessous.
TEST TEMPORAIRE D'UN MODULETM1637 Broche du module Pi Broche physique n° 5V 2 GND 6 CLK 40 DIO 38 Voir les diagrammes GPIO plus bas pour trouver la disposition des broches.
La deuxième photo montre deux écrans temporairement câblés à un Raspberry Pi 3 avec le logiciel en cours d'exécution.
1. Une fois que vous avez temporairement câblé un module et vérifié votre câblage
2. Mettez le Raspberry Pi sous tension. La LED rouge sur le module doit s'allumer, mais il n'y aura pas encore d'AFFICHAGE.
3. SSH dans votre Pi à nouveau comme précédemment.
$ cd RaspiDigiHamClock
$ python test.py
Vous devriez voir l'affichage défiler à travers divers messages courts. Si ce n'est pas le cas, vérifiez d'abord à nouveau votre câblage ! Il est facile de retourner un fil ou de le brancher sur la mauvaise broche GPIO du Pi. Si vous obtenez un message d'erreur Python, vérifiez votre version Python à l'aide de:
$ python -V (majuscule « V »)
Python 2.7. X
Je n'ai pas testé contre Python 3, donc je ne sais pas si la bibliothèque est compatible.
Copiez le message d'erreur (généralement la dernière ligne de l'erreur) et collez-le dans la recherche Google. Cela peut donner une idée de ce qui s'est passé.
Si votre module fonctionne, félicitations ! Vous savez que le module et Pi fonctionnent. Répétez maintenant pour chaque module pour le tester. (Je suggère d'arrêter Pi et de l'éteindre AVANT de brancher/débrancher les modules !!)
$ sudo s'arrête maintenant
Étape 5: Broches GPIO sur Raspi
Ce projet utilise les identifiants physiques GPIO BOARD pour les broches.
C'est la broche 1 à la broche 40. Pas la numérotation des broches GPIO "BCM". (Oui, un peu déroutant, mais BOARD n'est que le nombre de broches du haut à gauche vers le bas à droite.)
Module d'affichage TM1637 Broche du module Pi Broche physique#Alimentation 5V 2 Masse GND 6
Module #1 CLK 33
DIO 31
Module #2 CLK 36
DIO 32
Module #3 CLK 37
DIO 35
Module #4 CLK 40
DIO 38
Remarque: Vous n'avez pas besoin d'ajouter les 4 modules si vous le souhaitez. Vous pouvez avoir entre 1 et 4 modules. (Oui, il est possible d'accéder à plus de modules, mais vous devez modifier le code pour en prendre en charge davantage.)
MAIS, vous DEVEZ brancher les modules séquentiellement en commençant au module #1
C'est parce que la bibliothèque TM1637 attend un ACK du module et semble donc se bloquer en attendant autrement.
Exemples de photos de la planche à pain soudéeVous devez suivre votre propre schéma de câblage pour faire correspondre les broches GPIO illustrées précédemment, car les connecteurs et les modules que j'ai utilisés peuvent ne pas correspondre aux vôtres.
Étape 6: Testez
Wow, c'était un peu de câblage! C'est maintenant l'heure des tests de fumée…
Étant donné que vous connaissez déjà les modules individuels et le fonctionnement de Pi (vous avez testé les modules comme décrit précédemment ?), l'étape suivante consiste à configurer le fichier. INI et à exécuter le programme d'horloge:
1. Modifiez le fichier raspilock.ini
$ cd /home/pi/RaspiDigiHamClock
$ nano raspilock.ini
2. Remplacez num_modules par le nombre que vous avez câblé. Ceci est important car la bibliothèque se bloquera en attendant un ACK si elle ne peut pas parler à un module. Assurez-vous de câbler le nombre de modules, DANS L'ORDRE INDIQUÉ dans le. INI Remarque: Les broches TZ, HR et GPIO supplémentaires sont ignorées si num_modules est inférieur à 4.
3. Ajoutez des fuseaux horaires pour chaque module.
Il s'agit de noms Linux TZ, tels que « America/New_York », EST5EDT, UTC ou « Local » pour votre fuseau horaire local défini via raspi-config. La valeur par défaut est UTC
4. Définissez s'il faut afficher le mode 12h ou 24h pour chaque module
[L'HORLOGE]; Nombre de modules TM1637 (entre 1 et 4) num_modules = 2
; Fuseaux horaires pour chaque module
; Utilisez raspi-config pour définir le fuseau horaire local; La valeur par défaut est UTC; Le format est les noms Linux TZ ou 'Local' pour l'heure locale; 'Amérique/New_York', EST5EDT, UTC, 'Local' TZ1 = Local TZ2 = UTC TZ3 = TZ4 =
; 12/24 heures pour chaque module
HR1 = 12 HR2 = 24 HR3 = 12 HR4 = 24
; LUMINOSITÉ (plage 1..7)
LUM = 1
5. Vous ne devriez pas avoir à modifier les broches GPIO, sauf si vous les branchez dans des numéros de broche différents sur le Pi.
6. Enregistrez les modifications, puis exécutez l'horloge:
$ python raspilock.py
Si tout va bien, tous vos modules d'affichage devraient s'allumer avec les heures définies dans le fichier. INI.
Toutes nos félicitations! Ignorez le dépannage et accédez à l'installation finale…
Étape 7: Dépannage
Vous devriez voir apparaître des messages de débogage simples:
Initialisation…Nombre de modules = 4 Démarrage de la boucle d'horloge… Module#1 displayTM() Module#2 displayTM() Module#3 displayTM() Module#4 displayTM() (répétition…)
Si vous avez testé les modules précédemment et qu'ils ont tous fonctionné, alors vous savez que les modules et Raspberry sont bons.
A) HANG – Si les messages de débogage semblent se bloquer à un endroit, le programme attend un ACK de ce module#.
Vérifiez d'abord votre câblage! Il est facile de retourner un fil ou de le brancher sur la mauvaise broche GPIO du Pi.
Deuxièmement, échangez des modules pour voir si un module a soudainement mal tourné.
Troisièmement, recherchez les erreurs dans le fichier raspilock.ini. Si nécessaire, supprimez l'intégralité du répertoire et effectuez un autre GIT CLONE pour le récupérer à nouveau.
Quatrièmement, vérifiez à nouveau votre câblage !;-)
B) Si vous obtenez un message d'erreur Python, vérifiez votre version Python en utilisant:
$ python -V (majuscule « V »)
Python 2.7. X
Je n'ai pas testé contre Python 3, donc je ne sais pas si la bibliothèque est compatible. Copiez le message d'erreur (généralement la dernière ligne de l'erreur) et collez-le dans la recherche Google. Cela peut donner une idée de ce qui s'est passé.
Étape 8: Installation finale
1. Modifiez à nouveau le fichier. INI et définissez debug = 0.$ cd /home/pi/RaspiDigiHamClock
$ nano raspilock.ini
2. Vérifiez également que les fuseaux horaires TZ et les paramètres HR 12/24 heures sont ceux que vous désirez.
3. Réglez la luminosité comme vous le souhaitez entre 1 et 7.
4. Exécutez le script install.sh à ajouter à pi crontab pour un démarrage automatique au démarrage.
$ sh install.sh
5. Redémarrez
$ sudo redémarrer
6. Il devrait redémarrer, puis démarrer.
FINI!
Conseillé:
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino: 3 étapes
Comment faire une horloge analogique et une horloge numérique avec une bande LED à l'aide d'Arduino Horloge numérique avec Led Strip et module MAX7219 Dot avec Arduino. Elle corrigera l'heure avec le fuseau horaire local. L'horloge analogique peut utiliser une bande LED plus longue, elle peut donc être accrochée au mur pour devenir une œuvre d'art
Premiers pas avec la radio-amateur : 5 étapes (avec photos)
Premiers pas avec la radio amateur : En tant que titulaire d'une licence de radio amateur récemment, je souhaite transmettre le processus que j'ai suivi pour entrer dans la radio amateur. J'ai été attiré par l'aspect d'autonomie du passe-temps, donnant aux gens un moyen de communiquer lorsque d'autres méthodes sont perturbées. Mais c'est aussi gratifiant de
Antenne radio amateur sur le toit urbain : 8 étapes (avec photos)
Antenne radio amateur sur le toit urbain : j'ai récemment installé une antenne radio amateur sur mon toit afin d'obtenir un meilleur signal à l'intérieur de mon appartement, qui n'est pas situé à un étage élevé. En tant qu'ultra débutant sans beaucoup d'investissement dans le hobby, il était parfaitement acceptable de devoir grimper sur le toit t
Comment remplacer la pile mémoire sur un radio-amateur Htx202 ou Htx404 : 7 étapes (avec photos)
Comment remplacer la batterie de la mémoire sur un radioamateur Htx202 ou Htx404 : Un grand nombre de récepteurs et d'émetteurs-récepteurs de radio amateur fabriqués au cours des 35 dernières années contiennent une forme de batterie de sauvegarde de mémoire. Le but de cette batterie est de conserver les fréquences et les réglages programmés en mémoire lorsque l'alimentation est coupée
Horloge numérique Arduino avec fonction d'alarme (PCB personnalisé) : 6 étapes (avec photos)
Horloge numérique Arduino avec fonction d'alarme (PCB personnalisé) : dans ce guide de bricolage, je vais vous montrer comment créer votre propre horloge numérique avec cette fonction d'alarme. Dans ce projet, j'ai décidé de créer mon propre PCB basé sur le microcontrôleur Arduino UNO - Atmega328p. Vous trouverez ci-dessous le schéma électronique avec PCB l