Table des matières:
- Fournitures
- Étape 1: Connectez les composants
- Étape 2: Pièces imprimées en 3D
- Étape 3: Le code
- Étape 4: Fonctionnement et paramètres
Vidéo: Horloge de retraite / Compte à rebours / Horloge Dn : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
J'avais quelques-uns de ces écrans à matrice de points LED 8x8 dans le tiroir et je réfléchissais à ce que je devais en faire. Inspiré par d'autres instructables, j'ai eu l'idée de construire un affichage de compte à rebours/up pour compter jusqu'à une date/heure future et si le temps cible est passé, comptez à partir de celui-ci. J'en ai fait maintenant mon horloge de retraite assise sur l'étagère.
L'idée de le mettre dans une bouteille était plus un accident en pensant à un étui. D'autres mettent des bateaux dans une bouteille, pourquoi pas une horloge ?
Je voulais également que l'horloge obéisse à l'heure d'été et, bien sûr, se souvienne des paramètres et de l'heure lorsqu'elle est débranchée. J'alimente l'horloge via USB, ce qui la rend reprogrammable si vous souhaitez faire quelque chose de différent ou simplement ajouter des fonctionnalités au code. Le code est assez simple et pourrait également nécessiter beaucoup d'optimisation. Je n'ai pas pris grand soin de la consommation de RAM je dois l'avouer. Si j'ai le temps et la motivation, j'y reviendrai.
Fournitures
1. Arduino Nano
2. RTC (j'ai utilisé le DS3231 commun qui a aussi une EEPROM)
3. Module matriciel 12x 8x8. (J'ai eu les modules quad qui sont plus faciles à aligner)
4. LDR pour régler la luminosité de l'écran
5. Résistance 10 kOhm
6. Condensateur 5x 100 uF supprimant les pointes de l'écran
7. Pour augmenter le contraste des modules 8x8, j'ai utilisé le "Film pour fenêtre" teinté foncé. L'écran affiche les LED sous forme de points blancs s'ils ne sont pas allumés. Le film pour vitres lui donne un aspect noir brillant.
Étape 1: Connectez les composants
J'ai utilisé trois des écrans quad pour assembler l'écran. Pour afficher une date avec des barres obliques et l'heure avec des deux-points, nous avons besoin d'un espace pour 8 caractères. En utilisant la police 5x7 typique, nous aurions besoin de six blocs 8x8 par ligne. J'ai coupé l'un des blocs quad en deux et les ai disposés en deux rangées par six blocs, comme indiqué sur le schéma de la planche à pain.
Étape 2: Pièces imprimées en 3D
Pour tenir les deux rangées du présentoir et les positionner dans la bouteille, j'ai imprimé des anneaux d'écartement ronds pour le cadre du présentoir. J'ai ajouté les fichiers que j'ai utilisés ci-dessous. Pour pouvoir les imprimer sans support, ils sont divisés en plusieurs parties. La capture d'écran montre les deux anneaux collés au cadre de l'écran. Le couvercle du goulot de la bouteille abrite les trois boutons pour basculer entre les modes d'affichage et régler l'heure actuelle et l'heure cible. Le cache goulot que j'ai imprimé en TPU permettant de glisser le câble USB dans le cache sans couper les connecteurs et de l'attacher avec quelques enroulements de fil. J'ai oublié de mentionner que j'ai utilisé une bouteille de vin de 1,5 L que j'ai coupée tout en bas. Toutes les pièces à imprimer s'adaptent sur un lit d'imprimante de 20x20 cm (8x8 pouces).
Étape 3: Le code
Le code Arduino utilise quelques bibliothèques couramment utilisées.
MD_MAX72xx
SPI
Câble
RTClib
Fuseau horaire
TimeLib
Il y a quelques lignes dans le fichier INO qui peuvent avoir besoin d'être modifiées:
Ligne 38: #define HARDWARE_TYPE MD_MAX72XX::FC16_HW <-- dépend du module 8x8 et de son orientation
au lieu de FC16_HW, il pourrait l'un de:
- MD_MAX72XX::PAROLA_HW
- MD_MAX72XX::GENERIC_HW
- MD_MAX72XX::ICSTATION_HW
- MD_MAX72XX::FC16_HW
Le code utilise les paramètres de l'heure centrale des États-Unis et doit être ajusté pour d'autres fuseaux horaires:
Ligne 53/54:
TimeChangeRule myDST = {"CDT", Second, Sun, Mar, 2, -300}; // Heure d'été UTC-5TimeChangeRule mySTD = {"CST", First, Sun, Nov, 2, -360}; // Heure standard UTC -6
C'est facile à régler. Le nom CST/CDT est juste pour avoir une référence. Je n'affiche pas l'abréviation à trois lettres, donc cela n'a pas d'importance. Les paramètres suivants font référence au jour du mois où le changement a lieu. L'ajustement est en minutes, donc les emplacements utilisant des ajustements de +/- 30 minutes fonctionneront également.
Le RTC s'exécute en interne à l'heure UTC, ce qui permet à la bibliothèque de fuseaux horaires de fonctionner comme prévu. Vous vous demandez peut-être pourquoi le code fait référence à l'ancienne puce DS1307 contrairement à la puce d'horloge que j'ai utilisée, mais cela n'a pas d'importance. La bibliothèque fonctionne bien avec l'une ou l'autre puce. Le DS1307 a tendance à plus dériver que le DS3132. la DS3132 est l'horloge préférée. Pour ceux qui souhaitent ajouter du temps Internet, un ESP8266 fera le travail assez facilement. Cela pourrait rendre le RTC obsolète. Si vous effectuez ces modifications, utilisez l'EEPROM Arduino pour stocker l'heure cible, j'ai utilisé l'EEPROM RTC pour le faire.
Étape 4: Fonctionnement et paramètres
Il y a trois boutons
1. Menu/paramètres
2. Haut
3. Vers le bas
Le bouton de menu permet de parcourir les trois types d'affichage: heure actuelle, heure cible, heure delta. L'heure Delta indique le nombre de jours, HH/MM/SS entre l'heure actuelle et l'heure cible. Il affichera t- et décompte si la cible est dans le futur ou t+ et décompte si la cible est dans le passé.
Pour régler l'heure actuelle ou cible, sélectionnez l'affichage de l'heure actuelle ou de l'heure cible. Pour changer l'heure, maintenez le bouton menu enfoncé pendant 2 secondes et relâchez ce qui vous amènera dans le mode de réglage. Le voisin "/" ou ":" se transformera en "" pour indiquer quel chiffre vous ajustez. Utilisez les boutons haut/bas pour régler individuellement hh/mm/ss et mm/dd/yy. Je n'ai pas ajouté de paramètre pour basculer entre mm/jj/aa et jj/mm/aa, cela doit être modifié dans le code ou peut-être que quelqu'un est prêt à ajouter cette fonctionnalité.
Vous remarquerez que si vous passez les minutes au-dessus de 59 ou en dessous de 00, l'affichage de l'heure s'ajustera également. il en est de même pour les secondes, les heures et les jours en changeant la valeur immédiatement supérieure s'ils passent en dessous de 0 ou au-dessus du max pour ce chiffre. J'ai fait cela pour éviter de programmer les différentes limites de mois individuels et si février a besoin de 29 jours dans une année bissextile. Le réglage de l'heure se fait en fait en temps d'époque, en secondes depuis le 1er janvier 1970.
J'ai ajouté une vidéo simple pour montrer le comptage. Je voulais les faire comme un affichage à roue tournante. Si vous souhaitez ajuster la durée du changement, la ligne 69 de l'INO vous offre quelques options pour accélérer ou ralentir le changement. 120 ms rendraient le défilement des chiffres assez lent car ce serait une roue qui tournerait en continu.
J'espère que vous avez apprécié cette instructable.
Patrick Geschwindner
Conseillé:
Horloge de compte à rebours d'inauguration présidentielle (Wifi) : 6 étapes
Horloge de compte à rebours d'inauguration présidentielle (Wifi) : aperçu : l'horloge de compte à rebours est similaire aux produits commerciaux, avec quelques rebondissements : dans ce cas, le REM chanson : &ld
Compte à rebours Arduino avec bouton de repos : 4 étapes
Compte à rebours Arduino avec bouton de repos : ce Instructable vous apprendra comment créer un compte à rebours à l'aide d'un affichage à 7 segments à 4 chiffres qui peut être réinitialisé avec un bouton. J'ai eu l'idée de le faire parce qu'en créant l'affichage à 1 chiffre à 7 segments en classe, je voulais créer quelque chose
Compte à rebours utilisant GLCD Shield : 8 étapes (avec photos)
Compte à rebours à l'aide de GLCD Shield : dans ce projet, je dessine un compte à rebours sur 1sheeld GLCD shield, l'utilisateur de ce projet peut déterminer la durée de la minuterie à l'aide du bouton dessiné sur le GLCD, lorsque la minuterie atteint 0, il y aura un son et des vibrations
Faites un compte à rebours avec Micro:bit : 5 étapes
Faire un compte à rebours avec Micro:bit : Le compte à rebours est très courant dans notre vie quotidienne. Cela aide à vous rappeler de faire quelque chose à temps en cas de retard ou d'erreur possible. Par exemple, un podomètre ou une minuterie de cuisson. Aujourd'hui, nous allons utiliser micro:bit, power:bit et une base acrylique b
Une horloge de compte à rebours avec LED : 3 étapes
Une horloge de compte à rebours avec LED : voici quelques brèves notes sur une « horloge de compte à rebours » que j'ai construite il y a 10 ans pour l'an 2000. L'horloge mesure 4 pieds carrés de l'avant. Il mesure environ 4 pouces d'épaisseur et fonctionne sur un microcontrôleur intégré. Chaque segment est composé d'environ 20 LED de 10 mm. I CA