Arduino: Utilizzo libreria LiquidCrystal-I2C
Salve a tutti!
In questo articolo vi mostrerò come realizzare un progetto che stamperà su un display 16×02 delle informazioni riguardanti la stato di alcuni componenti.
In particolare il display ci mostrerà se un LED o un Relay sono attivi e alcune informazioni.
Il materiale di cui abbiamo bisogno è:
– Arduino Uno
– Breadboard (basetta)
– 3 pulsanti
– 3 resistori da 1KOhm
– Un LED
– Un display LCD 16*02
– Un Relay
– Fili per i collegamenti
Lo sketch utilizzato è molto semplice e si basa su l’utilizzo della funzione IF e le funzioni della liberia LCD-LiquidCrystal-I2C —-> DOWNLOAD
Passiamo al codice per intero:
[c]
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int led = 3;
int bottone = 12;
int bottone2 = 11;
int bottone3 = 10;
int relay = 9;
int lettura = 0;
int lettura2 = 0;
int lettura3 = 0;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(3, OUTPUT);
pinMode(9, OUTPUT);
pinMode(12, INPUT);
pinMode(11, INPUT);
pinMode(10, INPUT);
lcd.print(" ALESSIO BIGINI");
delay(5000);
lcd.clear();
}
void loop()
{
lettura = digitalRead(12);
if (lettura == 1)
{
digitalWrite(3, HIGH);
lcd.print("LED = ON");
lcd.setCursor(0, 1);
lcd.print("RELAY = OFF");
delay(2500);
}
if (lettura == 0)
{
lcd.print("LED = OFF");
digitalWrite(3, LOW);
}
/***************************************/
lettura2 = digitalRead(11);
if (lettura2 == 1)
{
digitalWrite(9, HIGH);
lcd.setCursor(0, 1);
lcd.print("RELAY = ON");
delay(2500);
}
if (lettura2 == 0)
{
lcd.setCursor(0, 1);
lcd.print("RELAY = OFF");
digitalWrite(9, LOW);
}
/***************************************/
lettura3 = digitalRead(10);
if (lettura3 == 1)
{
lcd.clear();
delay(1);
lcd.print(" ALESSIO BIGINI");
lcd.setCursor(0, 1);
lcd.print("alessiobigini.it");
delay(2500);
}
delay(28);
lcd.clear();
}
[/c]
Una volta caricato il codice sulla scheda, a seconda di quale tasto è premuto, il display mostrerà informazioni differenti.
Foto del progetto: