2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
V tomto tutoriálu si vytvoříme vlastní kalkulačku s Arduinem. Hodnoty lze odeslat pomocí klávesnice (klávesnice 4 × 4) a výsledek lze zobrazit na obrazovce LCD. Tato kalkulačka mohla provádět jednoduché operace jako sčítání, odčítání, násobení a dělení s celými čísly. Ale jakmile porozumíte konceptu, můžete pomocí vestavěných funkcí Arduina implementovat i vědecké funkce.
Zásoby
Arduino Uno
16 × 2 LCD displej
Klávesnice 4 × 4
Prkénko
Propojovací kabely
Arduino kabel
Krok 1: Schémata
Krok 2: Instalace knihovny:
Jak již bylo řečeno, chystáme se propojit LCD a klávesnici s Arduino pomocí knihoven. Pojďme je tedy nejprve přidat do našeho Arduino IDE. Knihovna pro LCD je již ve výchozím nastavení součástí vašeho Arduina, takže si s tím nemusíme dělat starosti. Pro knihovnu klávesnic (kliknutím na odkaz ji stáhnete z Githubu). Získáte soubor ZIP, poté toto lib přidáte do Arduina pomocí Sketch -> Include Library -> Add. ZIP file a ukažte umístění na tento stažený soubor. Jakmile jsme hotovi, jsme všichni připraveni na programování.
Krok 3: Zdrojový kód:
/*
© Techtronic Harsh
*/
#zahrnout
#zahrnout
LiquidCrystal lcd (0, 1, 2, 3, 4, 5);
konstantní bajty Řádky = 4; konstantní bajt COLS = 4;
znaky [ROWS] [COLS] = {
{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; byte colPins [COLS] = {9, 8, 7, 6};
Keypad myKeypad = Klávesnice (makeKeymap (klíče), rowPins, colPins, ROWS, COLS);
boolean presentValue = false;
boolean next = false; boolean final = false; Řetězec num1, num2; int odpověď; char op;
neplatné nastavení ()
{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print („Techtronic Harsh“); lcd.setCursor (0, 1); lcd.print („kalkulačka“); zpoždění (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („To se mi líbí“); lcd.setCursor (0, 1); lcd.print („Přihlaste se k odběru nás“); zpoždění (3000); lcd.clear (); }
prázdná smyčka () {
char key = myKeypad.getKey ();
if (klíč! = NO_KEY && (klíč == '1' || klíč == '2' || klíč == '3' || klíč == '4' || klíč == '5' || klíč = = '6' || klíč == '7' || klíč == '8' || klíč == '9' || klíč == '0'))
{if (presentValue! = true) {num1 = num1 + klíč; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // pro úpravu jednoho bílého prostoru pro operátor lcd.print (num1); } else {num2 = num2 + klíč; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); final = true; }}
else if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{if (presentValue == false) {presentValue = true; op = klíč; lcd.setCursor (15, 0); lcd.print (op); }}
else if (final == true && key! = NO_KEY && key == '=') {
if (op == ' +') {answer = num1.toInt () + num2.toInt (); } else if (op == ' -') {answer = num1.toInt () - num2.toInt (); } else if (op == ' *') {answer = num1.toInt () * num2.toInt (); } else if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (odpověď); lcd.noAutoscroll (); } else if (klíč! = NO_KEY && klíč == 'C') {lcd.clear (); presentValue = false; final = false; num1 = ""; num2 = ""; odpověď = 0; op = ''; }}
/*
© Techtronic Harsh
*/
Krok 4: Práce:
Proveďte připojení podle schématu zapojení a nahrajte kód. Pokud se zobrazí chyba, ujistěte se, že jste přidali knihovnu podle výše uvedených pokynů.
Znak na klávesnici a předpoklad:
- „A“- sčítání (+)
- „B“- Odečtení (-)
- „C“- Násobení (*)
- „D“- divize (/)
- „*“- Vymazat (C)
- „#“- rovná se (=)