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
3
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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.
// 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);