Turinys:

„Arduino DIY“skaičiuoklė naudojant 1602 LCD ir 4x4 klaviatūrą: 4 žingsniai
„Arduino DIY“skaičiuoklė naudojant 1602 LCD ir 4x4 klaviatūrą: 4 žingsniai

Video: „Arduino DIY“skaičiuoklė naudojant 1602 LCD ir 4x4 klaviatūrą: 4 žingsniai

Video: „Arduino DIY“skaičiuoklė naudojant 1602 LCD ir 4x4 klaviatūrą: 4 žingsniai
Video: Измерьте ток до 500A с помощью шунтирующего резистора с помощью Arduino 2024, Lapkritis
Anonim
„Arduino DIY“skaičiuoklė, naudojant 1602 LCD ir 4x4 klaviatūrą
„Arduino DIY“skaičiuoklė, naudojant 1602 LCD ir 4x4 klaviatūrą

Sveiki, šios instrukcijos vaikinai, mes pagaminsime skaičiuotuvą naudodami „Arduino“, kuris gali atlikti pagrindinius skaičiavimus. Taigi iš esmės mes imsimės įvesties iš 4x4 klaviatūros ir išspausdinsime duomenis 16x2 LCD ekrane, o „arduino“atliks skaičiavimus.

1 žingsnis: reikalingi dalykai

Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia
Daiktai, kurių jums reikia

Šiems nurodymams mums reikės šių dalykų: „Arduino Uno“(bet kuri versija veiks)

16 × 2 LCD ekranas

4 × 4 klaviatūra 9 V baterija Duonos lenta Laidų prijungimas

2 žingsnis: jungtys

Sujungimai
Sujungimai
Sujungimai
Sujungimai

Visa šio „Arduino“skaičiuoklės projekto schema pateikta aukščiau. +5 V ir įžeminimo jungtis, parodyta grandinės schemoje, galima gauti iš „Arduino“5 V ir įžeminimo kaiščio. Pats „Arduino“gali būti maitinamas iš nešiojamojo kompiuterio arba per nuolatinės srovės lizdą, naudojant 12 V adapterį arba 9 V bateriją. Mes naudojame „Arduino“4 bitų režimą, todėl tik paskutiniai keturi LCD duomenų bitai yra prijungti prie „Arduino“. Klaviatūra turės 8 išvesties kaiščius, kurie turi būti prijungti nuo 0 kaiščio iki 7 kaiščio, kaip parodyta aukščiau. Kai kurios „Arduino“plokštės gali rodyti klaidą, kai įkeliama programa, jei prie 0 ir 1 kaiščių yra kažkas prijungto, taigi, jei pastebėsite, tiesiog pašalinkite įkeliant programą klaviatūra.

3 žingsnis: kodas

Kodas
Kodas

