Sisukord:

Arduino kalkulaator 4X4 klaviatuuri abil: 4 sammu (piltidega)
Arduino kalkulaator 4X4 klaviatuuri abil: 4 sammu (piltidega)

Video: Arduino kalkulaator 4X4 klaviatuuri abil: 4 sammu (piltidega)

Video: Arduino kalkulaator 4X4 klaviatuuri abil: 4 sammu (piltidega)
Video: Remote calculator by IR 2024, Juuni
Anonim
Image
Image

Selles õpetuses ehitame Arduino abil oma kalkulaatori. Väärtusi saab sisestada klaviatuuri kaudu (4 × 4 klaviatuur) ja tulemust saab vaadata LCD -ekraanilt. See kalkulaator võib teha lihtsaid toiminguid, nagu liitmine, lahutamine, korrutamine ja täisarvudega jagamine. Kuid kui olete kontseptsioonist aru saanud, saate Arduino sisseehitatud funktsioonidega rakendada isegi teaduslikke funktsioone.

Tarvikud

Arduino Uno

16 × 2 LCD -ekraan

4 × 4 klaviatuur

Leivalaud

Jumper kaablid

Arduino kaabel

Samm: skeemid

Samm: kogu installimine:

Nagu varem öeldud, liidame teekide abil LCD -ekraani ja klaviatuuri Arduinoga. Nii et lisame need kõigepealt meie Arduino IDE -sse. LCD -teek on teie Arduino vaikimisi juba kaasas, nii et me ei pea selle pärast muretsema. Klaviatuuri kogu jaoks (klõpsake lingil, et see Githubist alla laadida). Saate ZIP -faili, seejärel lisage see lib Arduinole Sketchi abil -> Kaasa raamatukogu -> Lisa. ZIP -fail ja suunake selle allalaaditud faili asukoht. Kui see on tehtud, oleme kõik programmeerimiseks valmis.

3. samm: lähtekood:

/*

© Techtronic Harsh

*/

#kaasake

#kaasake

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

const bait RIDA = 4; const bait COLS = 4;

sümboliklahvid [ROWS] [COLS] = {

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

Klahvistik myKeypad = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS);

boolean presentValue = vale;

loogiline järgmine = vale; boolean final = vale; String number1, num2; int vastus; char op;

tühine seadistus ()

{lcd.algus (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulaator"); viivitus (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Telli meid"); viivitus (3000); lcd.clear (); }

void loop () {

char võti = myKeypad.getKey ();

if (võti! = NO_KEY && (võti == '1' || võti == '2' || võti == '3' || võti == '4' || võti == '5' || võti = = '6' || võti == '7' || võti == '8' || võti == '9' || võti == '0'))

{if (presentValue! = true) {num1 = num1 + võti; int numPikkus = arv1.pikkus (); lcd.setCursor (15 - numPikkus, 0); // ühe tühiku reguleerimine operaatori lcd.print (num1) jaoks; } else {num2 = num2 + võti; int numPikkus = arv2.pikkus (); lcd.setCursor (15 - numPikkus, 1); lcd.print (number2); lõplik = tõsi; }}

muidu kui (presentValue == vale && võti! = NO_KEY && (võti == '/' || võti == '*' || võti == '-' || võti == '+'))

{if (presentValue == false) {presentValue = true; op = võti; lcd.setCursor (15, 0); lcd.print (op); }}

muidu kui (lõplik == tõsi && võti! = NO_KEY && võti == '=') {

kui (op == ' +') {vastus = arv1.toInt () + arv2.toInt (); } else if (op == ' -') {answer = num1.toInt () - arv2.toInt (); } else if (op == ' *') {answer = arv1.toInt () * arv2.toInt (); } else if (op == ' /') {answer = arv1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (vastus); lcd.noAutoscroll (); } else if (võti! = NO_KEY && võti == 'C') {lcd.clear (); presentValue = vale; lõplik = vale; number1 = ""; num2 = ""; vastus = 0; op = ""; }}

/*

© Techtronic Harsh

*/

4. samm: töö:

Tehke ühendused vastavalt skeemile ja laadige kood üles. Kui see näitab viga, veenduge, et olete teeki lisanud vastavalt ülaltoodud juhistele.

Märk klaviatuuril ja eeldus:

  • “A” - liitmine (+)
  • “B” - lahutamine (-)
  • “C” - korrutamine (*)
  • “D” - rajoon (/)
  • “*” - selge (C)
  • “#” - võrdub (=)

Soovitan: