Îţi voi prezenta în cele ce urmează câteva exemple de folosire a unui LCD pe 3 fire. Pe parcursul acestui tutorial vei învăţa cum să afişezi informaţii pe un LCD alfa numeric, cum să îţi creezi propriul caracter, şi deasemenea cum să instalezi o librărie.

Conectare

Pentru acest tutorial voi folosi o plăcuţă de dezvoltare Arduino Uno .

Conectarea Kitului LCD la placa de dezvoltare se face astfel:
-firul ROŞU(+):5v
-firul NEGRU(-):GND
-firul PORTOCALIU (pin 1 – CLOCK): Pinul 9 (iesire digitala) de pe placa Arduino
-firul ALBASTRU(pin 2 – DATA): Pinul 8 (ieşire digitală) de pe placa Arduino
-firul VERDE(pin 3 – STROBE): Pinul 7 (ieşire digitală) de pe placa Arduino

kit_LCD

Instalare librărie

Pentru a instala librăria necesară folosirii acestui kit va trebuii să urmezi instrucţiunile de mai jos:

1. Descarcă fişierele necesare de pe https://github.com/marcmerlin/NewLiquidCrystal . Atenţie: pentru a descarca toate fişierele, în stânga sus există o iconiţă în care scrie ZIP. Apasă acea iconiţă.

github
2. În directorul de instalare Arduino se află un alt director numit „libraries”. Dezarhivează fişierul în acest director.

3.Redenumeşte directorul dezarhivat, din „marcmerlin-NewLiquidCrystal-59310ed” in „NewLiquidCrystal”

4.Dacă totul arată conform cu imaginea de mai jos eşti pregătit pentru programare. Reporneşte programul Arduino.

folder
Şi acum programul

Îţi voi prezenta două programe, unul simplu, care doar tipăreşte un text şi unul puţin mai complicat, care va creea un caracter special.

1.Un mesaj de bunvenit:

//Se incarca libraria NewCrystalLCD
#include <LiquidCrystal_SR_LCD3.h>

//Se definesc pini de comunicare
const int PIN_LCD_STROBE = 9;//pinul 9 de pe placa Arduino
const int PIN_LCD_DATA = 8;//pinul 8 de pe placa Arduino
const int PIN_LCD_CLOCK = 7;//pinul 7 de pe placa Arduino

//Initializare librarie
LiquidCrystal_SR_LCD3 lcd(PIN_LCD_DATA, PIN_LCD_CLOCK, PIN_LCD_STROBE);

void setup(){
lcd.begin(16, 2);//Definim tipul de display folosit
//in cazul nostru 16X2

lcd.print(F("Bine ati venit")); //Tiparim textul

lcd.setCursor (0, 1);//sarim pe linia urmatoare
lcd.print(F("pe www.roroid.ro"));//tiparim textul

}

void loop(){

}

 

2.Conceperea unui caracter:
Pentru conceperea unui caracter te sfătuiesc să iei o foaie de hartie cu pătrăţele. Marchează pe această foaie un chenar care să conţină 8 pătrăţele în înălţime şi 5 pătrăţele în lungime. 8×5 reprezintă numarul de pixeli disponibili pentru un caracter pe LCD-ul nostru. Iar acum gata cu vorbaria şi hai să desenăm.

robot
Am desenat un roboţel sau omuleţ. Depinde de imaginaţia fiecăruia. În partea dreaptă se poate observa conversia în binar a desenului nostru. Pentru un pătrat gol avem 0 iar pentru unul plin avem 1.
Desenul tradus în limbaj de programare arată aşa:

byte robo[8] = {
0b01110, 0b01010, 0b01110, 0b00100, 0b11111, 0b00100, 0b01010, 0b10001
};

iar programul complet ar fi urmatorul:

//Se incarca libraria NewCrystalLCD
#include <LiquidCrystal_SR_LCD3.h>

//Se definesc pini de comunicare
const int PIN_LCD_STROBE = 9;//pinul 9 de pe placa Arduino
const int PIN_LCD_DATA = 8;//pinul 8 de pe placa Arduino
const int PIN_LCD_CLOCK = 7;//pinul 7 de pe placa Arduino

byte robo[8] = {
0b01110, 0b01010, 0b01110, 0b00100, 0b11111, 0b00100, 0b01010, 0b10001
};//Definim imaginea ce dorim sa o reprezentam in binar

//Initializare librarie
LiquidCrystal_SR_LCD3 lcd(PIN_LCD_DATA, PIN_LCD_CLOCK, PIN_LCD_STROBE);

void setup(){
lcd.begin(16, 2);//Definim tipul de display folosit
//in cazul nostru 16X2
lcd.createChar(0, robo);//Se creeaza caracterul nostru

lcd.home (); // reinitializeaza lcd
lcd.setCursor (0, 0);//sarim pe linia urmatoare
lcd.print(F("Am desenat un")); //Tiparim textul
lcd.setCursor (0, 1);//sarim pe linia urmatoare
lcd.print(F("robotel: "));//tiparim textul
lcd.print(char(0));//tiparim caracterul nou creat
}

void loop(){

}

 

Două poze cu rezultatul programelor.

2012-02-05_23-08-36_336

2012-02-05_20-58-43_609
P.S. Ideea originala a unui display LCD pe 3 fire se găseşte aici http://arduino.cc/playground/Code/LCD3wires.

Spor la treaba!

LCD 16×2 pe 3 fire
Etichetat pe:            

4 comentarii la „LCD 16×2 pe 3 fire

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.