Nukopijuokite šį kodą ir įkelkite į jį savo arduino:/ * * „Arduino“klaviatūros skaičiuoklės programa */#apima „LiquidCrystal.h“// LCD antraštės failą iš https://www.arduino.cc/en/Reference/LiquidCrystal# įtraukti „Keypad.h“// Klaviatūros antraštės failas iš https://github.com/Chris--A/Keypadconst baitas ROWS = 4; // Keturios eilutės baitas COLS = 4; // Trys stulpeliai // Apibrėžkite „Keymapchar“raktus [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; baitų eilutėPins [ROWS] = {0, 1, 2, 3}; // Prijunkite klaviatūrą ROW0, ROW1, ROW2 ir ROW3 prie šių „Arduino“kaiščių. Baitų colPins [COLS] = {4, 5, 6, 7}; // Prijunkite klaviatūrą COL0, COL1 ir COL2 prie šių „Arduino“kaiščių. Klaviatūra kpd = Klaviatūra (makeKeymap (klavišai), rowPins, colPins, ROWS, COLS); // Sukurkite „Keypadconst“int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Smeigtukai, prie kurių prijungtas LCD Skystas kristalas LCD (rs, en, d4, d5, d6, d7); ilgas skaičius1, skaičius2, skaičius; char raktas, veiksmas; loginis rezultatas = klaidinga; void setup () {lcd.begin (16, 2); // Mes naudojame 16*2 LCD ekraną lcd.print ("pasidaryk pats" skaičiuotuvas); // Rodyti įvadinį pranešimą lcd.setCursor (0, 1); // nustatykite žymeklį į 0 stulpelį, 1 eilutės uždelsimas (2000); // Palaukite, kol ekrane bus rodoma informacija lcd.clear (); // Tada išvalykite} void loop () {key = kpd.getKey (); // išsaugoti nuspaustą klavišo reikšmę charif (raktas! = NO_KEY) DetectButtons (); if (rezultatas == tiesa) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Tada išvalykite, jei (klavišas == '*') // Jei atšaukimo mygtukas paspaudžiamas {Serial.println ("Button Cancel"); Skaičius = skaičius1 = skaičius2 = 0; rezultatas = klaidingas;} if (raktas == '1') // Jei paspaustas 1 mygtukas {Serial.println ("1 mygtukas"); jei (Skaičius == 0) Skaičius = 1; else Skaičius = (Skaičius*10) + 1; // Paspaudžiamas du kartus} if (key == '4') // Jei paspaudžiamas 4 mygtukas {Serial.println ("4 mygtukas"); jei (Skaičius == 0) Skaičius = 4; else Skaičius = (Skaičius*10) + 4; // Paspaudžiamas du kartus} if (key == '7') // Jei paspaudžiamas 7 mygtukas {Serial.println ("7 mygtukas"); jei (Skaičius == 0) Skaičius = 7; else Skaičius = (Skaičius*10) + 7; // Paspaudžiamas du kartus} if (key == '0') {Serial.println ("Button 0"); // Mygtukas 0 paspaudžiamas, jei (Skaičius == 0) Skaičius = 0; else Skaičius = (Skaičius*10) + 0; // Paspaudžiamas du kartus}, jei (klavišas == '2') // 2 mygtukas paspaudžiamas {Serial.println ("2 mygtukas"); jei (Skaičius == 0) Skaičius = 2; else Skaičius = (Skaičius*10) + 2; // Paspaudžiamas du kartus} if (key == '5') {Serial.println ("5 mygtukas"); jei (skaičius == 0) skaičius = 5; else Skaičius = (Skaičius*10) + 5; // Paspaudžiamas du kartus} if (key == '8') {Serial.println ("8 mygtukas"); jei (Skaičius == 0) Skaičius = 8; else Skaičius = (Skaičius*10) + 8; // Paspaudžiamas du kartus} if (key == '#') {Serial.println ("Button Equal"); Num2 = skaičius; rezultatas = tiesa; } if (raktas == '3') {Serial.println ("3 mygtukas"); jei (Skaičius == 0) Skaičius = 3; else Skaičius = (Skaičius*10) + 3; // Paspaudžiamas du kartus} if (key == '6') {Serial.println ("6 mygtukas"); jei (Skaičius == 0) Skaičius = 6; else Skaičius = (Skaičius*10) + 6; // Paspaudžiamas du kartus} if (key == '9') {Serial.println ("Button 9"); jei (skaičius == 0) skaičius = 9; else Skaičius = (Skaičius*10) + 9; // Paspaudžiamas du kartus} if (klavišas == 'A' || klavišas == 'B' || klavišas == 'C' || klavišas == 'D') // Mygtukai 4 stulpelyje {Num1 = skaičius; Skaičius = 0; if (raktas == 'A') {Serial.println ("Papildymas"); action = '+';} if (raktas == 'B') {Serial.println ("Atimtis"); veiksmas = '-'; } if (raktas == 'C') {Serial.println ("Daugyba"); action = '*';} if (raktas == 'D') {Serial.println ("Devesion"); action = '/';} uždelsimas (100); }}

void CalculateResult () {if (action == '+') Number = Num1+Num2; if (veiksmas == '-') Skaičius = Num1-Num2; if (veiksmas == '*') Skaičius = Num1*Num2; jei (veiksmas == '/') Skaičius = Num1/Num2; } negalioja DisplayResult () {lcd.setCursor (0, 0); // nustatykite žymeklį į 0 stulpelį, 1 eilutė lcd.print (Num1); lcd.print (veiksmas); lcd.print (Num2); if (rezultatas == tiesa) {lcd.print ("="); lcd.print (skaičius);} // Rodyti rezultatą lcd.setCursor (0, 1); // nustatykite žymeklį į 0 stulpelį, 1 eilutė lcd.print (skaičius); // Rodyti rezultatą}

4 žingsnis: skaičiuotuvo išvestis

Skaičiuotuvo išvestis
Skaičiuotuvo išvestis
Skaičiuotuvo išvestis
Skaičiuotuvo išvestis
Skaičiuoklės išvestis
Skaičiuoklės išvestis

Taigi mes užbaigėme ryšius ir įkėlėme kodą į „arduino“, atėjo laikas prijungti maitinimą ir atlikti tam tikrus skaičiavimus. Kaip matote, aš skaičiuoju klaviatūra, o rezultatus galite pamatyti LCD. Taigi smagiai padarykite savo „pasidaryk pats“skaičiuoklę naudodami „arduino“.

Rekomenduojamas: