- Potrebné materiály:
- Schéma zapojenia:
- Program kalkulačky Arduino:
- Simulácia kalkulačky Arduino:
- Práca kalkulačky Arduino:
Programovanie je vždy zábavné a Arduino je skvelá platforma, ak ešte len začínate s programovaním Embedded. V tomto tutoriáli si zostavíme vlastnú kalkulačku s Arduinom. Hodnoty je možné odosielať pomocou klávesnice (klávesnica 4 × 4) a výsledok je možné zobraziť na obrazovke LCD (16 × 2 Dot-matrix). Táto kalkulačka môže vykonávať jednoduché operácie ako sčítanie, odčítanie, násobenie a delenie s celými číslami. Ale akonáhle pochopíte tento koncept, môžete implementovať aj vedecké funkcie pomocou zabudovaných funkcií Arduina.
Na konci tohto projektu budete vedieť, ako používať 16x2 LCD a klávesnicu s Arduinom, a tiež to, aké ľahké je programovať pre nich pomocou ľahko dostupných knižníc. Tiež pochopíte, ako naprogramovať svoje Arduino na vykonanie konkrétnej úlohy.
Potrebné materiály:
- Arduino Uno (každá verzia bude fungovať)
- 16 × 2 LCD displej
- Klávesnica 4 × 4
- 9V batéria
- Nepájivé pole a spojovacie drôty
Schéma zapojenia:
Kompletná schéma zapojenia tohto projektu kalkulačky Arduino je uvedená vyššie. Pripojenie + 5 V a uzemnenie zobrazené v schéme zapojenia je možné získať z 5 V a uzemňovacieho kolíka Arduina. Samotné Arduino je možné napájať z vášho notebooku alebo cez DC jack pomocou 12V adaptéra alebo 9V batérie.
LCD prevádzkujeme v 4-bitovom režime s Arduinom, takže k Arduinu sú pripojené iba posledné štyri dátové bity LCD. Klávesnica bude mať 8 výstupných pinov, ktoré musia byť pripojené od pinu 0 k pinu 7, ako je uvedené vyššie. Nasledujúcu tabuľku pripojení môžete použiť na overenie spojenia s Arduinom. Môžete tiež skontrolovať prepojenie klávesníc 4x4 s Arduinom.
Názov pinu Arduino: |
Pripojený k: |
D0 |
1 st pin klávesnice |
D1 |
2 nd kolík klávesnice |
D2 |
3 rd pin klávesnica |
D3 |
4 th pin klávesnice |
D4 |
5 th čap klávesnice |
D5 |
6 th pin klávesnice |
D6 |
7 th kolík klávesnice |
D7 |
8 th pin klávesnice |
D8 |
Zaregistrujte vybraný pin LCD (pin 4) |
D9 |
Povoliť pin LCD (pin 6) |
D10 |
Dátový pin 4 (pin 11) |
D11 |
Dátový pin 4 (pin 11) |
D12 |
Dátový pin 4 (pin 11) |
D13 |
Dátový pin 4 (pin 11) |
+ 5V |
Pripojené k Vdd pinu LCD (pin 2) |
Uzemnenie |
Pripojené k kolíku Vss, Vee a RW LCD (kolíky 1,3 a 5) |
Niektoré dosky Arduino môžu pri nahrávaní programu zobrazovať chybu, ak je niečo spojené s pinmi 0 a Pin1, takže ak narazíte na nejaké, počas nahrávania programu stačí odstrániť klávesnicu.
Po dokončení vašich pripojení bude váš hardvér vyzerať nasledovne
Program kalkulačky Arduino:
Kompletné Arduino Program pre tento projekt je uvedený na konci tohto projektu. Kód je rozdelený na malé zmysluplné bloky a je vysvetlený nižšie.
Ako už bolo povedané, prepojíme LCD a klávesnicu s Arduino pomocou knižníc. Poďme si ich teda najskôr pridať do nášho Arduino IDE. Knižnica pre LCD je vo vašom Arduine už predvolene zahrnutá, takže si s ňou nemusíme robiť starosti. Pre knižnicu klávesníc kliknite na odkaz a stiahnite si ju z Githubu. Získate súbor ZIP, potom pridajte toto lib do Arduina pomocou Sketch -> Zahrnúť knižnicu -> Pridať súbor.ZIP a nasmerujte umiestnenie na tento stiahnutý súbor. Keď sme hotoví, sme pripravení na programovanie.
Aj keď sme na používanie klávesnice používali knižnicu, musíme spomenúť niekoľko podrobností (zobrazených nižšie) o klávesnici pre Arduino. Premenná ROWS a COLS napovie, koľko riadkov a stĺpcov má naša klávesnica a mapa klávesov zobrazuje poradie, v akom sú klávesy na klávesnici. Klávesnica, ktorú používam v tomto projekte, vyzerá takto nižšie na mape klávesov, čo tiež predstavuje to isté.
Ďalej sme si spomenuli, ku ktorým pinom je klávesnica pripojená pomocou variabilného poľa rowPins a colPins .
konštajtový byte RIADKY = 4; // Štyri riadky const byte COLS = 4; // Tri stĺpce // Definujte kľúčové znaky Keymap = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // K týmto pinom Arduino pripojte klávesnicu ROW0, ROW1, ROW2 a ROW3. byte colPins = {4, 5, 6, 7}; // Pripojte klávesnicu COL0, COL1 a COL2 k týmto pinom Arduino.
Keď už sme spomenuli, aký typ klávesnice používame a ako je pripojená, môžeme pomocou týchto podrobností vytvoriť klávesnicu pomocou týchto podrobností
Klávesnica kpd = Klávesnica (makeKeymap (klávesy), RowPins, ColPins, ROWS, COLS); // Vytvorenie klávesnice
Podobne musíme tiež povedať, ku ktorým pinom Arduina je pripojený LCD. Podľa našej schémy zapojenia sú definované nižšie
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Kolíky, ku ktorým je pripojený LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // vytvorenie LCD
Vnútri nastavenie funkcií, sme jednoducho zobrazí názov projektu a potom pokračovať do while, kde je hlavný projekt lži.
V zásade musíme skontrolovať, či sa niečo na klávesnici píše, ak zadávame, musíme rozpoznať, čo sa práve píše, a potom to previesť na premennú, keď je stlačené „=“, musíme vypočítať výsledok a nakoniec to zobraziť na LCD displeji. Presne to sa deje vo vnútri funkcie slučky, ako je uvedené nižšie
key = kpd.getKey (); // uloženie hodnoty stlačeného klávesu do znaku if (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Čo sa deje vo vnútri každej funkcie, je vysvetlené pomocou riadkov komentárov. Prejdite si kompletný kód uvedený nižšie a hrajte si s nimi, aby ste pochopili, ako to v skutočnosti funguje. Ak máte pochybnosti o konkrétnom linku, pokojne použite sekciu komentárov alebo fóra.
Simulácia kalkulačky Arduino:
Môžeme tiež vyskúšať simuláciu projektu pomocou softvéru Proteus. Proteus nemá sám o sebe komponent Arduino, ale dá sa ľahko stiahnuť a pridať do svojej knižnice. Keď už máte na počítači Proteus komponent Arduino, stačí pridať alfanumerický LCD a klávesnicu, aby sa spojenie uskutočnilo podľa schémy zapojenia.
Potom odtiaľto stiahnite hexadecimálny súbor a pridajte ho do Arduina dvojitým kliknutím na dosku v aplikácii Proteus a nasmerujte „programový súbor“ na tento stiahnutý hexadecimálny súbor. Rýchly záber simulácie je uvedený nižšie, úplné fungovanie je zobrazené na videu nižšie.
Poznámka: Uvedený hexadecimálny súbor nie je rovnaký ako originál nižšie uvedeného programu. Bolo upravené, pretože klávesová mapa simulačnej klávesnice a skutočná hardvérová klávesnica sú odlišné.
Práca kalkulačky Arduino:
Pripojte káble podľa schémy zapojenia a vložte kód uvedený nižšie. Ak sa zobrazí chyba, uistite sa, že ste knižnicu pridali podľa pokynov uvedených vyššie. Môžete tiež vyskúšať simuláciu a skontrolovať, či je problém s hardvérom. Ak je všetko hotové tak, ako má byť, potom bude váš hardvér vyzerať takto nižšie a na LCD displeji sa bude zobrazovať táto informácia
Pretože tu použitá klávesnica nemá správne označenie, predpokladal som, že Abecedy sú operátory, ako je uvedené nižšie
Znak na klávesnici |
Predpokladá sa, že bude |
„A“ |
Sčítanie (+) |
„B“ |
Odčítanie (-) |
„C“ |
Násobenie (*) |
„D“ |
Divízia (/) |
„*“ |
Vymazať (C) |
„#“ |
Rovná sa (=) |
Môžete použiť značku na napísanie toho, čo každé tlačidlo v skutočnosti predstavuje.
Po dokončení môžete priamo začať používať kalkulačku. Zadajte číslo a objaví sa na druhom riadku, stlačte operand a zadajte svoje druhé číslo. Nakoniec stlačte kláves „#“, aby ste dosiahli výsledok. Môžete tiež vyskúšať zostavenie tejto kalkulačky Arduino založenej na dotykovej obrazovke.