Hello everyone,
Dear J-M-L thank you for your help, the errors have diminished by following your advice but persists,
#include <Wire.h>
#include <DFR_Key.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h>
const byte humidityRelay = 18;
const byte heaterRelay = 19;
const byte DHTPIN = 2;
const byte nbColumns = 20; // Essai pour voir en 20 et en 16
const byte nbLines = 2;
LiquidCrystal_I2C lcd( 0x27, nbColumns, nbLines);
int temp = 12;
int hum = 80;
int readkey;
unsigned long lastmillis;
long int hours;
long int minutes;
long int seconds;
char l2c1;
char l2c2;
char l2c3;
DHT dht (DHTPIN, DHT22); // Type de capteur DHT22 (AM2023)
DFR_Key keypad(0);
int localKey = 0;
int lcd_key = 0;
int adc_key_in = 0;
const byte btnRIGHT = 0;
const byte btnUP = 1;
const byte btnDOWN = 2;
const byte btnLEFT = 3;
const byte btnSELECT = 4;
const byte btnNONE = 5;
int read_LCD_buttons()
{
adc_key_in = analogRead(0);
if (adc_key_in > 1000) return btnNONE;
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 150) return btnUP;
if (adc_key_in < 300) return btnDOWN;
if (adc_key_in < 460) return btnLEFT;
if (adc_key_in < 690) return btnSELECT;
}
void setup()
{
pinMode(humidityRelay, OUTPUT);
pinMode(heaterRelay, OUTPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(F("Keith control")); // le macro F () dans tous les Print () du Lcd ou de Serial
lcd.setCursor(0, 1);
lcd.print(F("Select instr")); //
delay(2500);
Serial.begin(115200); // Mettre le port serie sur 115200
dht.begin();
delay(1000);
lcd.clear();
keypad.setRate(10);
digitalWrite(humidityRelay, HIGH);
digitalWrite(heaterRelay, HIGH);
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(t) || isnan(h))
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(F("Capteur N/C!!")); // Macro F ()
delay(10000);
}
else
{
lcd_key = read_LCD_buttons();
switch (lcd_key)
{
case btnLEFT:
{
temp = temp + 1;
break;
}
case btnRIGHT:
{
temp = temp - 1;
break;
}
case btnUP:
{
hum = hum + 1;
break;
}
case btnDOWN:
{
hum = hum - 1;
break;
}
case btnSELECT:
{
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(F("Hum Up/Down +-1%")); // Macro F ()
lcd.setCursor(0, 1);
lcd.print(F("Temp L/R +-1"));
lcd.print((char)223);
lcd.print(F("C"));
delay (5000);
break;
}
}
lcd.setCursor(0, 0);
lcd.print("Hum: "); // Macro F () pour tous les lcd.print
lcd.print(h);
lcd.print(F("%"));
lcd.print(F("("));
lcd.print(hum);
lcd.print(F("%)"));
lcd.setCursor(0, 1);
lcd.print("Tem: ");
lcd.print(t);
lcd.print((char)223);
lcd.print(F("("));
lcd.print(temp);
lcd.print((char)223);
lcd.print(F(")"));
int H = 70 + 10;
if (h < 85) digitalWrite(humidityRelay, LOW);
else if (h >= H) digitalWrite(humidityRelay, HIGH);
int T = 12 + 2 ;
if (t < 12 )
digitalWrite(heaterRelay, LOW);
else if (t >= T)
digitalWrite(heaterRelay, HIGH);
}
}
I believe that this mission will be impossible to achieve for me at the moment, as I am only amateur. I do not give up but I will work in stages to understand what I do and what happens, thank you for your support J-M-L. If I hurt you, I beg your pardon, I apologize for disturbing you, you are here to help us, I thank you again for all your support. I wish you happiness and please, forgive this gallerian. With respect, cordially.
- Code Error :
Arduino : 1.8.4 (Windows 7), Carte : "Arduino/Genuino Uno"
C:\Users\\AppData\Local\Temp\ccTel6UO.ltrans0.ltrans.o: In function `__static_initialization_and_destruction_0':
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:13: undefined reference to `LiquidCrystal_I2C::LiquidCrystal_I2C(unsigned char, unsigned char, unsigned char)'
C:\Users\\AppData\Local\Temp\ccTel6UO.ltrans0.ltrans.o: In function `setup':
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:60: undefined reference to `LiquidCrystal_I2C::begin(unsigned char, unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:61: undefined reference to `LiquidCrystal_I2C::clear()'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:62: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:64: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:70: undefined reference to `LiquidCrystal_I2C::clear()'
C:\Users\\AppData\Local\Temp\ccTel6UO.ltrans0.ltrans.o: In function `loop':
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:88: undefined reference to `LiquidCrystal_I2C::clear()'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:89: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:120: undefined reference to `LiquidCrystal_I2C::begin(unsigned char, unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:121: undefined reference to `LiquidCrystal_I2C::clear()'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:122: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:124: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:132: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
C:\Users\\Documents\Arduino\Code_Modif_31oct/Code_Modif_31oct.ino:139: undefined reference to `LiquidCrystal_I2C::setCursor(unsigned char, unsigned char)'
collect2.exe: error: ld returned 1 exit status
Utilisation de la bibliothèque Wire version 1.0 dans le dossier: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire
Utilisation de la bibliothèque DFR_Key prise dans le dossier : C:\Users\\Documents\Arduino\libraries\DFR_Key (legacy)
Utilisation de la bibliothèque DHT_sensor_library version 1.2.3 dans le dossier: C:\Users\\Documents\Arduino\libraries\DHT_sensor_library
Utilisation de la bibliothèque LiquidCrystal_I2C version 1.1 dans le dossier: C:\Users\\Documents\Arduino\libraries\LiquidCrystal_I2C
exit status 1
Erreur de compilation pour la carte Arduino/Genuino Uno