Dans ce projet, je vais vous montrer comment créer vous-même une horloge Arduino
Avec cette horloge Arduino, vous pouvez voir la date et l'heure.
Dans ce projet, nous utilisons un écran LCD 16 × 2, un module d'horloge temps réel et un potentiomètre. L'horloge temps réel (désormais RTC) est en fait une montre mais sous une forme électronique. Si la puissance de l'Arduino est perdue, le RTC continuera à fonctionner car il fonctionnera sur une petite batterie. De cette façon, il peut garder une trace du temps pendant 7 ans. Ceci est particulièrement utile si vous souhaitez faire fonctionner l'horloge Arduino sur une batterie. Si la batterie est épuisée, vous ne devez pas toujours régler l'heure correctement. Nous utilisons le potentiomètre pour changer la luminosité de l'écran LCD.
- Niveau - moyen 45%
- Durée - 40/60 Min 45%
- Coûts - 48.85 € complets 30%
Étape 1: Fournitures
Étape 2: Construire et câbler
Maintenant, nous allons construire le projet
Nous allons commencer par souder les en-têtes de broches au RTC. Faites cela selon les images ci-dessous. Si vous regardez bien vous pouvez voir que j'ai mis le RTC à l'envers sur le painboard ont placé. J'ai fait ça pour qu'il soit meilleur sur le painboard convient car mes en-têtes de broches n'étaient pas assez longs. Vous devez voir par vous-même ce que vous trouvez le plus facile. Assurez-vous que vous utilisez les bonnes connexions sur le RTC.
Après avoir soudé les en-têtes d'épingle, vous pouvez placer les composants selon le dessin. Ensuite, vous pouvez commencer à câbler les composants et l'Arduino.
Il est important que vous connectiez les bons composants aux bonnes broches Arduino, sinon le code ne fonctionnera pas!
RTC -> Arduino Uno
SCL -> broche A5
SDA -> broche A4
VCC -> 5 V
GND -> GND
LCD -> Arduino Uno
VSS -> GND
VDD -> 5 V
VO -> signal du potentiomètre
RS -> broche 12
RW -> GND
E -> broche 11
D4 -> broche 5
D5 -> broche 4
D6 -> broche 3
D7 -> broche 2
A -> 5 V
K -> GND
Étape 3: programmation
Maintenant que vous avez terminé le câblage et la construction de votre alarme Arduino, vous pouvez commencer à programmer le Arduino Uno.
Pour ce code, nous devons également ajouter une bibliothèque.
Un fichier Library ou Include contient souvent du code qui peut souvent être réutilisé dans d'autres esquisses. Les bibliothèques (bibliothèques) sont souvent un ensemble de fonctions associées destinées à une application particulière. Par exemple pour contrôler une bande avec des LED, des fonctions mathématiques spéciales ou par exemple pour contrôler un écran LCD.
Nous utilisons la bibliothèque pour le RTC, sinon il ne sait pas quoi faire.
Téléchargez la bibliothèque ici
Pour ajouter la bibliothèque à l'EDI, nous devons copier ou déplacer le dossier RTC vers les bibliothèques de dossiers.
ce dossier se trouve normalement dans C: \ Users \ (nom) \ Documents \ Arduino \ bibliothèques
Vous pouvez ensuite copier et coller complètement le code ci-dessous dans l'IDE Arduino.
Téléchargez le code sur le Arduino Uno et voir si cela fonctionne.
L'écran LCD doit s'allumer et afficher la date et l'heure correctes.
Avec le potentiomètre, vous pouvez modifier la luminosité de l'écran LCD.
Si c'est le cas où l'écran LCD est allumé mais n'indique rien, vous devez tourner le potentiomètre vers la gauche ou la droite.
Maintenant, copiez le code ci-dessous dans votre programme Arduino, nous vous recommandons de le copier vous-même car vous en apprendrez plus.
#comprendre
#comprendre // assurez-vous de placer le dossier RTC dans le bon dossier des bibliothèques
#comprendre
RTC_DS1307 RTC ;
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2 ;
LCD LiquidCrystal (rs, en, d4, d5, d6, d7);
void setup() {
Serial.begin (9600);
Wire.begin ();
RTC.begin ();
lcd.start (16, 2);
// la phrase suivante changera l'heure du RTC au moment où ce code est téléchargé sur l'Arduino
RTC.adjust (DateHeure (_DATE, __TIME_));
}
boucle void () {
DateTime now = RTC.now ();
lcd.setCursor (4,0);
lcd.print (now.day (), DEC);
lcd.print ('/');
lcd.print (now.month (), DEC);
lcd.print ('/');
lcd.print (now.year (), DEC);
lcd.print ('');
lcd.setCursor (4,1);
lcd.print (now.hour (), DEC);
lcd.print (':');
lcd.print (now.minute (), DEC);
lcd.print (':');
lcd.print (now.second (), DEC);
lcd.print ('');
délai (1000);
}
J'espère que vous avez réussi à fabriquer l'horloge Arduino!
Un autre commentaire que je veux ajouter à ce projet: le fait que vous chargiez toujours le RTC avec une ancienne date lorsque vous éteignez et rallumez la configuration est bien sûr extrêmement étrange, pourquoi avez-vous besoin d'une batterie de secours. Vous devez absolument supprimer le chargement de cette date si vous souhaitez utiliser l'horloge normalement. Vous devez en fait concevoir un mécanisme pour régler l'horloge. Je l'ai fait avec un encodeur dit rotatif, mais vous pouvez également connecter quelques boutons poussoirs à votre arduino.
Le lendemain, il s'est rallumé, puis il s'est avéré fonctionner. Il a peut-être fallu un peu de temps pour s'y habituer. Le temps a maintenant 15 heures de retard.
Salut Jan,
Merci pour votre réponse. Pouvez-vous télécharger à nouveau le code? L'heure actuelle est ensuite également téléchargée sur l'Arduino.
Bonne chance pour ton projet!
Je veux dire, je ne vois pas encore d'heure sur l'écran.
Ce n'est pas ainsi que le code fonctionne, pour commencer, vous ne devez pas utiliser de qoutes étranges (guillemets ouverts et fermés) avec les instructions d'impression appartenant à un traitement de texte. Les guillemets doivent donc tous être remplacés par des guillemets ascii normaux. De plus, cela fonctionne RTC.adjust (DateTime (_DATE, __TIME_)); soit, il doit être (__DATE__, __TIME__).
Je l'ai maintenant construit et ai mis le programme dedans, mais je le vois toujours apparaître sur l'écran pendant un moment.