2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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 i dijeljenja s cijelim brojevima. Ali kad jednom shvatite koncept, možete implementirati čak i znanstvene funkcije s Arduinovim ugrađenim funkcijama.
Pribor
Arduino Uno
16 × 2 LCD zaslon
4 × 4 tipkovnica
Oglasna ploča
Kratki kabeli
Arduino kabel
Korak 1: Sheme
Korak 2: Instalacija biblioteke:
Kao što je ranije rečeno, povezat ćemo LCD i tipkovnicu s Arduinom pomoću biblioteka. Pa ih prvo dodajmo u naš Arduino IDE. Knjižnica za LCD već je zadano uključena u vaš Arduino pa se ne moramo brinuti oko toga. Za knjižnicu tipkovnice (kliknite vezu za preuzimanje s Githuba). Dobit ćete ZIP datoteku, a zatim dodajte ovaj lib u Arduino pomoću Sketch -> Include Library -> Add. ZIP file i pokažite mjesto ovoj preuzetoj datoteci. Kad završimo, spremni smo za programiranje.
Korak 3: Izvorni kod:
/*
© Techtronic Oštro
*/
#uključi
#uključi
LCD tekući kristal (0, 1, 2, 3, 4, 5);
const byte ROWS = 4; const bajt COLS = 4;
ključevi char [ROWS] [COLS] = {
{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; bajt colPins [COLS] = {9, 8, 7, 6};
Tipkovnica myKeypad = Tipkovnica (makeKeymap (tipke), rowPins, colPins, ROWS, COLS);
boolean presentValue = false;
boolean next = false; boolean final = false; Niz znakova1, broj2; int odgovor; char op;
void setup ()
{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulator"); kašnjenje (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Pretplatite se na nas"); kašnjenje (3000); lcd.clear (); }
void loop () {{100} {101}
char key = myKeypad.getKey ();
if (ključ! = NO_KEY && (ključ == '1' || ključ == '2' || ključ == '3' || ključ == '4' || ključ == '5' || ključ = = '6' || ključ == '7' || ključ == '8' || ključ == '9' || ključ == '0'))
{if (presentValue! = true) {num1 = num1 + ključ; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // za podešavanje jednog razmaka za operator lcd.print (num1); } else {num2 = num2 + ključ; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (broj 2); konačan = istina; }}
inace if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))
{if (presentValue == false) {presentValue = true; op = ključ; lcd.setCursor (15, 0); lcd.print (op); }}
inace if (final == true && key! = NO_KEY && key == '=') {
if (op == ' +') {answer = num1.toInt () + num2.toInt (); } else if (op == ' -') {answer = num1.toInt () - num2.toInt (); } else if (op == ' *') {answer = num1.toInt () * num2.toInt (); } else if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (odgovor); lcd.noAutoscroll (); } else if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; konačan = lažno; num1 = ""; broj2 = ""; odgovor = 0; op = ''; }}
/*
© Techtronic Oštro
*/
Korak 4: Rad:
Povežite se prema dijagramu kola i učitajte kôd. Ako se prikaže pogreška, provjerite jeste li dodali knjižnicu prema gornjim uputama.
Znak na tipkovnici i pretpostavka:
- "A" - Dodatak (+)
- “B” - Oduzimanje (-)
- “C” - Množenje (*)
- "D" - Podjela (/)
- “*” - Očisti (C)
- "#" - Jednako (=)