I have connected the circuit as per the diagram below and I have got the LCD to display boxes and nothing else. What could be wrong here? Please help!
Circuit diagram below -
Code as follows -
#include<DHT11.h>
#include<LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
#define dht11pin 12
dht11 DHT11;
#define pwm 9
byte degree[8] =
{
0b00011,
0b00011,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.begin(16, 2);
lcd.createChar(1, degree);
lcd.clear();
lcd.print(" Fan Speed ");
lcd.setCursor(0, 1);
lcd.print(" Controlling ");
delay(2000);
analogWrite(pwm, 255);
lcd.clear();
lcd.print("Our Project ");
delay(2000);
}
void loop()
{
DHT11.read(dht11pin);
int temp = DHT11.temperature;
lcd.setCursor(0, 0);
lcd.print("Temperature:");
lcd.print(temp);
lcd.write(1);
lcd.print("C");
lcd.setCursor(0, 1);
if (temp < 26 )
{
analogWrite(9, 0);
lcd.print("Fan OFF ");
delay(100);
}
else if (temp == 26)
{
analogWrite(pwm, 51);
lcd.print("Fan Speed: 20% ");
delay(100);
}
else if (temp == 27)
{
analogWrite(pwm, 102);
lcd.print("Fan Speed: 40% ");
delay(100);
}
else if (temp == 28)
{
analogWrite(pwm, 153);
lcd.print("Fan Speed: 60% ");
delay(100);
}
else if (temp == 29)
{
analogWrite(pwm, 204);
lcd.print("Fan Speed: 80% ");
delay(100);
}
else if (temp > 29)
{
analogWrite(pwm, 255);
lcd.print("Fan Speed: 100% ");
delay(100);
}
delay(3000);
}
I used the default LiquidCrystal.h library for this project. Is that wrong?
