Lo scopo dello schermo LCD è quello di ricevere dei dati dai diversi sensori e poi stamparli sullo schermo a rotazione. Stampa la temperatura, l'umidità e quanto è bagnato il sensore d'acqua attraverso le percentuali e i gradi Celsius.
img: http://www.adrirobot.it/rtc_module/rtc_module_with_ds1302.htm
Nota: I pin usati nella foto non sono gli stessi che vengono usati nel programma.
Nota: I pin usati nella foto non sono gli stessi che vengono usati nel programma.
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
//LCD setup
LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
void setup()
{
lcd.begin (16,2); // <<----- My LCD was 16x2
// Switch on the backlight
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);
lcd.home (); // go home
//LCD + and -
pinMode(4, OUTPUT);
digitalWrite(4, 1);
pinMode(3, OUTPUT);
digitalWrite(3, 0);
}
void loop()
{
//Print temperature
lcd.clear();
lcd.print("Temperature:");
lcd.setCursor(13, 0);
lcd.print(DHT.temperature);
lcd.setCursor(15, 0);
lcd.print((char)223);
delay(5000);
//Print Humidity
lcd.clear();
lcd.print("Humidity:");
lcd.setCursor(10, 0);
lcd.print((int)DHT.humidity);
lcd.setCursor(12, 0);
lcd.print("%");
delay(5000);
//Print Wetness
lcd.clear();
lcd.print("Wetness:");
lcd.setCursor(9, 0);
lcd.print(percentValue);
lcd.setCursor(13, 0);
lcd.print("%");
delay(5000);
}
Made by Jari Näser - 2018