- Potrebni materijali:
- Kružni dijagram:
- Program kalkulator Arduino:
- Simulacija Arduino kalkulatora:
- Rad Arduino kalkulatora:
Programiranje je uvijek zabavno, a Arduino je prekrasna platforma ako tek započinjete s ugrađenim programiranjem. U ovom uputstvu izgradit ćemo vlastiti kalkulator s Arduinom. Vrijednosti se mogu poslati putem tipkovnice (tipkovnica 4 × 4), a rezultat se može vidjeti na LCD zaslonu (matrica 16 × 2 točke). Ovaj kalkulator može izvoditi jednostavne operacije poput zbrajanja, oduzimanja, množenja i dijeljenja s cijelim brojevima. Ali nakon što shvatite koncept, možete implementirati čak i znanstvene funkcije s Arduinovim ugrađenim funkcijama.
Na kraju ovog projekta znat ćete kako koristiti LCD zaslon 16x2 i tipkovnicu s Arduinom, kao i koliko je lako za njih programirati pomoću lako dostupnih knjižnica. Također ćete razumjeti kako programirati svoj Arduino za izvršavanje određenog zadatka.
Potrebni materijali:
- Arduino Uno (Svaka verzija će raditi)
- LCD zaslon od 16 × 2
- 4 × 4 tipkovnica
- 9V baterija
- Okvir za spajanje i spajanje žica
Kružni dijagram:

Kompletna shema sklopa ovog projekta Arduino Kalkulator dana je gore. Priključak + 5V i uzemljenje prikazan na shemi spojeva može se dobiti iz napona 5V i uzemljenja Arduina. Sam Arduino može se napajati s vašeg prijenosnog računala ili putem DC utičnice pomoću 12V adaptera ili 9V baterije.
LCD upravljamo u 4-bitnom načinu rada s Arduinom, tako da su samo posljednja četiri podatkovna bita LCD-a spojena na Arduino. Tipkovnica će imati 8 izlaznih pinova koji moraju biti povezani od pina 0 do pina 7, kao što je gore prikazano. Sljedeću tablicu povezivanja možete koristiti za provjeru veze s Arduinom, a možete provjeriti i međusobno povezivanje 4x4 tipkovnice s Arduinom.
|
Arduino pin ime: |
Spojen na: |
|
D0 |
1. st pin tipkovnice |
|
D1 |
2 nd pin tipkovnice |
|
D2 |
3 rd pin tipkovnice |
|
D3 |
4 th pin tipkovnice |
|
D4 |
5 th pin tipkovnice |
|
D5 |
6 -og pin tipkovnice |
|
D6 |
7 th pin tipkovnice |
|
D7 |
8. -og pin tipkovnice |
|
D8 |
Registrirajte odabrani pin LCD-a (pin 4) |
|
D9 |
Omogući pin LCD-a (pin 6) |
|
D10 |
Podaci pin 4 (pin 11) |
|
D11 |
Podaci pin 4 (pin 11) |
|
D12 |
Podaci pin 4 (pin 11) |
|
D13 |
Podaci pin 4 (pin 11) |
|
+ 5V |
Spojen na Vdd pin LCD-a (pin 2) |
|
Prizemlje |
Spojen na Vss, Vee i RW pin LCD-a (pin 1,3 i 5) |
Neke ploče Arduino mogu prikazati pogrešku tijekom prijenosa programa ako je nešto povezano s pin 0 i pin1, pa ako naiđete na to, samo uklonite tipkovnicu tijekom prijenosa programa.
Nakon završetka povezivanja, hardver će izgledati otprilike ovako u nastavku

