- Materiale necesare:
- Diagrama circuitului:
- Programul calculatorului Arduino:
- Simularea calculatorului Arduino:
- Funcționarea calculatorului Arduino:
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 utilizând bibliotecile ușor disponibile. De asemenea, veți înțelege cum să vă programați Arduino pentru îndeplinirea unei anumite sarcini.
Materiale necesare:
- Arduino Uno (Orice versiune va funcționa)
- Afișaj LCD 16 × 2
- Tastatură 4 × 4
- Baterie de 9V
- Cablu și fire de conectare
Diagrama circuitului:
Schema completă a circuitului acestui proiect de calcul Arduino este prezentată mai sus. Conexiunea + 5V și la masă prezentate în schema circuitului pot fi obținute de la pinul de 5V și de masă al Arduino. Arduino în sine poate fi alimentat de pe laptop sau prin mufa DC folosind un adaptor de 12V sau o baterie de 9V.
Operăm ecranul LCD în modul pe 4 biți cu Arduino, astfel încât doar ultimii patru biți de date ai ecranului LCD sunt conectați la Arduino. Tastatura va avea 8 pini de ieșire care trebuie conectați de la pinul 0 la pinul 7, așa cum se arată mai sus. Puteți utiliza următorul tabel de conexiuni pentru a vă verifica conexiunea cu Arduino, puteți verifica și interfața tastaturii 4x4 cu Arduino.
Nume Pin Arduino: |
Conectat la: |
D0 |
1 st PIN al tastaturii |
D1 |
2 nd PIN al tastaturii |
D2 |
Al 3- lea pin al tastaturii |
D3 |
Al patrulea pin al tastaturii |
D4 |
Al cincilea pin al tastaturii |
D5 |
Al șaselea pin al tastaturii |
D6 |
Al 7- lea pin al tastaturii |
D7 |
Al 8- lea pin al tastaturii |
D8 |
Înregistrați selectați pinul LCD (pinul 4) |
D9 |
Activați pinul LCD (pinul 6) |
D10 |
Pinul de date 4 (pinul 11) |
D11 |
Pinul de date 4 (pinul 11) |
D12 |
Pinul de date 4 (pinul 11) |
D13 |
Pinul de date 4 (pinul 11) |
+ 5V |
Conectat la pinul Vdd al LCD-ului (pinul 2) |
Sol |
Conectat la pinul Vss, Vee și RW de pe LCD (pinul 1,3 și 5) |
Unele plăci Arduino ar putea afișa o eroare la încărcarea programului dacă există ceva conectat la pinul 0 și pin1, deci dacă aveți vreunul, îndepărtați tastatura în timp ce încărcați programul.
Odată ce conexiunile sunt terminate, hardware-ul dvs. va arăta cam așa mai jos
Programul calculatorului Arduino:
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 tastaturii, 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. Odată terminat, suntem cu toții 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ă același lucru.
Mai jos am menționat la ce pini este conectată tastatura utilizând matricea variabilă rowPins și colPins .
octet const ROWS = 4; // Patru rânduri const octet COLS = 4; // Trei coloane // Definiți tastele de tip Charmap = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Conectați tastatura ROW0, ROW1, ROW2 și ROW3 la acești pini Arduino. octet colPins = {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
Tastatura kpd = Tastatura (makeKeymap (taste), rowPins, colPins, ROWS, COLS); // Creați tastatura
În mod similar, trebuie să spunem și la ce pini ai Arduino-ului este conectat LCD-ul. Conform schemei noastre de circuit, definițiile ar fi ca mai jos
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinii la care este conectat ecranul LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // creați ecranul LCD
În funcția 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 ce se tastează și apoi să-l convertim într-o variabilă atunci când este apăsat „=” trebuie să calculăm rezultatul și apoi să-l afișăm în cele din urmă pe ecranul LCD. Aceasta este exact ceea ce se face în interiorul funcției de buclă , așa cum se arată mai jos
cheie = kpd.getKey (); // stocarea valorii tastei apăsate într-un caracter if (key! = 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.
Simularea calculatorului Arduino:
De asemenea, putem încerca să simulăm proiectul folosind software-ul Proteus. Proteus nu are o componentă Arduino pe cont propriu, dar poate fi descărcat cu ușurință și adăugat în biblioteca sa. Odată ce aveți componenta Arduino pe Proteus, trebuie doar să adăugați LCD alfanumeric și tastatură pentru a face conexiunea așa cum se arată în diagrama circuitului.
Apoi descărcați fișierul hexagonal de aici și adăugați-l la Arduino făcând dublu clic pe placa din Proteus și îndreptați „fișierul program” către acest fișier hexagonal descărcat. Un instantaneu al simulării este prezentat mai jos, funcționarea completă este prezentată în videoclipul de mai jos.
Notă: Fișierul hex dat nu este la fel ca originalul programului prezentat mai jos. Acesta a fost modificat în, deoarece harta tastelor tastaturii de simulare și tastatura hardware reală sunt diferite.
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 lucru
Deoarece tastatura utilizată aici nu are marcaje adecvate pe ea, am presupus că Alfabetele sunt operatorii enumerați mai jos
Caracter de pe tastatură |
Presupus a fi |
"A" |
Adăugare (+) |
„B” |
Scădere (-) |
„C” |
Multiplicare (*) |
„D” |
Divizia (/) |
„*” |
Clear (C) |
„#” |
Egal (=) |
Puteți utiliza un marker pentru a scrie peste ceea ce reprezintă de fapt fiecare buton.
După ce ați făcut 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.