2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
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 (=)