Kazalo:

Arduino kalkulator s tipkovnico 4X4: 4 koraki (s slikami)
Arduino kalkulator s tipkovnico 4X4: 4 koraki (s slikami)

Video: Arduino kalkulator s tipkovnico 4X4: 4 koraki (s slikami)

Video: Arduino kalkulator s tipkovnico 4X4: 4 koraki (s slikami)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Julij
Anonim
Image
Image

V tej vadnici bomo z Arduinom izdelali lasten kalkulator. Vrednosti lahko pošljete prek tipkovnice (tipkovnica 4 × 4), rezultat pa si lahko ogledate na LCD zaslonu. Ta kalkulator lahko izvede preproste operacije, kot so seštevanje, odštevanje, množenje in deljenje s celimi števili. Ko pa razumete koncept, lahko z vgrajenimi funkcijami Arduino izvedete celo znanstvene funkcije.

Zaloge

Arduino Uno

16 × 2 LCD zaslon

4 × 4 tipkovnica

Ogledna plošča

Mostični kabli

Arduino kabel

1. korak: Sheme

2. korak: Namestitev knjižnice:

Kot smo že povedali, bomo LCD in tipkovnico povezovali z Arduinom z uporabo knjižnic. Zato jih najprej dodajmo v naš Arduino IDE. Knjižnica za LCD je privzeto že vključena v vaš Arduino, zato nam ni treba skrbeti. Za knjižnico tipkovnice (kliknite na povezavo, da jo prenesete iz Github). Dobili boste datoteko ZIP, nato pa dodajte ta lib v Arduino s programom Sketch -> Vključi knjižnico -> Dodaj datoteko. ZIP in pokažite lokacijo na to preneseno datoteko. Ko končamo, smo pripravljeni na programiranje.

3. korak: izvorna koda:

/*

© Techtronic Harsh

*/

#vključi

#vključi

LCD tekoči kristal (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; const bajt COLS = 4;

ključi char [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; bajt colPins [COLS] = {9, 8, 7, 6};

Tipkovnica myKeypad = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);

boolean presentValue = false;

boolean next = false; boolean final = false; Niz num1, num2; int odgovor; char op;

void setup ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulator"); zamuda (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Všeč mi je"); lcd.setCursor (0, 1); lcd.print ("Naročite se na nas"); zamuda (3000); lcd.clear (); }

void loop () {

char key = myKeypad.getKey ();

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

{if (presentValue! = true) {num1 = num1 + ključ; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // za prilagoditev enega presledka za operator lcd.print (num1); } else {num2 = num2 + key; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (številka 2); končno = res; }}

sicer če (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{if (presentValue == false) {presentValue = true; op = ključ; lcd.setCursor (15, 0); lcd.print (op); }}

sicer če (končno == res && ključ! = NO_KEY && ključ == '=') {

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 (odgovor); lcd.noAutoscroll (); } else if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; končno = napačno; num1 = ""; num2 = ""; odgovor = 0; op = ''; }}

/*

© Techtronic Harsh

*/

4. korak: Delo:

Povežite se po shemi vezja in naložite kodo. Če se prikaže napaka, se prepričajte, da ste knjižnico dodali po zgornjih navodilih.

Znak na tipkovnici in predpostavka:

  • "A" - Dodatek (+)
  • "B" - Odštevanje (-)
  • "C" - Množenje (*)
  • "D" - Divizija (/)
  • “*” - Počisti (C)
  • "#" - enako (=)

Priporočena: