i2c display - web viewi2c display. task: afisarea unui text pe un modul i2c lcd. echipament necesar:...

3
I2C Display Task: Afisarea unui text pe un modul I2C LCD. Echipament necesar: microcontroler (in acest exemplu UNO R3)/ LCD cu modul I2C/ fire Faptul ca LCD-ul este deja legat de modulul I2C, faciliteaza modalitatea de conectare a LCD-ului prin mai putine fire. Acest lucru este util in proiectele mai complexe. Alta diferenta fata de utilizarea simpla a display-ului LCD este ca pe spatele modulului gasim deja un buton de reglaj al iluminarii de fundal. Legarea firelor: conectarea modulului I2C LCD este foarte simpla. Modulul are doar patru contacte. GND se leaga la GND de pe Arduino, VCC la 5V de pe Arduino, SDA cu analog input A4, iar SCL cu analog input A5. LCD >> UNO GND >> GND VCC >> 5V SDA >> A4

Upload: nguyenkhuong

Post on 06-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

I2C Display

Task: Afisarea unui text pe un modul I2C LCD.

Echipament necesar: microcontroler (in acest exemplu UNO R3)/ LCD cu modul I2C/ fire

Faptul ca LCD-ul este deja legat de modulul I2C, faciliteaza modalitatea de conectare a LCD-ului prin mai putine fire. Acest lucru este util in proiectele mai complexe. Alta diferenta fata de utilizarea simpla a display-ului LCD este ca pe spatele modulului gasim deja un buton de reglaj al iluminarii de fundal.

Legarea firelor: conectarea modulului I2C LCD este foarte simpla. Modulul are doar patru contacte. GND se leaga la GND de pe Arduino, VCC la 5V de pe Arduino, SDA cu analog input A4, iar SCL cu analog input A5.

LCD >> UNOGND >> GNDVCC >> 5VSDA >> A4SCL >> A5Atentie!: Microcontrolerul MEGA 2560 are proprii pini SDA si SCL. Ii puteti gasi pe pinii 20 si 21.

Programarea:

Avem nevoie de o alta librarie pentru a lucra cu I2C LCD, care nu este instalata in software-ul Arduino. Il puteti downloada sub forma zip de aici: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library .Dupa ce ati descarcat libraria, trebuie sa o adaugati la software-ul Arduino.Puteti face acest lucru usor de pe panoul de lucru al aplicatiei: dati click pe “Sketch” , apoi “Include Library” si “add .ZIP Library..”.Acum puteti utiliza libraria scrierea codului.

Sketch:

#include <Wire.h> //Include libraria Wire #include <LiquidCrystal_I2C.h>//Include libraria pe care am descarcat-o: LiquidCrystal_I2CLiquidCrystal_I2C lcd(0x27, 16, 2); //Aici definim tipul de display pe care il folosim. In acest caz are 16 //semne pe 2 randuri void setup(){lcd.begin(); //In partea de setup pornim LCD-ul (fara nimic intre paranteze, deoarece am definit deja tipul de LCD) }void loop(){//In partea de loop, I2C LCD este programat ca un simplu ledlcd.setCursor(0,0); lcd.setCursor defineste semnul si randul de unde incepe textul, in acest caz: //inceputul primului randlcd.print("Funduino GmbH");lcd.setCursor(0,1); // se pozitioneaza cursorul la inceputul randului al doilealcd.print("Good Luck!"); // lcd.print afiseaza textul pe LCD}

Extensie:

Ca un exemplu simplu de utilizare a LCD-ului, putem afisa pe I2C LCD rezultatele unei masuratori.

Exemplu de cod (senzorul de umiditate este conectat la pinul A0):

#include <Wire.h>#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);int measurement=0;void setup(){lcd.begin();}void loop(){measurement=analogRead(A0); //Valoarea primita prin A0 este citita si salvata in “measurement”lcd.setCursor(0,0); //”Measurement:” este afisat pe primul randlcd.print("Measurement:");lcd.setCursor(0,1); //Pe al doilea rand vrem sa se afiseze valoarea masurata de senzorul de umiditate lcd.print(measurement);delay(500);}