Program kalkulator Arduino:
Kompletan Arduino Program za ovaj projekt daje na kraju ovog projekta. Kôd je podijeljen na male značajne dijelove i objašnjen u nastavku.
Kao što je ranije rečeno, spojit ćemo LCD i tipkovnicu s Arduinom pomoću knjižnica. Dakle, prvo ih dodajte u naš Arduino IDE. Knjižnica za LCD već je uključena u vaš Arduino prema zadanim postavkama, tako da ne moramo brinuti o tome. Za knjižnicu tipkovnice kliknite vezu da biste je preuzeli s Githuba. Dobit ćete ZIP datoteku, a zatim dodajte ovu datoteku u Arduino pomoću Skice -> Uključi biblioteku -> Dodaj.ZIP datoteku i usmjerite mjesto na ovu preuzetu datoteku. Kad završimo, svi smo spremni za programiranje.
Iako smo koristili knjižnicu za upotrebu tipkovnice, moramo spomenuti nekoliko detalja (prikazanih u nastavku) o tipkovnici Arduina. Varijabla REDOVI i COLS-ovi reći će koliko redaka i stupaca ima naša tipkovnica, a karta tipkovnica prikazuje redoslijed kojim su tipke prisutne na tipkovnici. Tipkovnica koju koristim u ovom projektu izgleda ovako ispod karte ključeva također predstavlja istu.
Dalje u nastavku spomenuli smo na koje je igle spojena tipkovnica pomoću promjenjivog niza rowPins i colPins .
const byte ROWS = 4; // Četiri reda const byte COLS = 4; // Tri stupca // Definiraj tipkovnice char tipke = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Spojite tipkovnicu ROW0, ROW1, ROW2 i ROW3 na ove Arduino pribadače. bajt colPins = {4, 5, 6, 7}; // Spojite tipkovnicu COL0, COL1 i COL2 na ove Arduino igle.
Nakon što smo spomenuli koju tipkovnicu koristimo i kako je povezana, tipkovnicu možemo stvoriti pomoću tih detalja pomoću donjeg retka
Tipkovnica kpd = tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS); // Stvorite tipkovnicu
Slično tome, također moramo reći na koje je pinove Arduina povezan LCD. Prema našem dijagramu spoja, definicije bi bile poput dolje
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pribadače na koje je povezan LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // stvorimo LCD
Unutar postavljanje funkcije, samo mi prikazuje naziv projekta, a zatim nastavite s while petlja gdje je glavni projekt laži.
U osnovi, moramo provjeriti da li se nešto tipka na tipkovnici, ako je tipkano moramo prepoznati što se tipka i pretvoriti ga u varijablu kad se pritisne "=" moramo izračunati rezultat i na kraju ga prikazati na LCD-u. To je upravo ono što se radi unutar funkcije petlje kao što je prikazano dolje
ključ = kpd.getKey (); // spremanje vrijednosti pritisnute tipke u char ako (key! = NO_KEY) DetectButtons (); if (rezultat == tačno) CalculateResult (); DisplayResult ();
Što se događa unutar svake funkcije objašnjeno je pomoću redaka komentara, prođite kroz donji cjeloviti kod, petljajte se oko njega kako biste shvatili kako to zapravo radi. Ako sumnjate u određenu liniju, slobodno upotrijebite odjeljak za komentare ili forume.
Simulacija Arduino kalkulatora:
Također možemo pokušati simulirati projekt pomoću softvera Proteus. Proteus samostalno nema komponentu Arduino, ali se lako može preuzeti i dodati u svoju knjižnicu. Jednom kada na Proteus imate Arduino komponentu, dodajte alfanumerički LCD i tipkovnicu kako biste uspostavili vezu kako je prikazano na shemi spojeva.
Zatim preuzmite hex datoteku odavde i dodajte je u Arduino dvostrukim klikom na ploču u Proteusu i usmjerite "programsku datoteku" na ovu preuzetu hex datoteku. Kratki snimak simulacije prikazan je u nastavku, a kompletan rad prikazan je u video ispod.

Napomena: Navedena hex datoteka nije istovjetna originalu dolje navedenog programa. Izmijenjen je od kako je karta tipkovnice simulacijske tipkovnice, a stvarna hardverska tipkovnica je drugačija.
Rad Arduino kalkulatora:
Povežite se prema shemi sklopa i prenesite kôd u nastavku. Ako se prikaže pogreška, provjerite jeste li dodali knjižnicu prema gore navedenim uputama. Također možete isprobati simulaciju kako biste provjerili je li problem u vašem hardveru. Ako je sve izvedeno kako bi trebalo biti, tada će vaš hardver izgledati otprilike ovako s LCD-om koji to prikazuje

Budući da ovdje korištena tipkovnica nema odgovarajuće oznake, pretpostavio sam da su abecede operateri kako je navedeno u nastavku
|
Znak na tipkovnici |
Pretpostavlja se |
|
"A" |
Zbrajanje (+) |
|
"B" |
Oduzimanje (-) |
|
"C" |
Množenje (*) |
|
"D" |
Podjela (/) |
|
"*" |
Vedro (C) |
|
"#" |
Jednako (=) |
Pomoću markera možete napisati što zapravo predstavlja svaki gumb.
Nakon toga možete izravno početi koristiti kalkulator. Utipkajte broj i pojavit će se u drugom retku, pritisnite operand i unesite svoj drugi broj, a na kraju pritisnite tipku "#" da biste dobili rezultat. Također možete pokušati izraditi ovaj Arduino kalkulator zaslon osjetljiv na dodir.
