Table des matières:

Horloge matricielle Arduino : 6 étapes
Horloge matricielle Arduino : 6 étapes

Vidéo: Horloge matricielle Arduino : 6 étapes

Vidéo: Horloge matricielle Arduino : 6 étapes
Vidéo: ARDUINO LED MATRIX CLOCK (with WebServer) + Woodcase 2024, Novembre
Anonim
Horloge matricielle Arduino
Horloge matricielle Arduino

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

Bibliothèques
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

Câblage
Câblage
Câblage
Câblage
Câblage
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é: