- Potřebné materiály:
- Kruhový diagram:
- Program kalkulačky Arduino:
- Simulace kalkulačky Arduino:
- Práce s kalkulačkou Arduino:
Programování je vždy zábavné a Arduino je skvělá platforma, pokud s programováním Embedded teprve začínáte. V tomto tutoriálu sestavíme vlastní kalkulačku s Arduinem. Hodnoty lze odesílat pomocí klávesnice (klávesnice 4 × 4) a výsledek lze zobrazit na LCD obrazovce (16 × 2 Dot-matrix). Tato kalkulačka může provádět jednoduché operace, jako je sčítání, odčítání, násobení a dělení s celými čísly. Ale jakmile pochopíte tento koncept, můžete implementovat i vědecké funkce pomocí vestavěných funkcí Arduina.
Na konci tohoto projektu budete vědět, jak používat 16x2 LCD a klávesnici s Arduino a také, jak snadné je pro ně programovat pomocí snadno dostupných knihoven. Pochopíte také, jak naprogramovat Arduino pro splnění konkrétního úkolu.
Potřebné materiály:
- Arduino Uno (jakákoli verze bude fungovat)
- 16 × 2 LCD displej
- Klávesnice 4 × 4
- 9V baterie
- Nepájivé pole a spojovací dráty
Kruhový diagram:
Kompletní schéma zapojení tohoto projektu kalkulačky Arduino je uvedeno výše. Připojení + 5 V a uzemnění zobrazené ve schématu zapojení lze získat z 5 V a zemního kolíku Arduina. Samotné Arduino lze napájet z vašeho notebooku nebo pomocí DC konektoru pomocí 12V adaptéru nebo 9V baterie.
Displej LCD provozujeme ve 4bitovém režimu s Arduinem, takže k Arduinu jsou připojeny pouze poslední čtyři datové bity LCD. Klávesnice bude mít 8 výstupních pinů, které musí být připojeny od pinu 0 k pinu 7, jak je uvedeno výše. V následující tabulce připojení můžete ověřit své připojení k Arduinu, můžete také zkontrolovat propojení klávesnic 4x4 s Arduinem.
Název Pin Arduino: |
Připojen k: |
D0 |
1 st pin klávesnice |
D1 |
2 nd kolík klávesnice |
D2 |
3 rd pin klávesnice |
D3 |
4 th pin klávesnice |
D4 |
5 th čep klávesnice |
D5 |
6 th pin klávesnice |
D6 |
7 th kolík klávesnice |
D7 |
8 th pin klávesnice |
D8 |
Zaregistrujte vybraný kolík LCD (kolík 4) |
D9 |
Povolit kolík LCD (kolík 6) |
D10 |
Datový kolík 4 (kolík 11) |
D11 |
Datový kolík 4 (kolík 11) |
D12 |
Datový kolík 4 (kolík 11) |
D13 |
Datový kolík 4 (kolík 11) |
+ 5V |
Připojeno k Vdd pinu LCD (pin 2) |
Přízemní |
Připojeno k Vss, Vee a RW pinu LCD (piny 1,3 a 5) |
Některé desky Arduino mohou při nahrávání programu zobrazovat chybu, pokud je něco připojeno k pinům 0 a Pin1, takže pokud se setkáte s některými, jednoduše odeberte klávesnici během nahrávání programu.
Po dokončení připojení bude hardware vypadat níže
Program kalkulačky Arduino:
Kompletní Arduino Program pro tento projekt je uveden na konci tohoto projektu. Kód je rozdělen na malé smysluplné bloky a je vysvětleno níže.
Jak již bylo řečeno, budeme propojovat LCD a klávesnici s Arduino pomocí knihoven. Nejprve je tedy přidáme do našeho Arduino IDE. Knihovna pro LCD je ve vašem Arduinu již ve výchozím nastavení zahrnuta, takže si s ní nemusíme dělat starosti. Knihovnu klávesnic si můžete stáhnout z Githubu kliknutím na odkaz. Získáte soubor ZIP, přidejte toto lib do Arduina pomocí Sketch -> Zahrnout knihovnu -> Přidat soubor.ZIP a nasměrujte umístění na tento stažený soubor. Jakmile jsme hotovi, jsme připraveni na programování.
I když jsme pro používání klávesnice použili knihovnu, musíme zmínit několik podrobností (zobrazených níže) o klávesnici pro Arduino. Proměnná ROWS a COLS řekne, kolik řádků a sloupců má naše klávesnice a mapa kláves ukazuje pořadí, v jakém jsou klávesy na klávesnici. Klávesnice, kterou používám v tomto projektu, vypadá níže na mapě kláves, což také představuje totéž.
Dále jsme uvedli, ke kterým pinům je klávesnice připojena pomocí variabilního pole rowPins a colPins .
const byte ROWS = 4; // Čtyři řádky const byte COLS = 4; // Tři sloupce // Definujte klíče klíče Keymap = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Připojte klávesnici ROW0, ROW1, ROW2 a ROW3 k těmto pinům Arduino. byte colPins = {4, 5, 6, 7}; // Připojte klávesnici COL0, COL1 a COL2 k těmto pinům Arduino.
Jakmile jsme zmínili, jaký typ klávesnice používáme a jak je připojena, můžeme klávesnici vytvořit pomocí těchto podrobností pomocí řádku níže
Keyboard kpd = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Vytvoření klávesnice
Podobně musíme také říct, ke kterým pinům Arduina je připojen LCD. Podle našeho schématu budou definice vypadat jako níže
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Kolíky, ke kterým je připojen LCD LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // vytvoření LCD
Uvnitř nastavení funkcí, jsme prostě zobrazí název projektu a pak pokračovat do while, kde je hlavní projekt lži.
V zásadě musíme zkontrolovat, zda se na klávesnici něco píše, pokud zadáme, musíme rozpoznat, co se právě píše, a poté to převést na proměnnou, když je stisknuto „=“, musíme vypočítat výsledek a nakonec to zobrazit na LCD. Přesně to se děje uvnitř funkce smyčky , jak je znázorněno níže
key = kpd.getKey (); // uložení hodnoty stisknuté klávesy do znaku if (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult ();
Co se děje uvnitř každé funkce, je vysvětleno pomocí řádků komentářů, projděte si celý níže uvedený kód a projděte si to, abyste pochopili, jak to vlastně funguje. Pokud máte pochybnosti o konkrétním řádku, můžete použít sekci komentářů nebo fóra.
Simulace kalkulačky Arduino:
Můžeme také zkusit simulovat projekt pomocí softwaru Proteus. Proteus nemá vlastní komponentu Arduino, ale lze jej snadno stáhnout a přidat do své knihovny. Jakmile máte komponentu Arduino na Proteus, stačí přidat alfanumerický LCD a klávesnici, abyste vytvořili připojení, jak je znázorněno na schématu zapojení.
Poté stáhněte hexadecimální soubor odtud a přidejte jej do Arduina dvojitým kliknutím na desce v Proteus a nasměrujte „programový soubor“ na tento stažený hexadecimální soubor. Rychlý snímek simulace je uveden níže, kompletní fungování je uvedeno na videu níže.
Poznámka: Uvedený hexadecimální soubor není stejný jako originál níže uvedeného programu. Byla upravena tak, aby se odlišovala klávesová mapa simulační klávesnice a skutečná hardwarová klávesnice.
Práce s kalkulačkou Arduino:
Proveďte připojení podle schématu zapojení a nahrajte níže uvedený kód. Pokud se zobrazí chyba, ujistěte se, že jste přidali knihovnu podle výše uvedených pokynů. Můžete také vyzkoušet simulaci a zkontrolovat, zda je problém s vaším hardwarem. Pokud je vše hotové tak, jak má být, bude váš hardware vypadat níže tak, jak to zobrazuje LCD
Vzhledem k tomu, že zde použitá klávesnice nemá správné označení, předpokládám, že abecedy jsou operátory, jak je uvedeno níže
Znak na klávesnici |
Předpokládá se |
"A" |
Sčítání (+) |
„B“ |
Odečtení (-) |
"C" |
Násobení (*) |
„D“ |
Divize (/) |
„*“ |
Vymazat (C) |
„#“ |
Se rovná (=) |
Pomocí značky můžete přepsat, co každé tlačítko ve skutečnosti představuje.
Po dokončení můžete přímo začít používat kalkulačku. Zadejte číslo a objeví se na druhém řádku stiskněte operand a zadejte své druhé číslo a nakonec stiskněte klávesu „#“ pro získání výsledku. Můžete také zkusit sestavit tuto kalkulačku Arduino založenou na dotykové obrazovce.