Bonjour, j'ai un écran LCD I2c 1602 arduino, j'ai fait un programme qui se compile et l'écran n'affiche rien, il reste bloqué sur le démarrage complètement allumé, pouvez vous m'aider ?
Merci d'avance à vousCode:#include <Wire.h> //inclusion de la libraire Wire (protocole I2C / TWI) #include <LiquidCrystal_I2C.h> //inclusion librairie écran LCD LiquidCrystal_I2C lcd(0x27,20,4); //definir adresse LCD ) 0x27 pour un affichage de #define Vout A0 // Vout sur broche A0 boolean rog = 3; //Rog sur broche 3 boolean clock =2; //Clock sur broche 2 float n, D, B; //n,D,B en float int i, Ntemp; //déclarer i et Ntemp int lum; //lum est la tension sur Vout (sortie) int poslum; //position du pixel le plus luminneux int lummax; //lummax est la plus grande tension en sortie void setup(){ lcd.begin(20,4); // init lcd 20 caractères 4 lignes lcd.backlight(); // retro éclairage on Serial.begin(9600); //Conexon série 9600 bauds } void loop(){ lcd.setCursor(1,0); //position curseur } //****************depart mesure********************************** void depart_mesure(){ digitalWrite(rog,HIGH); digitalWrite(clock,HIGH); delayMicroseconds (10); digitalWrite(rog,LOW); delayMicroseconds (3250); digitalWrite(rog,HIGH); delayMicroseconds (3250); } // *****************************mesure***************************** void mesure() { i = 1; //on se place au pixel 1 while (i < 34) { // 33 premiers clock inutiles (voir doc ilx551a) digitalWrite(clock, LOW); //Niveau logique bas sur clock delayMicroseconds(13); digitalWrite(clock, HIGH); //niveau logique haut delayMicroseconds(13); i = i + 1; //incrémentation (on change de pixel) } i = 34; //on se place au pixel 34 (33 inutiles) int lumMax=0; for (;i < 2049; i++) { // mesure des 2048 pixels utiles digitalWrite(clock, LOW); //niveau logique bas sur clock delayMicroseconds(13); digitalWrite(clock, HIGH); delayMicroseconds(13); //REVOIR HERTZ lum = analogRead(Vout); //acquérir tension de Vout if (lum>lumMax) { // on a trouvé un pixel plus lumineux que le dernier qu'on avait trouvé poslum=i; lumMax=lum; lcd.print(i); delay(1000); } } }
-----