Hello
I'm having a problem with my code
#include <idDHT11.h>
#include <LiquidCrystal.h>
//TEMP
int idDHT11pin = 2; //Digitale pin voor verbindingen
int idDHT11intNumber = 0; //interrupt nummer (Moet gebruikt worden om de pin toe te wijzen(opzoeken in de tabel. Voor Uno = 0)
//TEMP
//LCD
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
//LCD
const int RELAIS = 13;
const int KNOP1 = 6 ;
const int KNOP2 = 5 ;
const int KNOPLICHT = 4;
const int SCHERM = 3;
char btLezen;
int opstart = 1;
int starttemp = 26;
int gewenst;
int temp;
int val1 = 0;
int val2 = 0;
int oudtemp = 0;
int oudgewenst = 0;
int lichtknop = 0;
int lichtscherm = 1 ;
//declaration
void dht11_wrapper(); // must be declared before the lib initialization
// Lib instantiate
idDHT11 DHT11(idDHT11pin,idDHT11intNumber,dht11_wrapper);
void setup()
{
Serial.begin(9600);
Serial.println("Test programma, Glenn Vanspauwen");
Serial.print("LIB versie: ");
Serial.println(IDDHT11LIB_VERSION);
Serial.println("---------------");
pinMode(RELAIS, OUTPUT);
pinMode(SCHERM, OUTPUT);
pinMode(KNOP1,INPUT);
pinMode(KNOP2,INPUT);
pinMode(KNOPLICHT,INPUT);
Serial.println("OK1");
}
// Deze wrapper dient om het op te roepen
// Moet zo geschreven worden om de lib. te laten werken van de DHT11
void dht11_wrapper() {
DHT11.isrCallback();
}
void loop(){
//bluetooth
btLezen = Serial.read();
Serial.println("serialBT");
Serial.println(btLezen);
//bluetooth
if(DHT11.getCelsius() < gewenst){
digitalWrite(RELAIS,LOW);
Serial.print("Relais uit");
}
else{
digitalWrite(RELAIS,HIGH);
Serial.print("Relais aan");
}
val1 = digitalRead(KNOP1);
Serial.print(val1);
val2 = digitalRead(KNOP2);
Serial.print(val2);
Serial.print("\nInformatie ontvangen van sensor: ");
Serial.print("Sensor gegevens: ");
//delay(100);
DHT11.acquire();
while (DHT11.acquiring());
int result = DHT11.getStatus();
switch (result)
{
case IDDHTLIB_OK:
Serial.println("OK");
break;
case IDDHTLIB_ERROR_CHECKSUM:
Serial.println("Fout\n\r\tChecksum fout");
break;
case IDDHTLIB_ERROR_TIMEOUT:
Serial.println("Fout\n\r\tTime out fout");
break;
case IDDHTLIB_ERROR_ACQUIRING:
Serial.println("Error\n\r\tAcquiring");
break;
case IDDHTLIB_ERROR_DELTA:
Serial.println("Error\n\r\tVerschil in tijd te klein");
break;
case IDDHTLIB_ERROR_NOTSTARTED:
Serial.println("Error\n\r\tNiet gestart");
break;
default:
Serial.println("Onbekende fout");
break;
}
Serial.print("Luchtvochtigheid (%): ");
Serial.println(DHT11.getHumidity(), 2);
Serial.print("Temp (oC): ");
Serial.println(DHT11.getCelsius(), 2);
Serial.print("Dauwpunt (oC): ");
Serial.println(DHT11.getDewPoint());
Serial.print("Traag Dauwpunt (oC): ");
Serial.println(DHT11.getDewPointSlow());
//opstarten
if (opstart == 1){
starttemp = DHT11.getCelsius();
gewenst = starttemp;
opstart = opstart + 10;
temp = DHT11.getCelsius();
Serial.println(DHT11.getCelsius(),2);
Serial.println("OKif");
digitalWrite(SCHERM,HIGH);
//welkom boodschap
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Welkom, Glenn !");
delay(1500);
//welkom boodschap
}
else{
}
temp = DHT11.getCelsius();
//opstarten
Serial.print("Start temperatuur :");
Serial.println(starttemp);
Serial.print("Gewenste :");
Serial.println(gewenst);
//LCD
if (val1 == HIGH){
gewenst = gewenst+1;
}
else{
}
if (val2 == HIGH){
gewenst = gewenst-1;
}
else{
}
//Bluetooth
switch (btLezen) {
case 1:
gewenst = gewenst+1;
break;
case 2:
gewenst = gewenst-1;
break;
default:
break;
}
//Bluetooth
if ((gewenst != oudgewenst)|| (temp !=oudtemp)){
lcd.begin(16, 2);
lcd.setCursor(0,0);
lcd.print("Temperatuur ");
lcd.setCursor(12, 0);
lcd.print(temp);
lcd.setCursor(14, 0);
lcd.print((char)223);
lcd.setCursor(15, 0);
lcd.print("C");
lcd.setCursor(0, 1);
lcd.print("Gewenst ");
lcd.setCursor(8, 1);
lcd.print(gewenst);
lcd.setCursor(10, 1);
lcd.print((char)223);
lcd.setCursor(11, 1);
lcd.print("C");
oudgewenst = gewenst;
oudtemp = (DHT11.getCelsius());
}
else{
}
//LCD
//SCHERM LICHT
Serial.println(lichtscherm);
Serial.println(lichtknop);
lichtknop = digitalRead(KNOPLICHT);
if ( (lichtknop == 1)||(btLezen ==3)) {
if (lichtscherm == 1) {
lcd.noDisplay();
lichtscherm = 0;
digitalWrite(SCHERM,LOW);
}
else{
lcd.display();
lichtscherm = 1;
digitalWrite(SCHERM,HIGH);
}
}
else{
}
}
If I remove any Serial.Print or Serial.Println that has to do with the DHT 11 my LCD will show strange symbols, The temprature on the LCD will freeze or I can't change the values with my buttons.
Any idea what could be the problem?
Tried to find solutions but nothing works.
I just need to get rid of the Serial.print* because I need to send one value to my Android phone with bluetooth and not a full log of information.
Thanks for your help !