Sadržaj:
Video: Arduino DIY kalkulator pomoću 1602 LCD -a i 4x4 tastature: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
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
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
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
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:
Arduino kalkulator pomoću 4X4 tastature: 4 koraka (sa slikama)
Arduino kalkulator pomoću 4X4 tastature: U ovom ćemo vodiču izgraditi vlastiti kalkulator s Arduinom. Vrijednosti se mogu poslati putem tastature (tastatura 4 × 4), a rezultat se može vidjeti na LCD ekranu. Ovaj kalkulator može izvesti jednostavne operacije poput zbrajanja, oduzimanja, množenja
Lego matrica tastature 4x4: 8 koraka (sa slikama)
Lego 4x4 matrica tastature: Iako sam zaglavio u kući posljednjih nekoliko sedmica, napokon sam stigao dovršiti neke projekte koji su mi se vrtjeli po glavi. U posljednjih nekoliko sedmica koristio sam Lego kao temelj za većinu svojih projekata
1602 LCD modul štitnika tastature sa I2C ruksakom: 6 koraka
1602 LCD modul štitnika tastature sa I2C ruksakom: Kao dio većeg projekta, želio sam imati LCD ekran i tastaturu za navigaciju nekim jednostavnim menijima. Koristit ću puno I/O portova na Arduinu za druge poslove, pa sam htio I2C sučelje za LCD. Pa sam kupio hardver
Postavljanje Raspberry Pi pomoću Diet Pi bez monitora ili tastature: 24 koraka
Postavljanje Raspberry Pi pomoću Diet Pi bez monitora ili tastature: Ova instrukcija je zastarjela. Molimo koristite: DietPi SetupNOOBS zahtijeva monitor, tastaturu i miša, što dodaje ~ 60 USD (USD) ili više u cijenu. Međutim, nakon što Wi-Fi radi, ti uređaji više nisu potrebni. Možda će DietPi podržavati USB na serveru
Interfejs tastature sa 8051 i prikazom brojeva tastature u 7 segmenata: 4 koraka (sa slikama)
Interfejs tastature sa 8051 i prikaz brojeva tastature u 7 segmenta: U ovom vodiču ću vam reći o tome kako možemo povezati interfejs tastature sa 8051 i prikazati brojeve tastature na ekranu sa 7 segmenata