Table des matières:
- Étape 1: Rassemblez les composants
- Étape 2: Bibliothèques
- Étape 3: Tester vos composants
- Étape 4: Câblage
- Étape 5: CODE
- Étape 6: Conclusion
Vidéo: Horloge matricielle Arduino : 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
La description:
Construisez votre horloge à l'aide d'un Arduino, d'un affichage matriciel et d'un module d'horloge temps réel (RTC). C'est un projet amusant et simple que je trouve idéal pour les débutants. L'horloge utilise le module RTC pour suivre avec précision l'heure ainsi que le jour, le mois et l'année. De plus, le module dispose d'un capteur de température intégré. Vous pouvez en savoir plus sur le module DS3231 ici ainsi que sur le bus de communication I2C utilisé pour celui-ci ici. Enfin, nous utiliserons un affichage matriciel pour bien sûr, afficher l'heure, le jour de la semaine, le mois, etc. Vous pouvez en savoir plus sur l'écran ici et le pilote IC MAX7219 dans la fiche technique ci-dessous.
Vous pouvez également télécharger la version pdf de ce projet ici. C'est pratiquement le même que cette instructable.
[MISE À JOUR: 22/02/19] N'utilisez pas le guide pdf, j'ai mis à jour cette instructable mais ces changements ne sont pas encore reflétés sur le pdf.
Étape 1: Rassemblez les composants
Les composants dont vous aurez besoin pour ce projet:
- Écran matriciel Max7219 [Acheter ici] [Fiche technique]
- RTC DS3231 [Acheter ici] [Fiche technique]
- Pile 3V CR3032 (pour DS3231)
De plus, vous aurez besoin d'un Arduino de tout type (de préférence un Nano pour minimiser la taille du projet), d'une maquette, de câbles de raccordement ainsi que de l'IDE Arduino installé sur votre PC.
Étape 2: Bibliothèques
Téléchargez les bibliothèques suivantes et installez le fichier.zip sur l'IDE Arduino en allant dans Sketch > Inclure la bibliothèque > Ajouter la bibliothèque. Zip
REMARQUE: LES VERSIONS COMPTENT !
* Vérifiez que vous disposez des versions correctes avant de télécharger. Je recommanderais de télécharger chaque bibliothèque dans l'IDE Arduino pour être du bon côté.
MD_Parola 3.0.1:
MD_MAX72XX 3.0.2:
DS3231 1.0.2:
Alternativement, Dans l'IDE Arduino, allez dans Sketch > Inclure la bibliothèque > Gérer les bibliothèques et dans la barre de recherche, tapez: « MAX72XX » et vous devriez voir ce qui suit (voir image):
Installez uniquement MD_MAX72XX et MD_Parola. MD_MAXPanel n'est PAS nécessaire.
Étape 3: Tester vos composants
Après avoir installé les bibliothèques, testez vos composants individuellement pour vous assurer qu'ils fonctionnent comme ils le devraient. Veuillez suivre ces étapes avant de tout câbler ensemble
Pour tester le module RTC DS3231, connectez le DS3231 à l'Arduino (voir Câblage ci-dessous). Ensuite, dans l'IDE Arduino, accédez à Fichiers> Exemples> DS3231> DS3231_Test et téléchargez le croquis. Ouvrez le moniteur série et vérifiez que vous obtenez la date, l'heure, le jour, etc.
Pour tester l'affichage matriciel, connectez-le d'abord à l'Arduino (voir Câblage ci-dessous). Ensuite, dans l'IDE Arduino, accédez à Fichiers > Exemples > MD_Parola > Parola_HelloWorld et téléchargez le croquis. Vous devriez voir BONJOUR imprimé sur l'écran et il peut ou non être imprimé à l'envers. Si le texte est à l'envers, vous devez modifier la ligne suivante:
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
À
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
Téléchargez à nouveau le croquis et le problème devrait être résolu.
Maintenant que nous avons testé nos composants, nous sommes prêts à tout câbler ensemble !
Étape 4: Câblage
Reportez-vous au diagramme ou au schéma ou au tableau
Étape 5: CODE
Obtenez le code ici
Remarque: j'ai utilisé à l'origine un code d'Electronic Projects, mais je l'ai modifié pour prendre en charge les bibliothèques actuelles (au moment de l'achèvement).
Caractéristiques de l'horloge:
L'horloge est automatiquement réglée pour indiquer l'heure au format 24 heures, mais elle peut être facilement modifiée en 12 heures. L'horloge affichera également la température (en degrés Celsius et Fahrenheit). J'ai également inclus une fonction appelée "Mode veille" qui est réglée sur "OFF" (voir Mode veille ci-dessous pour plus de détails).
Format 12 heures: pour régler l'horloge pour qu'elle indique l'heure au format 12 heures, vous devrez commenter la ligne 88
heure =Horloge.gethour(h12, PM); Format //24h
Et décommentez les lignes 93 à 100
if (Clock.getHour(h12, PM)>=13 || Clock.getHour(h12, PM)==0)
{ h = Horloge.getHour(12, PM) - 12; } else { h = Clock.getHour(h12, PM); }
Mode veille:
Il s'agit d'une fonctionnalité qui permet de réduire la luminosité de l'horloge, en particulier pendant les heures où nous dormons. Je ne pense pas que vous vouliez vous réveiller au milieu de la nuit et être aveuglé par cette horloge. Il est très lumineux même lorsqu'il est au réglage le plus bas. Pour activer le mode veille, décommentez les lignes 177 à 184
if(h == 12 || h<8) //Intervalles de temps (dans ce cas, de 12h à 8h) { P.setIntensity(0); //Réglez la luminosité de l'écran au réglage le plus bas } else { P.setIntensity(6); //Régler la luminosité de l'écran sur 6 (15 est la plus lumineuse) }
Remarque: j'ai rencontré un problème lors de l'utilisation du mode veille alors que l'horloge est réglée sur le mode 12 heures. Vous remarquerez qu'il fonctionnera deux fois par jour puisque 8h et 20h sont interprétés comme 8. Donc, si vous définissez le mode veille pour qu'il soit actif de 21h à 7h, il sera également actif de 9h à 19h. CEPENDANT, ce problème ne se produit pas si l'horloge est réglée sur le mode 24 heures.
Étape 6: Conclusion
Félicitations!!! Vous avez une horloge qui fonctionne. C'est ainsi que le mien s'est avéré [Clock Gallery]. J'espère que vous en avez non seulement appris un peu plus sur les composants et le codage, mais que vous avez apprécié le voyage pour y arriver. Veuillez partager avec moi vos réflexions sur ce guide à [email protected]. C'est en fait mon premier guide de projet et j'espère qu'il vous a bien servi. J'espère créer beaucoup plus de guides. De plus, si vous avez des questions, des suggestions et/ou des améliorations sur le projet, n'hésitez pas à m'envoyer un message.
Conseillé:
Horloge matricielle LED ESP8266 : 8 étapes (avec images)
Horloge matricielle LED ESP8266 : Horloge matricielle LED ESP8266Horloge matricielle LED simple basée sur le populaire ESP8266 avec module d'horloge en temps réel et synchronisation de l'heure via WiFi à partir d'un serveur NTP.NOUVEAU ! Version ESP32 également disponible
Horloge matricielle LED ESP32 : 8 étapes
Horloge matricielle LED ESP32 : c'est une continuation du projet d'horloge matricielle LED ESP8266. L'auteur du code original l'a mis à jour pour ESP32 (un grand merci à schreibfaul1 !) J'ai donc décidé de mettre également à jour l'horloge que j'ai déjà faite
Horloge matricielle LED 8x8 et avertissement anti-intrusion : 4 étapes (avec photos)
Horloge matricielle LED 8x8 et avertissement anti-intrusion : dans ce Instructable, nous verrons comment construire une horloge matricielle LED 8x8 activée par détection de mouvement. Cette horloge peut également être utilisée comme dispositif anti-intrusion qui envoie un message d'avertissement si un mouvement est détecté à un bot de télégramme !!! Nous ferons avec deux différents
Organiseur de bureau avec horloge matricielle LED et Bluetooth : 7 étapes
Organiseur de bureau avec horloge matricielle LED et Bluetooth : Mon bureau était très encombré et je voulais avoir un bel organisateur où je pourrais ranger mes crayons, pinceaux, outils en argile, etc. J'ai regardé de nombreux organisateurs sur le marché mais je n'ai aimé aucun d'entre eux . Je me suis mis à concevoir mon propre organisateur de bureau et ici
ESP8266 Horloge réseau sans RTC - Nodemcu NTP Horloge Pas de RTC - PROJET HORLOGE INTERNET : 4 étapes
ESP8266 Horloge réseau sans RTC | Nodemcu NTP Horloge Pas de RTC | PROJET D'HORLOGE INTERNET: Dans le projet, un projet d'horloge sans RTC prendra du temps sur Internet en utilisant le wifi et l'affichera sur l'écran st7735