Sisukord:

Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil: 4 sammu
Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil: 4 sammu

Video: Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil: 4 sammu

Video: Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil: 4 sammu
Video: How To Make Calculator Using Arduino || Arduino Project || Arduino Calculator. #diy #diyprojects 2024, November
Anonim
Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil
Arduino DIY kalkulaator 1602 LCD ja 4x4 klaviatuuri abil

Tere poisid selles juhendis, teeme Arduino abil kalkulaatori, mis saab põhilisi arvutusi teha. Põhimõtteliselt võtame sisendi 4x4 klaviatuurilt ja prindime andmed 16x2 lcd ekraanile ja arduino teeb arvutused.

Samm: asjad, mida vajate

Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate
Asjad, mida vajate

Selle juhendi jaoks vajame järgmisi asju: Arduino Uno (mis tahes versioon töötab)

16 × 2 LCD -ekraan

4 × 4 klaviatuur 9V aku Leivaplaat Juhtmete ühendamine

Samm 2: Ühendused

Ühendused
Ühendused
Ühendused
Ühendused

Selle Arduino kalkulaatoriprojekti täielik vooluahela skeem on toodud ülal. Lülitusskeemil näidatud +5 V ja maandusühenduse saab Arduino 5 V ja maanduspistikust. Arduino saab ise toita oma sülearvutist või alalisvoolu pistikupesast, kasutades 12 V adapterit või 9 V akut. Me kasutame LCD-d Arduinoga 4-bitises režiimis, nii et Arduinoga on ühendatud ainult viimased neli andmebitti. Klaviatuuril on 8 väljundnõela, mis tuleb ühendada tihvtiga 0 kuni tihvtiga 7, nagu ülal näidatud. Mõned Arduino tahvlid võivad programmi üleslaadimisel näidata tõrget, kui poldi 0 ja tihvtiga 1 on ühendatud midagi. programmi üleslaadimisel klahvistikku.

3. samm: kood

Kood
Kood

Kopeerige järgmine kood ja laadige sinna oma arduino:/ * * Arduino klaviatuuri kalkulaatoriprogramm */#sisaldab "LiquidCrystal.h" // LCD päisefaili aadressilt https://www.arduino.cc/en/Reference/LiquidCrystal# lisada "Keypad.h" // Klaviatuuri päisefail https://github.com/Chris--A/Keypadconst bait ROWS = 4; // Neli ridakonstituudi baiti COLS = 4; // Kolm veergu // Määrake võtmekaardi võtmed [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; bait rowPins [ROWS] = {0, 1, 2, 3}; // Ühendage klaviatuur ROW0, ROW1, ROW2 ja ROW3 nende Arduino nööpnõeltega. Baiti colPins [COLS] = {4, 5, 6, 7}; // Ühenda klaviatuur COL0, COL1 ja COL2 nende Arduino nööpnõeltega. Klaviatuur kpd = Klaviatuur (makeKeymap (võtmed), rowPins, colPins, ROWS, COLS); // Klaviatuurikonstti loomine int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Nööpnõelad, millega LCD on ühendatudLiquidCrystal lcd (rs, en, d4, d5, d6, d7); pikk Num1, Num2, Number; char võti, tegevus; loogiline tulemus = vale; void setup () {lcd.begin (16, 2); // Kasutame 16*2 LCD -ekraani lcd.print ("DIY Calculator"); // Sissejuhatava teate kuvamine lcd.setCursor (0, 1); // määra kursor veergu 0, rea 1 viivitus (2000); // Oodake, kuni ekraanil kuvatakse teave lcd.clear (); // Seejärel puhasta see} void loop () {key = kpd.getKey (); // vajutatud klahviväärtuse salvestamine sümbolisse (võti! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } tühine DetectButtons () {lcd.clear (); // Seejärel puhasta see, kui (võti == '*') // Kui tühistamisnuppu vajutatakse {Serial.println ("Button Cancel"); Arv = arv1 = arv2 = 0; result = false;} if (key == '1') // Kui nuppu 1 vajutatakse {Serial.println ("Button 1"); kui (arv == 0) arv = 1; else Arv = (arv*10) + 1; // Vajutatakse kaks korda} if (võti == '4') // Kui nuppu 4 vajutatakse {Serial.println ("Nupp 4"); kui (arv == 0) arv = 4; else Arv = (arv*10) + 4; // Vajutatakse kaks korda} if (key == '7') // Kui nuppu 7 vajutatakse {Serial.println ("Button 7"); kui (arv == 0) arv = 7; else Arv = (arv*10) + 7; // Vajutati kaks korda} if (key == '0') {Serial.println ("Button 0"); // Nupule 0 vajutatakse, kui (Number == 0) Number = 0; else Arv = (arv*10) + 0; // Vajutatakse kaks korda}, kui (võti == '2') // Nupp 2 on vajutatud {Serial.println ("Button 2"); kui (arv == 0) arv = 2; else Arv = (arv*10) + 2; // Vajutati kaks korda} if (key == '5') {Serial.println ("Button 5"); kui (arv == 0) arv = 5; else Arv = (arv*10) + 5; // Vajutati kaks korda} if (key == '8') {Serial.println ("Button 8"); kui (arv == 0) arv = 8; else Arv = (arv*10) + 8; // Vajutati kaks korda} if (key == '#') {Serial.println ("Button Equal"); Num2 = arv; tulemus = tõene; } if (võti == '3') {Serial.println ("Button 3"); kui (arv == 0) arv = 3; else Arv = (arv*10) + 3; // Vajutati kaks korda} if (võti == '6') {Serial.println ("Button 6"); kui (arv == 0) arv = 6; else Arv = (arv*10) + 6; // Vajutati kaks korda} if (võti == '9') {Serial.println ("Button 9"); kui (arv == 0) arv = 9; else Arv = (arv*10) + 9; // Vajutati kaks korda} if (võti == 'A' || võti == 'B' || võti == 'C' || võti == 'D') // Nuppude tuvastamine veerus 4 {Num1 = Number; Arv = 0; if (võti == 'A') {Serial.println ("Lisamine"); action = '+';} if (võti == 'B') {Serial.println ("Lahutamine"); tegevus = '-'; } if (võti == 'C') {Serial.println ("Korrutamine"); action = '*';} if (võti == 'D') {Serial.println ("Devesion"); action = '/';} viivitus (100); }}

tühine CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } tühine DisplayResult () {lcd.setCursor (0, 0); // määra kursor veergu 0, rida 1 lcd.print (Num1); lcd.print (tegevus); lcd.print (Num2); if (tulemus == tõene) {lcd.print ("="); lcd.print (arv);} // Kuva tulemus lcd.setCursor (0, 1); // määrake kursor veergu 0, rida 1 lcd.print (Number); // Kuva tulemus}

4. samm: kalkulaatori väljund

Kalkulaatori väljund
Kalkulaatori väljund
Kalkulaatori väljund
Kalkulaatori väljund
Kalkulaatori väljund
Kalkulaatori väljund

Niisiis lõpetasime ühendused ja laadisime koodi üles arduinole ning selle aeg ühendada toide ja teha mõned arvutused ning nagu näete, teen arvutusi klaviatuuriga ja tulemusi näete LCD -ekraanil. Nii et nautige arduino abil oma kalkulaatori valmistamist.

Soovitan: