Sadržaj:

Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice: 4 koraka
Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice: 4 koraka

Video: Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice: 4 koraka

Video: Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice: 4 koraka
Video: MSTE 8D... Micro:bits In Action 2024, Studeni
Anonim
Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice
Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice

Bok dečki, u ovoj uputi napravit ćemo kalkulator pomoću Arduina koji može obaviti osnovne izračune. Dakle, u osnovi ćemo uzeti ulaz s 4x4 tipkovnice i ispisati podatke na 16x2 LCD zaslonu, a arduino će izvršiti izračune.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate
Stvari koje trebate

Za ove upute trebat će nam sljedeće: Arduino Uno (bilo koja verzija će raditi)

16 × 2 LCD zaslon

4 × 4 tipkovnica 9V baterijaMreza za povezivanje

Korak 2: Veze

Veze
Veze
Veze
Veze

Cjeloviti dijagram ovog Arduino kalkulacijskog projekta dan je gore. Priključak +5V i uzemljenje prikazan na dijagramu kruga može se dobiti iz 5V i uzemljenja na Arduinu. Sam Arduino može se napajati s vašeg prijenosnog računala ili putem istosmjerne utičnice pomoću adaptera od 12 V ili baterije od 9 V. Radimo s LCD-om u 4-bitnom načinu rada s Arduinom, tako da su samo posljednja četiri bita podataka LCD-a spojena na Arduino. Tipkovnica će imati 8 izlaznih pinova koje je potrebno spojiti s pina 0 na pin 7 kao što je prikazano gore. Neke Arduino ploče mogu prikazati pogrešku tijekom učitavanja programa ako postoji nešto spojeno na pin 0 i pin1, pa ako naiđete na bilo koji, samo uklonite tipkovnicu tijekom učitavanja programa.

Korak 3: Kodirajte

Kodirati
Kodirati

Kopirajte sljedeći kôd i prenesite u njega svoj arduino:/ * * Arduino program za izračunavanje tipkovnice */#uključuje "LiquidCrystal.h" // Datoteka zaglavlja za LCD sa https://www.arduino.cc/en/Reference/LiquidCrystal# include "Keypad.h" // Datoteka zaglavlja za tipkovnicu s https://github.com/Chris--A/Keypadconst bajt ROWS = 4; // Četiri retka const byte COLS = 4; // Tri stupca // Definiranje tipki Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Spojite tipkovnicu ROW0, ROW1, ROW2 i ROW3 na ove Arduino pinove. Bajt colPins [COLS] = {4, 5, 6, 7}; // Spojite tipkovnicu COL0, COL1 i COL2 na ove Arduino pinove. Tipkovnica kpd = Tipkovnica (makeKeymap (ključevi), rowPins, colPins, ROWS, COLS); // Stvorimo Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Igle na koje je LCD povezanLiquidCrystal lcd (rs, en, d4, d5, d6, d7); dugo Num1, Num2, Broj; char ključ, akcija; boolean result = false; void setup () {lcd.begin (16, 2); // Koristimo 16*2 LCD zaslon lcd.print ("DIY Calculator"); // Prikaz uvodne poruke lcd.setCursor (0, 1); // postavite kursor na stupac 0, kašnjenje retka 1 (2000); // Pričekajte da zaslon prikaže informacije lcd.clear (); // Zatim ga očistimo} void loop () {key = kpd.getKey (); // spremanje vrijednosti pritisnutog ključa u charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Zatim ga očistite if (key == '*') // Ako pritisnete gumb Cancel {Serial.println ("Button Cancel"); Broj = Num1 = Num2 = 0; result = false;} if (key == '1') // Ako se pritisne gumb 1 {Serial.println ("gumb 1"); if (Broj == 0) Broj = 1; else Number = (Broj*10) + 1; // Dvaput pritisnut} if (key == '4') // Ako je pritisnuta tipka 4 {Serial.println ("Button 4"); if (Broj == 0) Broj = 4; else Number = (Broj*10) + 4; // Dvaput pritisnuto} if (key == '7') // Ako je pritisnuta tipka 7 {Serial.println ("Button 7"); if (Broj == 0) Broj = 7; else Number = (Broj*10) + 7; // Dvaput pritisnuto} if (key == '0') {Serial.println ("Button 0"); // Tipka 0 je pritisnuta ako (Broj == 0) Broj = 0; else Number = (Broj*10) + 0; // Dvaput pritisnuto} if (key == '2') // Pritisnite 2. gumb {Serial.println ("Button 2"); if (Broj == 0) Broj = 2; else Number = (Broj*10) + 2; // Dvaput pritisnuto} if (key == '5') {Serial.println ("Button 5"); if (Broj == 0) Broj = 5; else Number = (Broj*10) + 5; // Dvaput pritisnuto} if (key == '8') {Serial.println ("Button 8"); if (Broj == 0) Broj = 8; else Number = (Broj*10) + 8; // Dvaput pritisnuto} if (key == '#') {Serial.println ("Button Equal"); Num2 = Broj; rezultat = istina; } if (key == '3') {Serial.println ("Gumb 3"); if (Broj == 0) Broj = 3; else Number = (Broj*10) + 3; // Dvaput pritisnuto} if (key == '6') {Serial.println ("Button 6"); if (Broj == 0) Broj = 6; else Number = (Broj*10) + 6; // Dvaput pritisnuto} if (key == '9') {Serial.println ("Button 9"); if (Broj == 0) Broj = 9; else Number = (Broj*10) + 9; // Dvaput pritisnut} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Otkrivanje gumba u stupcu 4 {Num1 = Number; Broj = 0; if (key == 'A') {Serial.println ("Dodatak"); action = '+';} if (key == 'B') {Serial.println ("Oduzimanje"); akcija = '-'; } if (key == 'C') {Serial.println ("Množenje"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); action = '/';} kašnjenje (100); }}

void CalculateResult () {if (action == '+') Number = Num1+Num2; if (akcija == '-') Broj = Num1-Num2; if (akcija == '*') Broj = Num1*Num2; if (akcija == '/') Broj = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // postavite kursor na stupac 0, redak 1 lcd.print (Num1); lcd.print (akcija); lcd.tisak (Num2); if (rezultat == istina) {lcd.print ("="); lcd.print (Number);} // Prikaz rezultata lcd.setCursor (0, 1); // postavite kursor na stupac 0, redak 1 lcd.print (Broj); // Prikaz rezultata}

Korak 4: Izlaz kalkulatora

Izlaz kalkulatora
Izlaz kalkulatora
Izlaz kalkulatora
Izlaz kalkulatora
Izlaz kalkulatora
Izlaz kalkulatora

Tako smo dovršili povezivanje i prenijeli kôd na arduino, vrijeme je da uključim napajanje i napravim neke izračune; kao što vidite, radim proračune s tipkovnicom, a rezultate možete vidjeti na LCD -u. Zato se zabavite izrađujući vlastiti diy kalkulator pomoću arduina.

Preporučeni: