Je fais appel à vos lumières car mon écran LCD_I2C me fait des misères :
Le montage est bon : gnd sur gnd, VCC sur 5V, SDA sur A4 et SCL sur A5 (arduino uno)
L'écran s'allume, mais rien ne s'affiche. J'ai essayé de régler le contraste, mais seulement les carrés de la ligne du haut s'affichent.
J'ai essayé les exemples comme "Hello World" et autres, mais c'est le même résultat.
Je ne sais plus quoi essayer et je me dis que l'écran a peut-être un défaut.
Je vous soumet mon code (il s'agit de contrôler la température d'un aquarium) et je voudrais que la température s'affiche sur l'écran :
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
#define temp_sensor A0
float temperature =0;
int tempMini = 23;
int tempMax = 26;
int relais = 2;
OneWire oneWirePin (temp_sensor);
DallasTemperature sensors(&oneWirePin);
LiquidCrystal_I2C lcd (0x3F, 16,2);
void setup()
{
Serial.begin (9600);
Serial.println ("c'est parti !");
delay (3000);
pinMode (relais, OUTPUT);
sensors.begin ();
lcd.begin (16,2);
}
void loop()
{
sensors.requestTemperatures ();
Serial.println ();
temperature = sensors.getTempCByIndex(0);
digitalWrite (relais, LOW);
Serial.print ("Température de ");
Serial.println (temperature);
if (temperature <= tempMini) {
Serial.println("TROP FROID");
digitalWrite(relais, HIGH);
}
else if ((temperature < tempMax)&&(temperature > tempMini)){
Serial.println("En chauffe");
digitalWrite(relais, HIGH);
}
else if (temperature >= tempMax) {
Serial.println("Température max atteinte = chauffage arrêté");
digitalWrite(relais, LOW);
}
lcd.setCursor (0,0);
lcd.print ("Température : ");
lcd.print (temperature);
lcd.print ("°C");
delay(3000);
}
Voilà, j'espère que quelqu'un pourra m'aider. Merci !