Cuprins:
- Pasul 1: Lucruri necesare
- Pasul 2: Diagrama circuitului
- Pasul 3: Programul Arduino Calculator
- Pasul 4:
- Pasul 5: Funcționarea calculatorului Arduino
- Pasul 6: Cod
Video: Calculator Arduino: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Programarea este întotdeauna distractivă, iar Arduino este o platformă minunată dacă abia începi cu programarea încorporată. În acest tutorial vom construi propriul nostru calculator cu Arduino. Valorile pot fi trimise printr-o tastatură (tastatură 4 × 4) și rezultatul poate fi vizualizat pe un ecran LCD (16 × 2 Dot-matrix). Acest calculator ar putea efectua operații simple, cum ar fi Adunarea, scăderea, multiplicarea și divizarea cu numere întregi. Dar, odată ce înțelegeți conceptul, puteți implementa chiar și funcții științifice cu funcțiile încorporate ale Arduino. La sfârșitul acestui proiect, veți ști cum să utilizați un LCD 16x2 și o tastatură cu Arduino și, de asemenea, cât de ușor este să programați pentru ei folosind cu ușurință bibliotecile disponibile. De asemenea, veți înțelege cum să vă programați Arduino pentru îndeplinirea unei anumite sarcini.
Pasul 1: Lucruri necesare
Arduino Uno (Orice versiune va funcționa) Afișaj LCD 16 × 2 Tastatură 4 × 4 Baterie 9V Placă de pâine și fire de conectare
Pasul 2: Diagrama circuitului
Pasul 3: Programul Arduino Calculator
Programul complet Arduino pentru acest proiect este dat la sfârșitul acestui proiect. Codul este împărțit în mici bucăți semnificative și explicat mai jos. După cum am spus mai devreme, vom interfața un LCD și o tastatură cu Arduino folosind biblioteci. Deci, să le adăugăm mai întâi la IDE-ul nostru Arduino. Biblioteca pentru LCD este deja inclusă în mod implicit în Arduino, deci nu trebuie să ne facem griji. Pentru biblioteca Keypad, faceți clic pe link pentru a o descărca de pe Github. Veți primi un fișier ZIP, apoi adăugați această lib la Arduino by Sketch -> Include Library -> Add. ZIP file și indicați locația către acest fișier descărcat. După ce am terminat, suntem pregătiți pentru programare. Chiar dacă am folosit o bibliotecă pentru utilizarea tastaturii, trebuie să menționăm câteva detalii (prezentate mai jos) despre tastatura Arduino. Variabilele ROWS și COLS vor spune câte rânduri și coloane are tastatura noastră și harta tastelor arată ordinea în care tastele sunt prezente pe tastatură. Tastatura pe care o folosesc în acest proiect arată așa mai jos pentru harta tastelor, de asemenea, reprezintă aceeași. Mai jos am menționat la ce pini este conectată tastatura folosind matricea variabilă rowPins și colPins.const octet ROWS = 4; // Patru rânduriconst octet COLS = 4; // Trei coloane // Definiți tastele Keymapchar [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', ' B '}, {' 7 ',' 8 ',' 9 ',' C '}, {' * ',' 0 ',' # ',' D '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Conectați tastatura ROW0, ROW1, ROW2 și ROW3 la acești pini Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Conectați tastatura COL0, COL1 și COL2 la acești pini Arduino. Odată ce am menționat ce tip de tastatură folosim și cum este conectată, putem crea tastatura folosind acele detalii folosind linia de mai jos Tastatură kpd = Tastatură (makeKeymap (taste), rowPins, colPins, ROWS, COLS); // Creați tastatura În mod similar, trebuie să spunem și la ce pini ai Arduino este conectat LCD-ul. Conform schemei noastre de circuite, definițiile ar fi ca mai josconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinii la care este conectat LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); // creăm ecranul LCD În interiorul funcției de configurare, afișăm doar numele proiectului și apoi trecem la bucla while unde se află proiectul principal. Practic, trebuie să verificăm dacă se tastează ceva pe tastatură, dacă este tastat trebuie să recunoaștem ceea ce se tastează și apoi îl convertim într-o variabilă când este apăsat „=” trebuie să calculăm rezultatul și apoi să îl afișăm pe LCD. Aceasta este exact ceea ce se face în interiorul funcției de buclă așa cum se arată mai joskey = kpd.getKey (); // stocarea valorii tastei apăsate într-un șarif (cheie! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); Ce se întâmplă în interiorul fiecărei funcții este explicat folosind liniile de comentarii, parcurgeți codul complet de mai jos, lăsați-l cu el pentru a înțelege cum funcționează de fapt. Dacă aveți vreo îndoială cu privire la o anumită linie, nu ezitați să utilizați secțiunea de comentarii sau forumuri.
Pasul 4:
Pasul 5: Funcționarea calculatorului Arduino
Faceți conexiunile conform schemei de circuit și încărcați codul de mai jos. Dacă arată eroare, asigurați-vă că ați adăugat biblioteca conform instrucțiunilor date mai sus. De asemenea, puteți încerca simularea pentru a verifica dacă problema este legată de hardware-ul dvs. Dacă totul este făcut așa cum ar trebui să fie, atunci hardware-ul dvs. va arăta cam așa mai jos, cu ecranul LCD care afișează acest calculator Arduino folosind tastatura 4x4 în acțiune Deoarece tastatura utilizată aici nu are marcaje adecvate, am presupus că alfabetele sunt operatori ca enumerate mai jos Caracter pe tastatură Se presupune că este „A” Adunare (+) „B” Scădere (-) „C” Multiplicare (*) „D” Divizie (/) „*” Șterge (C) „#” Egal (=) Puteți folosiți un marker pentru a scrie peste ceea ce reprezintă de fapt fiecare buton. Cu acest lucru, puteți începe direct să utilizați calculatorul. Tastați numărul și va apărea pe a doua linie, apăsați operandul și tastați al doilea număr, în cele din urmă, apăsați tasta „#” pentru a obține rezultatul. De asemenea, puteți încerca să construiți acest calculator Arduino bazat pe ecran tactil.
Pasul 6: Cod
/ * * Programul calculatorului tastatură Arduino * / # include // Fișier antet pentru LCD de la https://www.arduino.cc/en/Reference/LiquidCrystal#include // Fișier antet pentru tastatură de la https://github.com/ Chris - A / Keypadconst byte ROWS = 4; // Patru rânduriconst octet COLS = 4; // Trei coloane // Definiți tastele Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Conectați tastatura ROW0, ROW1, ROW2 și ROW3 la acești pini Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Conectați tastatura COL0, COL1 și COL2 la acești pini Arduino. Tastatura kpd = Tastatură (makeKeymap (taste), rowPins, colPins, ROWS, COLS); // Creați Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinii la care este conectat LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); Num1 lung, Num2, Număr; cheie char, acțiune; boolean result = false; void setup () {lcd.begin (16, 2); // Folosim un ecran LCD 16 * 2 lcd.print („Calculator DIY”); // Afișați un mesaj introductiv lcd.setCursor (0, 1); // setați cursorul la coloana 0, linia 1 lcd.print ("- CircuitDigest"); // Afișați o întârziere a mesajului introductiv (2000); // Așteptați afișarea pentru a afișa informații lcd.clear (); // Apoi curăță-l} void loop () {cheie = kpd.getKey (); // stocarea valorii tastei apăsate într-un șarif (cheie! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Apoi curățați-l dacă (tasta == '*') // Dacă butonul de anulare este apăsat {Serial.println ("Butonul Anulare"); Număr = Num1 = Num2 = 0; result = false;} if (tasta == '1') // Dacă butonul 1 este apăsat {Serial.println ("Butonul 1"); if (Număr == 0) Număr = 1; else Number = (Number * 10) + 1; // Apăsat de două ori} if (tasta == '4') // Dacă butonul 4 este apăsat {Serial.println ("Butonul 4"); if (Număr == 0) Număr = 4; else Number = (Number * 10) + 4; // Apăsat de două ori} if (tasta == '7') // Dacă butonul 7 este apăsat {Serial.println ("Butonul 7"); if (Număr == 0) Număr = 7; else Number = (Număr * 10) + 7; // Apăsat de două ori} if (tasta == '0') {Serial.println ("Butonul 0"); // Butonul 0 este apăsat dacă (Număr == 0) Număr = 0; else Number = (Number * 10) + 0; // Apăsat de două ori} if (tasta == '2') // Butonul 2 este apăsat {Serial.println („Butonul 2”); if (Număr == 0) Număr = 2; else Number = (Număr * 10) + 2; // Apăsat de două ori} if (tasta == '5') {Serial.println ("Butonul 5"); if (Număr == 0) Număr = 5; else Number = (Number * 10) + 5; // Apăsat de două ori} if (tasta == '8') {Serial.println ("Butonul 8"); if (Număr == 0) Număr = 8; else Number = (Number * 10) + 8; // Apăsat de două ori} if (key == '#') {Serial.println ("Button Equal"); Num2 = Număr; rezultat = adevărat; } if (cheie == '3') {Serial.println ("Butonul 3"); if (Număr == 0) Număr = 3; else Number = (Number * 10) + 3; // Apăsat de două ori} if (tasta == '6') {Serial.println ("Butonul 6"); if (Număr == 0) Număr = 6; else Number = (Number * 10) + 6; // Apăsat de două ori} if (tasta == '9') {Serial.println ("Butonul 9"); if (Număr == 0) Număr = 9; else Number = (Number * 10) + 9; // Apăsat de două ori} if (tasta == 'A' || tasta == 'B' || tasta == 'C' || tasta == 'D') // Butoane de detectare pe coloana 4 {Num1 = Număr; Număr = 0; if (cheie == 'A') {Serial.println ("Adăugare"); action = '+';} if (cheie == 'B') {Serial.println ("Subtraction"); action = '-'; } if (cheie == 'C') {Serial.println ("Multiplicare"); action = '*';} if (cheie == 'D') {Serial.println ("Devesion"); action = '/';} întârziere (100); }} void CalculateResult () {if (action == '+') Number = Num1 + Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1 * Num2; if (action == '/') Number = Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // setați cursorul la coloana 0, linia 1 lcd.print (Num1); lcd.print (acțiune); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Number);} // Afișează rezultatul lcd.setCursor (0, 1); // setați cursorul la coloana 0, linia 1 lcd.print (Număr); // Afișați rezultatul}
Recomandat:
Calculator Nextion / Arduino: 3 pași
Calculator Nextion / Arduino: Un calculator util pentru Arduino Uno. Calculatorul este similar în stil cu calculatorul standard care este livrat cu Windows 10. Notă: Nu include funcțiile științifice și de programare pe care le face calculatorul Windows 10, dar aceste funcții
Calculator Arduino folosind tastatura 4X4: 4 pași (cu imagini)
Calculator Arduino folosind tastatura 4X4: În acest tutorial ne vom construi propriul calculator cu Arduino. Valorile pot fi trimise printr-o tastatură (tastatură 4 × 4), iar rezultatul poate fi vizualizat pe un ecran LCD. Acest calculator ar putea efectua operații simple, cum ar fi Adunarea, scăderea, multiplicarea
Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: 4 pași
Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: Bună băieți, în acest instructables vom face un calculator folosind Arduino, care poate face calcule de bază. Deci, practic vom prelua intrarea de la tastatura 4x4 și vom imprima datele pe afișajul LCD 16x2 și arduino va face calculele
Calculator cu ecran tactil Arduino: 7 pași
Calculator cu ecran tactil Arduino: Bună ziua! Acesta este un proiect de realizare a unui calculator cu ecran tactil folosind un Arduino Uno și un ecran TFT LCD. Am venit cu conceptul pentru clasa mea de programare la domiciliu, iar experiența în construirea acestui proiect a fost foarte interesantă. Acest calculator poate
Calculator cu ecran tactil LCD Arduino TFT: 3 pași
Calculator cu ecran tactil LCD TFT Arduino: Bună băieți, în acest instructable vom învăța cum să facem un calculator folosind Arduino Uno cu 3.5 " Afișaj cu ecran tactil LCD TFT. Deci vom scrie un cod și îl vom încărca pe arduino, care va afișa interfața calculatorului pe afișaj și va