lcd keypad shield - web viewlcd keypad shield. task: utilizarea unui lcd keypad shield cu arduino....

3
LCD keypad shield Task: Utilizarea unui LCD keypad shield cu Arduino Echipament necesar: Arduino/ Keypad shield Keypad shield are cateva avantaje fata de un modul LCD simplu. Nu are legaturile prin fire asa de complicate si are sase butoane (push button), care pot fi folosite. Aceste sase butoane pot fi citite prin intermediul pinilor analog ai microcontrolerului. Butoanele sunt toate conectate, prin rezistori diferiti, la un pin analog (A0). De aceea, pinul analog A0 poate fi utilizat doar in anumite scopuri. Shield-ul nu mai contine pinul A0. Keypad shield poate fi anexat placii UNO sau pe placa MEGA, de exemplu.Pinii pentru alimentare de pe keypad shield ar trebui introdusi in pinii de alimentare ai microntrolerului (in partea de jos la mijloc puteti gasi pinii de alimentarea ai shieldului. Notatiile VIN sau 5V va pot ajuta sa-i identificati). Pinii din partea de sus ai placii Arduino pot fi de asemenea utilizati prin intermediul shieldului (pinii 0-13). Cativa dintre ei sunt folositi de LCD, iar pinii liberi sunt

Upload: phungnhan

Post on 06-Feb-2018

282 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: LCD keypad shield - Web viewLCD keypad shield. Task: Utilizarea unui LCD keypad shield cu Arduino. Echipament necesar: Arduino/ Keypad shield. Keypad shield are cateva avantaje fata

LCD keypad shieldTask: Utilizarea unui LCD keypad shield cu Arduino

Echipament necesar: Arduino/ Keypad shield

Keypad shield are cateva avantaje fata de un modul LCD simplu. Nu are legaturile prin fire asa de complicate si are sase butoane (push button), care pot fi folosite. Aceste sase butoane pot fi citite prin intermediul pinilor analog ai microcontrolerului. Butoanele sunt toate conectate, prin rezistori diferiti, la un pin analog (A0). De aceea, pinul analog A0 poate fi utilizat doar in anumite scopuri. Shield-ul nu mai contine pinul A0.

Keypad shield poate fi anexat placii UNO sau pe placa MEGA, de exemplu.Pinii pentru alimentare de pe keypad shield ar trebui introdusi in pinii de alimentare ai microntrolerului (in partea de jos la mijloc puteti gasi pinii de alimentarea ai shieldului. Notatiile VIN sau 5V va pot ajuta sa-i identificati). Pinii din partea de sus ai placii Arduino pot fi de asemenea utilizati prin intermediul shieldului (pinii 0-13). Cativa dintre ei sunt folositi de LCD, iar pinii liberi sunt dispusi pe un rand de sloturi in partea de sus a shieldului (vezi imaginea).

Daca vreti sa folositi aceste sloturi, va recomandam sa cositoriti niste conectori pe ele.

Un exemplu de sketch ar putea arata astfel:

Code:

//Se utilizeaza libraria LiquidCrystal #include <LiquidCrystal.h>// selectam pinii utilizati de LCD

Page 2: LCD keypad shield - Web viewLCD keypad shield. Task: Utilizarea unui LCD keypad shield cu Arduino. Echipament necesar: Arduino/ Keypad shield. Keypad shield are cateva avantaje fata

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);// definim cateva valori utilizate de panel si butoane int lcd_key = 0;int adc_key_in = 0;#define btnRIGHT 0#define btnUP 1#define btnDOWN 2#define btnLEFT 3#define btnSELECT 4#define btnNONE 5

// citirea butoanelor int read_LCD_buttons(){adc_key_in = analogRead(0); //citirea valorii de la senzor // butoanele mele cand sunt citite, sunt centrate pe aceste valori: 0, 144, 329, 504, 741//adaugam aproximativ 50 la aceste valori si verificam daca ne apropiem de eleif (adc_key_in > 1000) return btnNONE; // Alegem aceasta prima optiune pentru rapiditate si ruleaza //pana cand se obtine rezultatul asteptatif (adc_key_in < 50) return btnRIGHT;if (adc_key_in < 195) return btnUP;if (adc_key_in < 380) return btnDOWN;if (adc_key_in < 555) return btnLEFT;if (adc_key_in < 790) return btnSELECT;return btnNONE; // cand toate verificarile de mai sus esueaza, returneaza asta… }void setup(){lcd.begin(16, 2); // porneste libraria LCDlcd.setCursor(0,0);lcd.print("Message"); //afiseaza un simplu mesaj pinMode (2, OUTPUT);}void loop(){digitalWrite (2, HIGH);lcd.setCursor(9,1); // muta cursorul pe linia a doua "1" pe al ” 9”-lea spatiu lcd.print(millis()/1000); // afiseaza secundele trecute de la pornirelcd.setCursor(0,1); // muta cursorul la inceputul liniei a doua lcd_key = read_LCD_buttons(); // citeste butoanele switch (lcd_key) // in functie de care buton este apasat, are loc o actiune {case btnRIGHT:{lcd.print("RIGHT ");digitalWrite (2, LOW);

break;}case btnLEFT:{lcd.print("LEFT ");break;}case btnUP:{lcd.print("UP ");break;

Page 3: LCD keypad shield - Web viewLCD keypad shield. Task: Utilizarea unui LCD keypad shield cu Arduino. Echipament necesar: Arduino/ Keypad shield. Keypad shield are cateva avantaje fata

}case btnDOWN:{lcd.print("DOWN ");break;}case btnSELECT:{lcd.print("SELECT");break;}case btnNONE:{lcd.print("NONE ");break;}}}