bonjour,
j'ai un soucis, en effet quand je transfert mon code ou les deux composants sont ensemble l'écran LCD ne fonctionne pas (clignote avec aucun caractère.
mais quand j'utilise le même code en supprimant le code pour le RTC alors l'écran fonctionne
voici le code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD(0x27, 16, 2); // définit le type d'écran lcd 16 x 2
#include "RTClib.h"
char daysOfTheWeek[7][12] = {"dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"};
RTC_DS3231 rtc;
// Capteur HC04 - Entrée du magasin
int trig_c1 = 3;
int echo_c1 = 2;
float lecture_echo_c1;
float distance_c1;
// Distance permettant de définir si une personne est entrée. Ici, 50cm.
int capture = 300;
// Initialisation de la variable permettant de compter
int compteur;
// Déterminer ici la limite du nombre de clients dans le magasin
int limite = 10;
void setup()
{
// Capteur HC04 - Entrée du magasin
pinMode(trig_c1, OUTPUT);
digitalWrite(trig_c1, LOW);
pinMode(echo_c1, INPUT);
// Liaison Série
Serial.begin(9600);
LCD.init(); // initialisation de l'afficheur
LCD.init();
LCD.backlight();
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
//rtc.adjust(DateTime(2022, 7, 6, 13, 10, 0));
}
}
void loop() {
// Lecture de la distance sur le capteur à l'entrée du magasin
digitalWrite(trig_c1, HIGH);
delayMicroseconds(10);
digitalWrite(trig_c1, LOW);
lecture_echo_c1 = pulseIn(echo_c1, HIGH);
distance_c1 = lecture_echo_c1 / 58;
Serial.print("Distance - Capteur 1 : ");
Serial.println(distance_c1);
delay(100);
if (distance_c1 < capture) {
// On ajoute 1 au compteur
compteur = compteur + 1;
delay (2000);
}
// Affichage de la variable du compteur
LCD.setCursor(0, 0);
LCD.print("passage du jour: ");
LCD.setCursor(4, 1);
LCD.print(compteur);
DateTime now = rtc.now();
LCD.setCursor(0, 0);
LCD.print(now.day(), DEC);
Serial.println("");
Serial.print("Compteur = ");
Serial.println(compteur);
Serial.println("");
}