Sadržaj:

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

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

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

Zdravo momci, u ovom uputstvu napravit ćemo kalkulator pomoću Arduina koji može obaviti osnovne proračune. U osnovi ćemo uzeti unos sa 4x4 tastature i ispisati podatke na 16x2 LCD ekranu, a arduino će izvršiti prorač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 instrukcije trebat će nam sljedeće: Arduino Uno (bilo koja verzija će raditi)

16 × 2 LCD ekran

4 × 4 tastatura 9V baterijaMreza za povezivanje

Korak 2: Veze

Connections
Connections
Connections
Connections

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

Korak 3: Kodirajte

Kod
Kod

Kopirajte sljedeći kôd i učitajte u njega svoj arduino:/ * * Arduino program za izračunavanje tastature */#uključuje "LiquidCrystal.h" // Datoteka zaglavlja za LCD sa https://www.arduino.cc/en/Reference/LiquidCrystal# include "Keypad.h" // Datoteka zaglavlja za tastaturu sa https://github.com/Chris--A/Keypadconst bajt ROWS = 4; // Četiri reda byconst byte COLS = 4; // Tri kolone // Definiranje ključeva tipkovnice [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Povežite tastaturu ROW0, ROW1, ROW2 i ROW3 sa ovim Arduino pins.byte colPins [COLS] = {4, 5, 6, 7}; // Povežite tipkovnicu COL0, COL1 i COL2 s ovim Arduino pinovima. Tipkovnica kpd = Tipkovnica (makeKeymap (ključevi), rowPins, colPins, ROWS, COLS); // Kreiramo 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); long Num1, Num2, Broj; char ključ, akcija; boolean result = false; void setup () {lcd.begin (16, 2); // Koristimo LCD ekran veličine 16*2 lcd.print ("uradi sam kalkulator"); // Prikaz uvodne poruke lcd.setCursor (0, 1); // postavljamo kursor na stupac 0, kašnjenje retka 1 (2000); // Sačekajte da se na ekranu prikaže info lcd.clear (); // Zatim ga očistimo} void loop () {key = kpd.getKey (); // spremanje pritisnute vrijednosti ključa u charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Zatim ga očistite if (key == '*') // Ako je pritisnuto dugme Cancel {Serial.println ("Button Cancel"); Broj = Num1 = Num2 = 0; result = false;} if (key == '1') // Ako se pritisne dugme 1 {Serial.println ("dugme 1"); if (Broj == 0) Broj = 1; else Number = (Broj*10) + 1; // Dvaput pritisnuto} if (key == '4') // Ako je pritisnuto dugme 4 {Serial.println ("Button 4"); if (Broj == 0) Broj = 4; else Number = (Broj*10) + 4; // dvaput pritisnuto} if (key == '7') // Ako je pritisnuto dugme 7 {Serial.println ("dugme 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 dugme 2 {Serial.println ("Dugme 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 ("Dugme 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 dugmadi 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, red 1 lcd.print (Num1); lcd.print (akcija); lcd.print (Num2); if (rezultat == tačno) {lcd.print ("="); lcd.print (Number);} // Prikaz rezultata lcd.setCursor (0, 1); // postavite kursor na stupac 0, red 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 veze i učitali kôd na arduino i vrijeme je da uključi napajanje i napravimo neke prorač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 koristeći arduino.

Preporučuje se: