Schermo LCD


Scopo

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.


Componenti necessari

  • Arduino
  • Schermo LCD
  • Modulo bus I2C
  • Cavi

  • Schermo LCD

    img: http://www.adrirobot.it/rtc_module/rtc_module_with_ds1302.htm


    Schema fritzing

    Nota: I pin usati nella foto non sono gli stessi che vengono usati nel programma.


    Schema elettrico

    Nota: I pin usati nella foto non sono gli stessi che vengono usati nel programma.


    Codice

    #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