Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Qu'il s'agisse de trotter dans le monde ou simplement de savoir quelle heure il est avant de faire cet appel tard dans la nuit, une horloge mondiale à 5 zones fait l'affaire. Comme j'ai reçu des écrans TM1637 à 7 chiffres supplémentaires dans mon dernier envoi, j'ai décidé de créer une horloge pour toutes les occasions. J'ai décidé d'utiliser un Arduino Uno pour le projet, qui fournissait suffisamment de GPIO pour 5 horloges, 5 indicateurs AM (LED) et un plafonnier activé avec un capteur tactile. La seule broche que je n'ai pas utilisée était D1, qui est pour le Tx série, ce qui ne pouvait que causer des problèmes. Alors si vous êtes intéressé, lisez la suite !
Étape 1: Pièces
Pour faire l'horloge j'ai utilisé:- Un Arduino Uno (mais un Nano ou Mega fonctionnerait aussi)
- (5) écrans TM1637
- (5) LED (à utiliser comme indicateurs AM/PM)
- (5) résistances 220 Ohm
- Horloge RTC3231
- Stick AdaFruit NeoPixel ou autre éclairage
- Capteur tactile pour activer la lumière
- Convertisseur Buck pour s'adapter à la consommation d'énergie
- Cadre ou étui (j'ai imprimé un étui en 3D, mais soyez créatif)
- Alimentation 12V avec prise barillet (pour permettre le fractionnement des alimentations)
- en option - shield Arduino Uno (juste pour le rendre un peu plus simple)
Étape 2: Commencer
Je suis encore nouveau sur le TM1637 alors j'en ai programmé un d'abord pour voir ce que je pouvais faire. Au début, cela n'a rien fait, mais la communauté Arduino est incroyable et m'a rapidement permis de devenir opérationnel. Sur mon TM1637, j'ai dû couper les 2 capuchons à l'arrière pour le faire fonctionner et à partir de là, juste quelques essais et erreurs. En fin de compte, je n'ai toujours pas pu obtenir de deux points pour l'horloge - cela "remplace" le chiffre de l'heure en position 1, mais ça me va pour le moment.
Ensuite, connectez d'abord une planche à pain avec tout pour vous assurer que toutes vos connexions et votre programmation correspondent - oui, je suis toujours un gars étape par étape. Décidez ensuite des emplacements souhaités et configurez vos emplacements cibles en trouvant les décalages horaires par rapport à l'heure GMT. Passons maintenant à la soudure et au positionnement.
Étape 3: Câblage
À l'aide d'un connecteur d'alimentation cylindrique pour l'entrée 12v, divisez l'alimentation et la masse entre le 1) convertisseur buck et 2) le Vin sur l'Arduino.
Utilisez le convertisseur buck pour créer des lignes d'alimentation 5v et de terre sur le blindage pour exécuter les connexions, cela stabilisera tous les problèmes d'alimentation.
Chaque TM1637 dispose de 4 connexions (5v, Grd, Data et Clock), les DIO et CLK allant aux broches GPIO individuelles (j'ai utilisé 2-11) et l'alimentation de mes lignes.
Pour les indicateurs Meridian (5 LED) soudez (5) 220 Ohm res à la terre et les connexions d'anode à A0-A3 et D12.
Le RTC a besoin d'un 5v et d'un Grd avec le SDA et le SCL (A4 et A5).
Le bâton lumineux doit être mis à la terre deux fois, une fois sur la rangée et une fois sur l'Uno. Exécutez le 5v sur la ligne et les données sur un GPIO (D13). Le capteur tactile fonctionne à 5v et Grd et à GPIO D0.
Étape 4: Programmation
La programmation est assez simple. J'ai utilisé la bibliothèque TM1637display.h pour les affichages, attribuant à chaque affichage un nom unique - de manière prévisible, avec le nom de la ville. Il suffit de changer les broches DIO et CLK pour chacun.
Codez votre premier emplacement avec le décalage horaire et réglez les périmètres AM/PM pour que la LED soit allumée/éteinte en fonction de l'heure. Utilisez-le pour dupliquer pour chaque emplacement.
J'ai assigné l'heure à la position 0, 2 chiffres, pas de zéro non significatif. Pour les minutes, j'ai utilisé "minute" et divisé par 10 pour le chiffre 1 (pos 2, 1 chiffre) et modulo (%) pour le chiffre 2 (pos 3, 1 chiffre).
L'éclairage du NeoPixel avec le capteur était comme n'importe quel autre combo bouton/LED utilisant la bibliothèque Adafruit_NeoPixel.
Facile.
Étape 5: Assemblage
Fabriquez un boîtier approprié qui s'adapte aux écrans et de l'espace derrière pour la carte, l'entrée d'alimentation et le convertisseur buck. Insérez, attachez les fils, allumez et c'est prêt. D'accord, il y a peut-être plus que cela, mais ce sont les bases, quelle que soit la conception.
Profitez-en et bon bricolage !