#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// declarăm o instanță a clasei LiquidCrystal_I2C
LiquidCrystal_I2C mylcd(0x27,16,2); // 0x27 adresa i2c modul, 16 caractere x 2 rânduri
String sir = "Hello!";
char i = 0; // ne este suficient o variabilă pe un octet
unsigned char n = 0 ; // variabilă pentru a fragmenta întârzierea
// secțiune pentru inițializări
void setup() {
// inițializăm pinii 2 ca intrare și 13 ca ieșire
pinMode(2, INPUT);
pinMode(13, OUTPUT);
// inițializăm afișajul LCD
mylcd.init();
// aprindere backlite (lumina fundal afișaj)
mylcd.backlight();
// scriem "Hello!"
mylcd.print(sir);
// sciem un alt mesaj pe rândul al 2-lea
mylcd.setCursor (0,1);
mylcd.print("Wellcome to UVE");
}
void loop() {
// codul care se execută repetitiv
// întârziere de 1/2 sec
delay(50);
if (n++ > 9)
{
n = 0;
// mutăm textul cu o poziție
if (++i>15) i = -sir.length();
mylcd.setCursor (0,0);
mylcd.print(" ");
if (i<0){
mylcd.setCursor (0,0);
String sirtmp = sir.substring(-i);
mylcd.print(sirtmp);
}else{
mylcd.setCursor (i,0);
mylcd.print(sir);
}
}
// cod verificare dacă s-a apăsat butonul
if (digitalRead(2))
digitalWrite(13, HIGH);
else
digitalWrite(13, LOW);
}