Cuprins:

Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: 4 pași
Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: 4 pași

Video: Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: 4 pași

Video: Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4: 4 pași
Video: Arduino si o tastatura cu 6 butoane 2024, Noiembrie
Anonim
Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4
Calculator DIY Arduino folosind 1602 LCD și tastatură 4x4

Bună băieți în acest instructables vom face un calculator folosind Arduino care poate face calcule de bază. Deci, practic vom prelua intrarea de la tastatura 4x4 și vom imprima datele pe afișaj LCD 16x2 și arduino va face calculele.

Pasul 1: Lucruri de care aveți nevoie

Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie
Lucruri de care ai nevoie

Pentru acest instructable vom avea nevoie de următoarele lucruri: Arduino Uno (Orice versiune va funcționa)

Afișaj LCD 16 × 2

Tastatură 4 × 4 Baterie 9V Placă de pâine Conectarea firelor

Pasul 2: Conexiuni

Conexiuni
Conexiuni
Conexiuni
Conexiuni

Schema completă a circuitului acestui proiect Arduino Calculator este prezentată mai sus. Conexiunea + 5V și la masă prezentate în schema circuitului pot fi obținute de la pinul de 5V și de masă al Arduino. Arduino în sine poate fi alimentat de pe laptopul dvs. sau prin mufa DC folosind un adaptor de 12V sau o baterie de 9 V. Operăm LCD-ul în modul 4 biți cu Arduino, astfel încât doar ultimii patru biți de date ai ecranului LCD sunt conectați la Arduino. Tastatura va avea 8 pini de ieșire care trebuie conectați de la pinul 0 la pinul 7, așa cum se arată mai sus. Unele plăci Arduino ar putea afișa o eroare la încărcarea programului dacă există ceva conectat la pinul 0 și pinul 1, deci, dacă aveți vreunul, eliminați tastatura în timpul încărcării programului.

Pasul 3: Cod

Cod
Cod

Copiați următorul cod și încărcați pe acesta arduino: / * * Programul calculatorului tastatură Arduino * / # include „LiquidCrystal.h” // Fișier antet pentru LCD de la https://www.arduino.cc/en/Reference/LiquidCrystal# includeți „Keypad.h” // Fișier antet pentru Keypad de la https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Patru rânduriconst octet COLS = 4; // Trei coloane // Definiți tastele Keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Conectați tastatura ROW0, ROW1, ROW2 și ROW3 la acești pini Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Conectați tastatura COL0, COL1 și COL2 la acești pini Arduino. Tastatura kpd = Tastatură (makeKeymap (taste), rowPins, colPins, ROWS, COLS); // Creați Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinii la care este conectat LCD LCD LiquidCrystal (rs, en, d4, d5, d6, d7); Num1 lung, Num2, Număr; cheie char, acțiune; boolean result = false; void setup () {lcd.begin (16, 2); // Folosim un ecran LCD 16 * 2 lcd.print („Calculator DIY”); // Afișați un mesaj introductiv lcd.setCursor (0, 1); // setați cursorul la coloana 0, linia 1 întârziere (2000); // Așteptați afișarea pentru a afișa informații lcd.clear (); // Apoi curăță-l} void loop () {cheie = kpd.getKey (); // stocarea valorii tastei apăsate într-un șarif (cheie! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Apoi curățați-l dacă (tasta == '*') // Dacă butonul de anulare este apăsat {Serial.println ("Butonul Anulare"); Număr = Num1 = Num2 = 0; result = false;} if (tasta == '1') // Dacă butonul 1 este apăsat {Serial.println ("Butonul 1"); if (Număr == 0) Număr = 1; else Number = (Number * 10) + 1; // Apăsat de două ori} if (tasta == '4') // Dacă butonul 4 este apăsat {Serial.println ("Butonul 4"); if (Număr == 0) Număr = 4; else Number = (Number * 10) + 4; // Apăsat de două ori} if (tasta == '7') // Dacă butonul 7 este apăsat {Serial.println ("Butonul 7"); if (Număr == 0) Număr = 7; else Number = (Număr * 10) + 7; // Apăsat de două ori} if (tasta == '0') {Serial.println ("Butonul 0"); // Butonul 0 este apăsat dacă (Număr == 0) Număr = 0; else Number = (Number * 10) + 0; // Apăsat de două ori} if (tasta == '2') // Butonul 2 este apăsat {Serial.println („Butonul 2”); if (Număr == 0) Număr = 2; else Number = (Număr * 10) + 2; // Apăsat de două ori} if (tasta == '5') {Serial.println ("Butonul 5"); if (Număr == 0) Număr = 5; else Number = (Number * 10) + 5; // Apăsat de două ori} if (tasta == '8') {Serial.println ("Butonul 8"); if (Număr == 0) Număr = 8; else Number = (Number * 10) + 8; // Apăsat de două ori} if (key == '#') {Serial.println ("Button Equal"); Num2 = Număr; rezultat = adevărat; } if (cheie == '3') {Serial.println ("Butonul 3"); if (Număr == 0) Număr = 3; else Number = (Number * 10) + 3; // Apăsat de două ori} if (tasta == '6') {Serial.println ("Butonul 6"); if (Număr == 0) Număr = 6; else Number = (Number * 10) + 6; // Apăsat de două ori} if (tasta == '9') {Serial.println ("Butonul 9"); if (Număr == 0) Număr = 9; else Number = (Number * 10) + 9; // Apăsat de două ori} if (tasta == 'A' || tasta == 'B' || tasta == 'C' || tasta == 'D') // Butoane de detectare pe coloana 4 {Num1 = Număr; Număr = 0; if (cheie == 'A') {Serial.println ("Adăugare"); action = '+';} if (cheie == 'B') {Serial.println ("Subtraction"); action = '-'; } if (cheie == 'C') {Serial.println ("Multiplicare"); action = '*';} if (cheie == 'D') {Serial.println ("Devesion"); action = '/';} întârziere (100); }}

void CalculateResult () {if (action == '+') Number = Num1 + Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1 * Num2; if (action == '/') Number = Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // setați cursorul la coloana 0, linia 1 lcd.print (Num1); lcd.print (acțiune); lcd.print (Num2); if (result == true) {lcd.print ("="); lcd.print (Number);} // Afișează rezultatul lcd.setCursor (0, 1); // setați cursorul la coloana 0, linia 1 lcd.print (Număr); // Afișați rezultatul}

Pasul 4: ieșirea calculatorului

Ieșire Calculator
Ieșire Calculator
Ieșire calculator
Ieșire calculator
Ieșire Calculator
Ieșire Calculator

Așa că am finalizat conexiunile și am încărcat codul pe arduino și a venit timpul să conectăm alimentarea și să facem niște calcule și după cum puteți vedea, fac calcule cu tastatura și puteți vedea rezultatele în LCD. Deci, distrează-te făcând propriul tău calculator DIY folosind arduino.

Recomandat: