• Post category:Uno
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :mars 13, 2022
  • Temps de lecture :5 min de lecture

Afficher la valeur d’un DS1302 sur écran LCD 16×2 avec Arduino *

 

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino
  • 1 x Module DS1302
  • 1 x Potentiomètre 10 KΩ
  • 1 x Résistance 220 Ω
  • 1 x Ecran LCD 16×2
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

Bibliothèque :

  • DS1302.h 
  • LiquidCrystal.h 

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

 

Code :

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#include <DS1302.h>
DS1302 rtc(10, 9, 8);
Time t;

void setup()
{
rtc.halt(false);
Serial.begin(9600);

//Active = false Desactive = true la protection en ecriture pour mettre à jour heure et la date
rtc.writeProtect(false);
rtc.setDOW(FRIDAY); // Jour a FRIDAY
rtc.setTime(19, 10, 0); // Heure a 15:14:00 (format sur 24 heure)
rtc.setDate(02, 06, 2020); // Date au 28 juin 2020
/////////////////////////////////////
lcd.begin(16, 2);
lcd.clear();
}

void loop()
{
t = rtc.getTime();
String date;
String month;
String year;
String hour;
String min;
String sec;
date = String(t.date);
month = String(t.mon);
year = String(t.year);
hour = String(t.hour);
min = String(t.min);
sec = String(t.sec);
// Affichage de la date
lcd.setCursor(0, 0);
lcd.print ("Date:");
if(t.date<10)
{
date = "0"+date;
lcd.setCursor(6, 0);
lcd.print (date+"/");
}else
{
lcd.setCursor(6, 0);
lcd.print (date+"/");
}
if(t.mon<10)
{
month = "0"+month;
lcd.setCursor(9, 0);
lcd.print (month+"/");
}else
{
lcd.setCursor(9, 0);
lcd.print (month+"/");
}
lcd.setCursor(12, 0);
lcd.print (year);
// Affichage de l'heure
lcd.setCursor(0, 1);
lcd.print ("Heure:");
if(t.hour<10)
{
hour = "0"+hour;
lcd.setCursor(7, 1);
lcd.print (hour+":");
}else
{
lcd.setCursor(7, 1);
lcd.print (hour+":");
}
if(t.min<10)
{
min = "0"+min;
lcd.setCursor(10, 1);
lcd.print (min+":");
}else
{
lcd.setCursor(10, 1);
lcd.print (min+":");
}
if(t.sec<10)
{
sec = "0"+sec;
lcd.setCursor(13, 1);
lcd.print (sec);
}else
{
lcd.setCursor(13, 1);
lcd.print (sec);
}
delay (1000);
}

 


 

Laisser un commentaire