Obsah:

Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4: 4 kroky
Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4: 4 kroky

Video: Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4: 4 kroky

Video: Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4: 4 kroky
Video: Lesson 4: What are Binary, Decimal, Hexadecimal and Octal Number, Arduino Serial Monitor | Robojax 2024, Listopad
Anonim
Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4
Arduino DIY kalkulačka pomocí 1602 LCD a klávesnice 4x4

Ahoj kluci, v tomto návodu vám vyrobíme kalkulačku pomocí Arduina, která umí základní výpočty. V zásadě tedy vezmeme vstup z klávesnice 4x4 a vytiskneme data na 16x2 LCD displej a arduino provede výpočty.

Krok 1: Věci, které potřebujete

Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete
Věci, které potřebujete

Pro tento instruktáž budeme potřebovat následující věci: Arduino Uno (jakákoli verze bude fungovat)

16 × 2 LCD displej

Klávesnice 4 × 4 9V baterie Breadboard Připojení vodičů

Krok 2: Připojení

Připojení
Připojení
Připojení
Připojení

Kompletní schéma zapojení tohoto projektu kalkulačky Arduino je uvedeno výše. Připojení +5V a uzemnění zobrazené ve schématu zapojení lze získat z 5V a uzemňovacího kolíku Arduina. Samotné Arduino lze napájet z vašeho notebooku nebo pomocí DC konektoru pomocí 12 V adaptéru nebo 9V baterie. 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 do pinu 7, jak je uvedeno výše. Některé desky Arduino mohou při nahrávání programu zobrazovat chybu, pokud je na pinu 0 a pinu1 něco připojeno, takže pokud narazíte na nějaké, stačí odstranit klávesnici při nahrávání programu.

Krok 3: Kód

Kód
Kód

Zkopírujte následující kód a nahrajte do něj své arduino:/ * * Arduino Keyboard Calculator Program */#include "LiquidCrystal.h" // Soubor záhlaví pro LCD z https://www.arduino.cc/en/Reference/LiquidCrystal# zahrnout „Keypad.h“// Soubor záhlaví pro klávesnici z https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Čtyřřádkový bajt COLS = 4; // Tři sloupce // Definujte klíče Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Připojte klávesnici ROW0, ROW1, ROW2 a ROW3 k těmto pinům Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // K těmto pinům Arduino připojte klávesnici COL0, COL1 a COL2. Keypad kpd = Keypad (makeKeymap (klíče), rowPins, colPins, ROWS, COLS); // Vytvořte Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Piny, ke kterým je připojen LCDLiquidCrystal lcd (rs, en, d4, d5, d6, d7); dlouhý Num1, Num2, Number; char klíč, akce; boolean result = false; void setup () {lcd.begin (16, 2); // Používáme 16*2 LCD displej lcd.print ("DIY Calculator"); // Zobrazení úvodní zprávy lcd.setCursor (0, 1); // nastavit kurzor na sloupec 0, zpoždění řádku 1 (2000); // Počkejte, až se na displeji zobrazí informace lcd.clear (); // Potom jej vyčistěte} void loop () {key = kpd.getKey (); // uložení hodnoty stisknuté klávesy na charif (klíč! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } neplatné DetectButtons () {lcd.clear (); // Potom jej vyčistěte if (key == '*') // Pokud je stisknuto tlačítko Cancel {Serial.println ("Button Cancel"); Number = Num1 = Num2 = 0; result = false;} if (key == '1') // Pokud je stisknuto tlačítko 1 {Serial.println ("Tlačítko 1"); if (Number == 0) Number = 1; jinak Číslo = (Číslo*10) + 1; // Stiskněte dvakrát} if (klávesa == '4') // Pokud je stisknuto tlačítko 4 {Serial.println ("Tlačítko 4"); if (Number == 0) Number = 4; jinak Číslo = (Číslo*10) + 4; // Stiskněte dvakrát} if (klávesa == '7') // Pokud je stisknuto tlačítko 7 {Serial.println ("Tlačítko 7"); if (Number == 0) Number = 7; jinak Číslo = (Číslo*10) + 7; // Stiskněte dvakrát} if (klíč == '0') {Serial.println ("Tlačítko 0"); // Tlačítko 0 je stisknuto, pokud (Číslo == 0) Číslo = 0; jinak Číslo = (Číslo*10) + 0; // Stiskněte dvakrát} if (key == '2') // Tlačítko 2 je stisknuto {Serial.println ("Tlačítko 2"); if (Number == 0) Number = 2; jinak Číslo = (Číslo*10) + 2; // Stiskněte dvakrát} if (klíč == '5') {Serial.println ("Tlačítko 5"); if (Number == 0) Number = 5; jinak Číslo = (Číslo*10) + 5; // Stiskněte dvakrát} if (klíč == '8') {Serial.println ("Tlačítko 8"); if (Number == 0) Number = 8; jinak Číslo = (Číslo*10) + 8; // Stiskněte dvakrát} if (key == '#') {Serial.println ("Button Equal"); Num2 = číslo; výsledek = true; } if (key == '3') {Serial.println ("Button 3"); if (Number == 0) Number = 3; jinak Číslo = (Číslo*10) + 3; // Stiskněte dvakrát} if (klíč == '6') {Serial.println ("Tlačítko 6"); if (Number == 0) Number = 6; jinak Číslo = (Číslo*10) + 6; // Stiskněte dvakrát} if (klíč == '9') {Serial.println ("Tlačítko 9"); if (Number == 0) Number = 9; jinak Číslo = (Číslo*10) + 9; // Stiskněte dvakrát} if (klíč == 'A' || klíč == 'B' || klíč == 'C' || klíč == 'D') // Detekce tlačítek ve sloupci 4 {Num1 = Číslo; Číslo = 0; if (klíč == 'A') {Serial.println ("Přidání"); action = '+';} if (key == 'B') {Serial.println ("Subtraction"); action = '-'; } if (key == 'C') {Serial.println ("Násobení"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} zpoždění (100); }}

neplatné CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // nastavte kurzor na sloupec 0, řádek 1 lcd.print (Num1); lcd.print (akce); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Number);} // Zobrazí výsledek lcd.setCursor (0, 1); // nastavte kurzor na sloupec 0, řádek 1 lcd.print (Number); // Zobrazit výsledek}

Krok 4: Výstup kalkulačky

Výstup kalkulačky
Výstup kalkulačky
Výstup kalkulačky
Výstup kalkulačky
Výstup kalkulačky
Výstup kalkulačky

Dokončili jsme připojení a nahráli kód do arduina a jeho čas připojit napájení a provést nějaké výpočty, a jak vidíte, provádím výpočty pomocí klávesnice a výsledky můžete vidět na LCD. Bavte se tedy při vytváření vlastní kutilské kalkulačky pomocí arduina.

Doporučuje: