Satura rādītājs:

Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: 4 soļi
Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: 4 soļi

Video: Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: 4 soļi

Video: Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru: 4 soļi
Video: How to make calculator using arduino #shorts 2024, Novembris
Anonim
Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru
Arduino DIY kalkulators, izmantojot 1602 LCD un 4x4 tastatūru

Sveiki, puiši, šajā instrukcijā mēs izveidosim kalkulatoru, izmantojot Arduino, kas var veikt pamata aprēķinus. Tātad būtībā mēs ņemsim ievadi no 4x4 tastatūras un izdrukāsim datus 16x2 LCD displejā, un arduino veiks aprēķinus.

1. darbība. Nepieciešamās lietas

Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas
Nepieciešamās lietas

Šiem norādījumiem mums būs nepieciešamas šādas lietas: Arduino Uno (jebkura versija darbosies)

16 × 2 LCD displejs

4 × 4 tastatūra 9V akumulators Maizes dēlis Vadu savienošana

2. darbība. Savienojumi

Savienojumi
Savienojumi
Savienojumi
Savienojumi

Šī Arduino kalkulatora projekta pilnā shēma ir parādīta iepriekš. +5V un zemējuma savienojumu, kas parādīts shēmas shēmā, var iegūt no Arduino 5V un zemējuma tapas. Arduino var darbināt no klēpjdatora vai caur līdzstrāvas ligzdu, izmantojot 12 V adapteri vai 9 V akumulatoru. Mēs izmantojam LCD 4 bitu režīmā ar Arduino, tāpēc tikai pēdējie četri LCD datu biti ir savienoti ar Arduino. Tastatūrai būs 8 izejas tapas, kuras jāpievieno no 0 tapas līdz 7. tapai, kā parādīts iepriekš. Dažās Arduino plāksnēs, augšupielādējot programmu, var parādīties kļūda, ja ar 0 un pin1 ir kaut kas savienots, tādēļ, ja rodas kāds, vienkārši noņemiet augšupielādējot programmu, izmantojiet tastatūru.

3. darbība: kods

Kods
Kods

Kopējiet šo kodu un augšupielādējiet tajā savu arduino:/ * * Arduino tastatūras kalkulatora programmā */#ir iekļauts "LiquidCrystal.h" // LCD galvenes fails no vietnes https://www.arduino.cc/en/Reference/LiquidCrystal# iekļaut "Keypad.h" // Tastatūras galvenes fails no https://github.com/Chris--A/Keypadconst baits ROWS = 4; // Četru rindu sastāva baits COLS = 4; // Trīs kolonnas // Definējiet Keymapchar atslēgas [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; baitu rowPins [ROWS] = {0, 1, 2, 3}; // Savienojiet tastatūru ROW0, ROW1, ROW2 un ROW3 ar šīm Arduino tapām. Baitu kolonnas [COLS] = {4, 5, 6, 7}; // Pievienojiet šīm Arduino tapām tastatūru COL0, COL1 un COL2. Tastatūra kpd = Tastatūra (makeKeymap (taustiņi), rowPins, colPins, ROWS, COLS); // Tastatūras izveides izveide int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Tapas, kurām ir pievienots LCDLiquidCrystal lcd (rs, en, d4, d5, d6, d7); garš Num1, Num2, Skaitlis; char atslēga, darbība; Būla rezultāts = nepatiess; void setup () {lcd.begin (16, 2); // Mēs izmantojam 16*2 LCD displeju lcd.print ("DIY Calculator"); // Parādīt ievadziņu lcd.setCursor (0, 1); // iestatiet kursoru uz 0 kolonnu, 1. rindas aizkave (2000); // Pagaidiet, līdz displejā tiek parādīta informācija lcd.clear (); // Pēc tam notīriet to} void loop () {key = kpd.getKey (); // nospiesta taustiņa vērtības saglabāšana charif (atslēga! = NO_KEY) DetectButtons (); if (rezultāts == patiess) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Pēc tam notīriet to, ja (taustiņš == '*') // Ja tiek nospiesta atcelšanas poga {Serial.println ("Button Cancel"); Skaitlis = Num1 = Num2 = 0; rezultāts = nepatiess;} if (taustiņš == '1') // Ja tiek nospiesta poga 1 {Serial.println ("Poga 1"); ja (Skaitlis == 0) Skaitlis = 1; cits Skaitlis = (Skaitlis*10) + 1; // Nospiež divreiz}, ja (taustiņš == '4') // Ja tiek nospiesta 4. poga {Serial.println ("Poga 4"); ja (Skaitlis == 0) Skaitlis = 4; cits Skaitlis = (Skaitlis*10) + 4; // Nospiež divreiz}, ja (taustiņš == '7') // Ja tiek nospiesta 7. poga {Serial.println ("7. poga"); ja (Skaitlis == 0) Skaitlis = 7; cits Skaitlis = (Skaitlis*10) + 7; // Divreiz nospiests} if (key == '0') {Serial.println ("Poga 0"); // Poga 0 tiek nospiesta, ja (Skaitlis == 0) Skaitlis = 0; cits Skaitlis = (Skaitlis*10) + 0; // Divreiz nospiests}, ja (taustiņš == '2') // Poga 2 ir nospiesta {Serial.println ("Poga 2"); ja (Skaitlis == 0) Skaitlis = 2; cits Skaitlis = (Skaitlis*10) + 2; // Divreiz nospiests} if (key == '5') {Serial.println ("Button 5"); ja (Skaitlis == 0) Skaitlis = 5; cits Skaitlis = (Skaitlis*10) + 5; // Divreiz nospiests} if (key == '8') {Serial.println ("Poga 8"); ja (Skaitlis == 0) Skaitlis = 8; cits Skaitlis = (Skaitlis*10) + 8; // Divreiz nospiests} if (key == '#') {Serial.println ("Button Equal"); Num2 = skaitlis; rezultāts = taisnība; } ja (atslēga == '3') {Serial.println ("Poga 3"); ja (Skaitlis == 0) Skaitlis = 3; cits Skaitlis = (Skaitlis*10) + 3; // Divreiz nospiests} if (key == '6') {Serial.println ("6. poga"); ja (Skaitlis == 0) Skaitlis = 6; cits Skaitlis = (Skaitlis*10) + 6; // Divreiz nospiests} if (taustiņš == '9') {Serial.println ("Poga 9"); ja (Skaitlis == 0) Skaitlis = 9; cits Skaitlis = (Skaitlis*10) + 9; // Divreiz nospiests} if (taustiņš == 'A' || taustiņš == 'B' || taustiņš == 'C' || taustiņš == 'D') // Pogas noteikšana 4. slejā {Num1 = Skaitlis; Skaitlis = 0; ja (atslēga == 'A') {Serial.println ("Papildinājums"); action = '+';} ja (atslēga == 'B') {Serial.println ("Atņemšana"); darbība = '-'; } ja (atslēga == 'C') {Serial.println ("Reizināšana"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} kavēšanās (100); }}

void CalculateResult () {if (action == '+') Number = Num1+Num2; ja (darbība == '-') Skaitlis = Num1-Num2; ja (darbība == '*') Skaitlis = Num1*Num2; ja (darbība == '/') Skaitlis = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // iestatiet kursoru uz 0 kolonnu, 1. rinda lcd.print (Num1); lcd.print (darbība); lcd.print (Num2); ja (rezultāts == patiess) {lcd.print ("="); lcd.print (numurs);} // Parādiet rezultātu lcd.setCursor (0, 1); // iestatiet kursoru uz 0 kolonnu, 1. rinda lcd.print (Number); // Parādīt rezultātu}

4. solis: Kalkulatora izvade

Kalkulatora izvade
Kalkulatora izvade
Kalkulatora izvade
Kalkulatora izvade
Kalkulatora izvade
Kalkulatora izvade

Tātad, mēs pabeidzām savienojumus un augšupielādējām kodu arduino, un ir pienācis laiks pievienot strāvu un veikt dažus aprēķinus, un, kā redzat, es veicu aprēķinus ar tastatūru, un jūs varat redzēt rezultātus LCD. Tāpēc izklaidējieties izveidot savu DIY kalkulatoru, izmantojot arduino.

Ieteicams: