Obsah:

Kalkulačka Arduino pomocou klávesnice 4X4: 4 kroky (s obrázkami)
Kalkulačka Arduino pomocou klávesnice 4X4: 4 kroky (s obrázkami)
Anonim
Image
Image

V tomto tutoriáli si vytvoríme vlastnú kalkulačku s Arduino. Hodnoty je možné odoslať pomocou klávesnice (klávesnica 4 × 4) a výsledok je možné zobraziť na obrazovke LCD. Táto kalkulačka mohla vykonávať jednoduché operácie ako sčítanie, odčítanie, násobenie a delenie s celými číslami. Keď však porozumiete konceptu, môžete pomocou vstavaných funkcií Arduina implementovať aj vedecké funkcie.

Zásoby

Arduino Uno

16 × 2 LCD displej

Klávesnica 4 × 4

Breadboard

Prepojovacie káble

Kábel Arduino

Krok 1: Schémy

Krok 2: Inštalácia knižnice:

Ako už bolo povedané, chystáme sa prepojiť LCD a klávesnicu s Arduino pomocou knižníc. Poďme ich teda najskôr pridať do nášho Arduino IDE. Knižnica pre LCD je už predvolene súčasťou vášho Arduina, takže si s tým nemusíme robiť starosti. Pre knižnicu klávesnice (kliknutím na odkaz ju stiahnete z Githubu). Dostanete súbor ZIP, potom pridajte toto lib do Arduino podľa Sketch -> Include Library -> Add. ZIP file a ukážte umiestnenie tohto stiahnutého súboru. Po dokončení sme všetci pripravení na programovanie.

Krok 3: Zdrojový kód:

/*

© Techtronic Harsh

*/

#zahrnúť

#zahrnúť

LiquidCrystal lcd (0, 1, 2, 3, 4, 5);

konštantný bajt ROWS = 4; konštantný bajt COLS = 4;

kľúče znakov [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; bajtové riadky pinov [ROWS] = {13, 12, 11, 10}; bajtové stĺpce [COLS] = {9, 8, 7, 6};

Keypad myKeypad = Keypad (makeKeymap (klávesy), rowPins, colPins, ROWS, COLS);

boolean presentValue = false;

boolean next = false; booleovské finále = nepravda; Reťazec num1, num2; int odpoveď; char op;

neplatné nastavenie ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print („Techtronic Harsh“); lcd.setCursor (0, 1); lcd.print („kalkulačka“); oneskorenie (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print („Páči sa mi to“); lcd.setCursor (0, 1); lcd.print („Prihláste sa na náš odber“); oneskorenie (3000); lcd.clear (); }

prázdna slučka () {

char key = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || kľúč == '7' || kľúč == '8' || kľúč == '9' || kľúč == '0'))

{if (presentValue! = true) {num1 = num1 + key; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // na úpravu jedného bieleho priestoru pre operátor lcd.print (num1); } else {num2 = num2 + kľúč; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); konečné = pravdivé; }}

else if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+')))

{if (presentValue == false) {presentValue = true; op = kľúč; 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 (odpoveď); lcd.noAutoscroll (); } else if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; konečné = nepravda; num1 = ""; num2 = ""; odpoveď = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Krok 4: Práca:

Vykonajte zapojenie podľa schémy zapojenia a nahrajte kód. Ak sa zobrazí chyba, uistite sa, že ste knižnicu pridali podľa vyššie uvedených pokynov.

Postava na klávesnici a predpoklad:

  • „A“- sčítanie (+)
  • „B“- Odčítanie (-)
  • „C“- násobenie (*)
  • „D“- divízia (/)
  • „*“- Vymazať (C)
  • „#“- rovná sa (=)

Odporúča: