Tartalomjegyzék:

Arduino számológép 4X4 billentyűzettel: 4 lépés (képekkel)
Arduino számológép 4X4 billentyűzettel: 4 lépés (képekkel)

Videó: Arduino számológép 4X4 billentyűzettel: 4 lépés (képekkel)

Videó: Arduino számológép 4X4 billentyűzettel: 4 lépés (képekkel)
Videó: When You Are Game Addicted | Casio Calculator Play Racing Game Asphalt 2024, Július
Anonim
Image
Image

Ebben az oktatóanyagban saját számológépünket építjük fel Arduino segítségével. Az értékeket billentyűzeten (4 × 4 billentyűzet) keresztül lehet elküldeni, és az eredményt LCD -képernyőn tekintheti meg. Ez a számológép olyan egyszerű műveleteket hajthat végre, mint az összeadás, kivonás, szorzás és osztás egész számokkal. De miután megértette a koncepciót, akár tudományos funkciókat is megvalósíthat az Arduino beépített funkcióival.

Kellékek

Arduino Uno

16 × 2 LCD kijelző

4 × 4 billentyűzet

Kenyeretábla

Jumper kábelek

Arduino kábel

1. lépés: Vázlatok

2. lépés: A könyvtár telepítése:

Amint azt korábban elmondtuk, egy LCD -t és billentyűzetet fogunk összekapcsolni az Arduino -val könyvtárak segítségével. Tehát először adjuk hozzá őket az Arduino IDE -hez. Az LCD -könyvtár alapértelmezés szerint már benne van az Arduino -ban, így nem kell aggódnunk. A Billentyűzet könyvtárhoz (kattintson a linkre a Githubból való letöltéshez). Kap egy ZIP fájlt, majd adja hozzá ezt a lib -et az Arduino -hoz a Sketch -> Könyvtár beillesztése ->. ZIP fájl hozzáadásával, és mutassa meg a helyét erre a letöltött fájlra. Miután elkészültünk, készen állunk a programozásra.

3. lépés: Forráskód:

/*

© Techtronic Harsh

*/

#befoglalni

#befoglalni

LiquidCrystal LCD (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; const bájt COLS = 4;

char billentyűk [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' *'}, {' C ',' 0 ',' = ','/'}}; byte rowPins [ROWS] = {13, 12, 11, 10}; bájt colPins [COLS] = {9, 8, 7, 6};

Billentyűzet myKeypad = Billentyűzet (makeKeymap (billentyűk), rowPins, colPins, ROWS, COLS);

boolean presentValue = hamis;

logikai következő = hamis; boolean final = hamis; Karakterlánc szám1, szám2; int válasz; char op;

üres beállítás ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Számológép"); késleltetés (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Like And"); lcd.setCursor (0, 1); lcd.print ("Iratkozzon fel"); késleltetés (3000); lcd.clear (); }

void loop () {

char gomb = myKeypad.getKey ();

if (kulcs! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || billentyű == '7' || gomb == '8' || gomb == '9' || gomb == '0'))

{if (presentValue! = true) {num1 = szám1 + kulcs; int numLength = szám1.length (); lcd.setCursor (15 - számhossz, 0); // egy szóköz beállítása az operátor lcd.print (szám1) számára; } else {szám2 = szám2 + gomb; int numLength = szám2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (2. szám); végső = igaz; }}

else if (presentValue == hamis && kulcs! = NO_KEY && (kulcs == '/' || kulcs == '*' || kulcs == '-' || kulcs == '+'))

{if (presentValue == false) {presentValue = true; op = kulcs; lcd.setCursor (15, 0); lcd.print (op); }}

különben ha (végső == igaz && kulcs! = NO_KEY && kulcs == '=') {

if (op == ' +') {answer = szám1.toInt () + szám2.toInt (); } else if (op == ' -') {answer = num1.toInt () - szám2.toInt (); } else if (op == ' *') {answer = num1.toInt () * szám2.toInt (); } else if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (válasz); lcd.noAutoscroll (); } else if (kulcs! = NO_KEY && key == 'C') {lcd.clear (); presentValue = hamis; végleges = hamis; szám1 = ""; szám2 = ""; válasz = 0; op = ""; }}

/*

© Techtronic Harsh

*/

4. lépés: Munka:

Csatlakoztassa a kapcsolásokat a kapcsolási rajz szerint, és töltse fel a kódot. Ha hibát jelez, győződjön meg róla, hogy hozzáadta a könyvtárat a fenti utasításoknak megfelelően.

Karakter a billentyűzeten és feltételezés:

  • „A” - összeadás (+)
  • „B” - kivonás (-)
  • „C” - szorzás (*)
  • „D” - osztály (/)
  • „*” - tiszta (C)
  • „#” - egyenlő (=)

Ajánlott: