- Potrebni materiali:
- Shema vezja:
- Program kalkulatorja Arduino:
- Simulacija kalkulatorja Arduino:
- Delovanje Arduino kalkulatorja:
Programiranje je vedno zabavno in Arduino je čudovita platforma, če šele začenjate z vgrajenim programiranjem. V tej vadnici bomo z Arduinom izdelali lasten kalkulator. Vrednosti lahko pošljete preko tipkovnice (tipkovnica 4 × 4), rezultat pa si lahko ogledate na LCD zaslonu (matriko 16 × 2 s pikami). Ta kalkulator lahko izvaja preproste operacije, kot so seštevanje, odštevanje, množenje in deljenje s celimi števili. Ko pa enkrat razumete koncept, lahko z vgrajenimi funkcijami Arduino izvajate celo znanstvene funkcije.
Na koncu tega projekta boste vedeli, kako uporabljati 16x2 LCD in tipkovnico z Arduino in kako enostavno jih je programirati z lahko dostopnimi knjižnicami. Razumeli boste tudi, kako programirati svoj Arduino za izvajanje določene naloge.
Potrebni materiali:
- Arduino Uno (katera koli različica bo delovala)
- 16 × 2 LCD zaslon
- Tipkovnica 4 × 4
- 9V baterija
- Breadboard in povezovalne žice
Shema vezja:
Popoln diagram vezja tega projekta Arduino Calculator je naveden zgoraj. Povezavo + 5V in ozemljitev, prikazano v vezju, lahko dobite iz 5V in ozemljitvenega zatiča Arduino. Sam Arduino lahko napajate iz prenosnika ali prek enosmerne vtičnice z 12V adapterjem ali 9V baterijo.
Z Arduinom upravljamo LCD v 4-bitnem načinu, zato so na Arduino priključeni le zadnji štirje podatkovni biti LCD-ja. Tipkovnica bo imela 8 izhodnih zatičev, ki jih je treba povezati od zatiča 0 do zatiča 7, kot je prikazano zgoraj. Za preverjanje povezave z Arduinom lahko uporabite naslednjo tabelo povezav, lahko pa tudi preverite povezavo tipkovnice 4x4 z Arduino.
Ime Arduino Pin: |
Povezan z: |
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 th pin tipkovnice |
D6 |
7 th pin tipkovnice |
D7 |
8 th pin tipkovnice |
D8 |
Registrirajte izbrani pin LCD-ja (pin 4) |
D9 |
Omogoči pin LCD (pin 6) |
D10 |
Podatkovni zatič 4 (zatič 11) |
D11 |
Podatkovni zatič 4 (zatič 11) |
D12 |
Podatkovni zatič 4 (zatič 11) |
D13 |
Podatkovni zatič 4 (zatič 11) |
+ 5V |
Priključen na Vdd pin LCD (pin 2) |
Tla |
Priključen na Vss, Vee in RW pin LCD (pin 1,3 in 5) |
Nekatere plošče Arduino lahko pri nalaganju programa prikažejo napako, če je kaj priključeno na nožice 0 in pin1, zato če med nalaganjem programa naletite na tipkovnico.
Ko so povezave končane, bo vaša strojna oprema videti spodaj približno tako
Program kalkulatorja Arduino:
Popolna Arduino programa za ta projekt je navedena na koncu tega projekta. Koda je razdeljena na majhne pomembne koščke in je razložena spodaj.
Kot smo že povedali, bomo LCD in tipkovnico povezali z Arduino s pomočjo knjižnic. Torej, najprej jih dodajte v naš Arduino IDE. Knjižnica za LCD je privzeto že vključena v vaš Arduino, zato nam ni treba skrbeti. Za knjižnico tipkovnice kliknite povezavo, da jo prenesete iz Github-a. Dobili boste datoteko ZIP, nato jo dodajte v Arduino s Sketch -> Include Library -> Add.ZIP datoteko in usmerite lokacijo na to preneseno datoteko. Ko končamo, smo vsi pripravljeni na programiranje.
Čeprav smo za uporabo tipkovnice uporabljali knjižnico, moramo omeniti nekaj podrobnosti (prikazanih spodaj) o tipkovnici Arduino. Spremenljivka ROWS in COLS bo povedala, koliko vrstic in stolpcev ima naša tipkovnica, razpored tipk pa prikazuje vrstni red prisotnosti tipk na tipkovnici. Tudi tipkovnica, ki jo uporabljam v tem projektu, je videti spodaj na zemljevidu ključev.
V nadaljevanju smo omenili, na katere nožice je priključena tipkovnica z uporabo spremenljivega polja rowPins in colPins .
const byte ROWS = 4; // Štiri vrstice const byte COLS = 4; // Trije stolpci // Določite tipke char key = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // na te zatiče Arduino povežemo tipkovnico ROW0, ROW1, ROW2 in ROW3. bajtov colPins = {4, 5, 6, 7}; // Priključite tipkovnico COL0, COL1 in COL2 na te zatiče Arduino.
Ko smo že omenili, katero tipkovnico uporabljamo in kako je povezana, lahko tipkovnico ustvarimo z uporabo teh podrobnosti s spodnjo vrstico
Tipkovnica kpd = tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS); // Ustvari tipkovnico
Podobno moramo tudi povedati, na katere nožice Arduina je povezan LCD. Glede na naš diagram vezja bi bile opredelitve podobne spodnjim
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // zatiči, na katere je priključen LCD, LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // ustvarimo LCD
Znotraj nastavitvene funkcije samo prikažemo ime projekta in nato nadaljujemo do zanke while, kjer leži glavni projekt.
V bistvu moramo preveriti, ali se na tipkovnici kaj vtipka, če je vtipkano, moramo prepoznati, kaj se vtipka, in ga nato ob pritisku na "=" pretvoriti v spremenljivko, izračunati rezultat in ga na koncu prikazati na LCD-prikazovalniku. To je točno tisto, kar se naredi znotraj funkcije zanke, kot je prikazano spodaj
key = kpd.getKey (); // shranjevanje vrednosti pritisnjene tipke v char, če (ključ! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Kaj se zgodi znotraj posamezne funkcije, je razloženo s pomočjo vrstic za komentarje, preglejte celotno spodnjo kodo, se poigrajte z njo, da razumete, kako dejansko deluje. Če dvomite o določeni vrstici, vas prosimo, da uporabite odsek za komentarje ali forume.
Simulacija kalkulatorja Arduino:
Prav tako lahko poskusimo simulirati projekt s programsko opremo Proteus. Proteus sam nima komponente Arduino, vendar ga je mogoče enostavno prenesti in dodati v svojo knjižnico. Ko imate komponento Arduino na Proteusu, dodajte alfanumerični LCD in tipkovnico, da vzpostavite povezavo, kot je prikazano na vezju.
Nato od tu prenesite šestnajstiško datoteko in jo dodajte v Arduino, tako da dvokliknete na ploščo v programu Proteus in na to preneseno šestnajstiško datoteko usmerite "programsko datoteko". Hitri posnetek simulacije je prikazan spodaj, celotno delo je prikazano v spodnjem videu.
Opomba: Navedena šestnajstiška datoteka ni enaka originalu spodaj navedenega programa. Prilagojen je bil že od razporeda tipkovnice simulacijske tipkovnice in dejanska tipkovnica strojne opreme je drugačna.
Delovanje Arduino kalkulatorja:
Povežite se po shemi vezja in naložite spodnjo kodo. Če se prikaže napaka, preverite, ali ste knjižnico dodali v skladu z zgornjimi navodili. Poskusite lahko tudi s simulacijo, da preverite, ali je težava v vaši strojni opremi. Če je vse narejeno tako, kot bi moralo biti, bo vaša strojna oprema spodaj videti nekako tako, LCD bo to prikazal
Ker tukaj uporabljena tipkovnica nima ustreznih oznak, sem predpostavil, da so abecede operaterji, kot je navedeno spodaj
Znak na tipkovnici |
Predvideva se |
"A" |
Dodatek (+) |
"B" |
Odštevanje (-) |
"C" |
Množenje (*) |
"D" |
Oddelek (/) |
"*" |
Počisti (C) |
"#" |
Enako (=) |
Z markerjem lahko napišete, kaj posamezen gumb dejansko predstavlja.
Ko končate, lahko neposredno začnete uporabljati kalkulator. Vtipkajte številko in se bo pojavila v drugi vrstici, pritisnite operand in vnesite svojo drugo številko, končno pritisnite tipko "#", da dobite rezultat. Poskusite lahko tudi zgraditi ta kalkulator Arduino na zaslonu na dotik.