Omet navegació

14.3 LCD-I2C 20x4 + Lectura dades

1) Instal·lació i proves de la pantalla.

Fes el muntatge aquest:

LiquidCrystal_I2C 20x4 Arduino
C. Ferrando (CC BY-NC-SA)

Ara engega l'IDE d'Arduino i ves a «Eines, Gestiona les biblioteques...», i en la finestra de cerca escriu « LiquidCrystal_I2C » i instal·la li biblioteca de Frank de Brabander, i prem instal·la.

LiquidCrystal_I2C (lib) en Arduino

A continuació pots provar la llibreria amb aquest programa.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

//LiquidCrystal_I2C lcd(0x27,20,4);
LiquidCrystal_I2C lcd(0x3F,20,4); 

void setup()
{
  lcd.init(); // iniciem LCD
 
}

void loop()
{
   lcd.backlight();
   lcd.setCursor(0,0);
   lcd.print("Fila 1");
   lcd.setCursor(0,1);
   lcd.print("Fila 2 ");
   lcd.setCursor(0,2);
   lcd.print("Fila 3");
   lcd.setCursor(0,3);
   lcd.print("Fila 4");
   
   delay(2000);

   lcd.clear(); //Borra la pantalla
}

2) Lectura de dades de T i H amb la pantalla

Fes el muntatge aquest:

DHT22_LiquidCrystal_I2C LCD 20x4 Arduino
C. Ferrando (CC BY-NC-SA)

A continuació pot provar el programa aquest:

// Copyleft(2019): C. Ferrando
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

//LiquidCrystal_I2C lcd(0x27,20,4);
LiquidCrystal_I2C lcd(0x3F,20,4); 

//Posem les llibreries del DHT22
#include <dht.h>
dht DHT;
#define DHT22_PIN 5

//Definim temperatura i humitat relativa reals mesurades pel sensor RHT03
float temperatura; // T en ºC
float humitat; // Humitat relativa %


void setup()
{
  lcd.init();  // iniciem LCD

   Serial.begin(9600);// Port serie amb Ordinador
   Serial.println("IES A_B_C Aula a_b_c "); // On som amb els alumnes?
 
}

void loop()
{

  // Llegeix les dades
   int chk = DHT.read22(DHT22_PIN);
   temperatura= DHT.temperature;
   humitat=DHT.humidity ;
   
   lcd.backlight();// Amb llum de fons
   //lcd.noBacklight(); // Sense llum de fons ( Cal regular la llum amb el potenciòmetre )
   lcd.setCursor(0,0); // Origen a la primera fila
   lcd.print("El valor de T es ");
   lcd.setCursor(0,1); //Origen a la segona fila
   lcd.print(temperatura);// Imprimim la variable temperatura
   lcd.setCursor(5,1);
   lcd.print(" C");
   lcd.setCursor(0,2);//Origen a la tercera fila
   lcd.print("La humitat es");
   lcd.setCursor(0,3);//Origen a la quarta fila
   lcd.print(humitat);//Imprimim la variable humitat
   lcd.setCursor(5,3);
   lcd.print(" %");
   
   delay(2000);
   lcd.clear(); //Borra la pantalla
}

El resultat serà semblant a aquest:

LCD-I2C 20x4 mostrant T i H