Sadržaj:
Video: Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tipkovnice: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
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
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
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
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
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:
Arduino kalkulator pomoću 4X4 tipkovnice: 4 koraka (sa slikama)
Arduino kalkulator pomoću 4X4 tipkovnice: U ovom ćemo vodiču izgraditi vlastiti kalkulator s Arduinom. Vrijednosti se mogu poslati putem tipkovnice (tipkovnica 4 × 4), a rezultat se može vidjeti na LCD zaslonu. Ovaj kalkulator može izvesti jednostavne operacije poput zbrajanja, oduzimanja, množenja
Lego matrica tipkovnice 4x4: 8 koraka (sa slikama)
Lego 4x4 matrica tipkovnice: Iako sam zadnjih nekoliko tjedana zaglavio u kući, napokon sam stigao dovršiti neke projekte koji su mi se vrtjeli po glavi. U posljednjih nekoliko tjedana koristio sam Lego kao temelj za većinu svojih projekata
Korištenje štita LCD tipkovnice 1602 W/ Arduino [+Praktični projekti]: 7 koraka
Korištenje 1602 LCD štitnika tipkovnice W/ Arduino [+Praktični projekti]: Ovaj i druge nevjerojatne vodiče možete pročitati na službenoj web stranici ElectroPeak -a Pregled U ovom vodiču naučit ćete kako koristiti Arduino LCD tipkovnicu sa 3 praktična projekta. Što ćete naučiti: Kako postaviti štit i identificirati ključeveHo
Sučelje tipkovnice s 8051 i prikazom brojeva tipkovnice u 7 segmenata: 4 koraka (sa slikama)
Sučelje tipkovnice s 8051 i prikazom brojeva tipkovnice u 7 segmenta: U ovom vodiču ću vam reći o tome kako možemo spojiti tipkovnicu s 8051 i prikazati brojeve tipkovnice na 7 segmentnom zaslonu
Čišćenje Apple aluminijske tipkovnice . ili bilo koje druge tipkovnice s mekim dodirom: 5 koraka
Čišćenje Apple aluminijske tipkovnice … ili bilo koje druge tipkovnice s mekim dodirom: Koliko god ja ili vi pokušali zadržati naše aluminijske tipkovnice od jabuke, one postaju prljave nakon otprilike godinu dana. Ova uputa će vam pomoći da je očistite. Budite oprezni, jer ja nisam odgovoran ako vam se tipkovnica pokvari dok ovo radite … SISA F