Mündəricat:

1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru: 4 addım
1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru: 4 addım

Video: 1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru: 4 addım

Video: 1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru: 4 addım
Video: 1602 LCD Display 2024, Noyabr
Anonim
1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru
1602 LCD və 4x4 klaviatura istifadə edərək Arduino DIY Kalkulyatoru

Salam uşaqlar bu təlimatlarda əsas hesablamaları edə biləcək Arduino istifadə edərək bir kalkulyator hazırlayacağıq. Beləliklə, əsasən 4x4 klaviaturadan giriş alacağıq və məlumatları 16x2 lcd ekranda çap edəcəyik və arduino hesablamaları edəcək.

Addım 1: Lazım olan şeylər

Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər

Bu təlimatlar üçün aşağıdakılara ehtiyacımız olacaq: Arduino Uno (İstənilən versiya işləyəcək)

16 × 2 LCD Ekran

4 × 4 Klaviatura 9V BatareyaBreadboard Bağlayıcı tellər

Addım 2: Bağlantılar

Əlaqələr
Əlaqələr
Əlaqələr
Əlaqələr

Bu Arduino Kalkulyator Layihəsinin tam dövrə diaqramı yuxarıda verilmişdir. Dövrə diaqramında göstərilən +5V və torpaq bağlantısı Arduinonun 5V və topraklama pinindən əldə edilə bilər. Arduino, dizüstü kompüterinizdən və ya 12V adapterdən və ya 9V batareyadan istifadə edərək DC jakı ilə təchiz edilə bilər. LCD-ni Arduino ilə 4 bit rejimində işlədirik, belə ki LCD-nin yalnız son dörd məlumatı Arduino-ya bağlıdır. Klaviatura yuxarıda göstərildiyi kimi pin 0 -dan pin 7 -ə qədər bağlanmalı olan 8 çıxış pininə sahib olacaq. Bəzi Arduino lövhələri, pin 0 və pin1 -ə bağlı bir şey varsa proqramı yükləyərkən bir səhv göstərə bilər. proqramı yükləyərkən klaviatura.

Addım 3: Kod

Kod
Kod

Aşağıdakı kodu kopyalayın və arduino yükləyin:/ * * Arduino Keypad kalkulyator Proqramı */#"LiquidCrystal.h" daxil edin // https://www.arduino.cc/en/Reference/LiquidCrystal# saytından LCD üçün başlıq faylı "Keypad.h" daxil edin // https://github.com/Chris--A/Keypadconst byte ROWS = 4-dən Keypad üçün başlıq faylı; // Dörd satır konst bayt COLS = 4; // Üç sütun // Keymapchar düymələrini təyin edin [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; bayt sıraPins [ROWS] = {0, 1, 2, 3}; // Klaviatura ROW0, ROW1, ROW2 və ROW3 -ü bu Arduino pinlərinə qoşun.byte colPins [COLS] = {4, 5, 6, 7}; // Klaviatura COL0, COL1 və COL2 -ni bu Arduino pinlərinə qoşun. Keypad kpd = Klaviatura (makeKeymap (düymələr), rowPins, colPins, ROWS, COLS); // Keypadconst yaradın int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // LCD -nin bağlı olduğu pinlərLiquidCrystal lcd (rs, en, d4, d5, d6, d7); uzun Num1, Num2, Number; char açarı, hərəkət; boolean nəticə = yalan; void setup () {lcd.begin (16, 2); // 16*2 LCD lcd.print ("DIY Kalkulyator") istifadə edirik; // Giriş mesajını göstərin lcd.setCursor (0, 1); // kursoru 0 sütununa, sətir 1 gecikməsinə təyin edin (2000); // Məlumatın göstərilməsini gözləyin lcd.clear (); // Sonra təmizləyin} void loop () {key = kpd.getKey (); // basılan düymə dəyərini bir şerifdə saxlamaq (açar! = NO_KEY) DetectButtons (); if (nəticə == doğru) CalculateResult (); DisplayResult (); } vahid DetectButtons () {lcd.clear (); // Sonra təmizləyin, əgər (key == '*') // Ləğv et düyməsinə basılırsa {Serial.println ("Button Cancel"); Sayı = Sayı1 = Nüm2 = 0; result = false;} if (key == '1') // Əgər Button 1 -ə basılırsa {Serial.println ("Button 1"); əgər (Sayı == 0) Sayı = 1; başqa Sayı = (Sayı*10) + 1; // iki dəfə basıldı} if (key == '4') // Əgər Button 4 -ə basılırsa {Serial.println ("Button 4"); əgər (Sayı == 0) Sayı = 4; başqa Sayı = (Sayı*10) + 4; // iki dəfə basıldı} if (key == '7') // Əgər 7 -ci Düymə basılarsa {Serial.println ("Button 7"); əgər (Sayı == 0) Sayı = 7; başqa Sayı = (Sayı*10) + 7; // iki dəfə basıldı} if (key == '0') {Serial.println ("Button 0"); // 0 sayı düyməsinə basılır, əgər (Sayı == 0) Sayı = 0; başqa Sayı = (Sayı*10) + 0; // iki dəfə basıldığında} if (key == '2') // Button 2 Basıldığında {Serial.println ("Button 2"); əgər (Sayı == 0) Sayı = 2; başqa Sayı = (Sayı*10) + 2; // iki dəfə basıldı} if (key == '5') {Serial.println ("Button 5"); əgər (Sayı == 0) Sayı = 5; başqa Sayı = (Sayı*10) + 5; // iki dəfə basıldı} if (key == '8') {Serial.println ("Button 8"); əgər (Sayı == 0) Sayı = 8; başqa Sayı = (Sayı*10) + 8; // iki dəfə basıldı} if (key == '#') {Serial.println ("Button Equal"); Num2 = Sayı; nəticə = doğru; } if (key == '3') {Serial.println ("Button 3"); əgər (Sayı == 0) Sayı = 3; başqa Sayı = (Sayı*10) + 3; // iki dəfə basıldı} if (key == '6') {Serial.println ("Button 6"); əgər (Sayı == 0) Sayı = 6; başqa Sayı = (Sayı*10) + 6; // iki dəfə basıldı} if (key == '9') {Serial.println ("Button 9"); əgər (Sayı == 0) Sayı = 9; başqa Sayı = (Sayı*10) + 9; // iki dəfə basıldığında} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Sütun 4 -də Düymələrin Algılanması {Num1 = Sayı; Sayı = 0; if (key == 'A') {Serial.println ("Əlavə"); hərəkət = '+';} if (key == 'B') {Serial.println ("Çıkarma"); hərəkət = '-'; } if (key == 'C') {Serial.println ("Çarpma"); hərəkət = '*';} if (key == 'D') {Serial.println ("Devesion"); hərəkət = '/';} gecikmə (100); }}

void CalculateResult () {if (action == '+') Number = Num1+Num2; if (action == '-') Number = Num1-Num2; if (action == '*') Number = Num1*Num2; if (action == '/') Number = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // imleci 0 sütunu, sətir 1 lcd.print (Num1) olaraq təyin edin; lcd.print (hərəkət); lcd.print (Num2); əgər (nəticə == doğru) {lcd.print ("="); lcd.print (Sayı);} // Nəticəni göstər lcd.setCursor (0, 1); // imleci 0 sütun, sətir 1 lcd.print (sayı) olaraq təyin edin; // Nəticəni göstərin}

Addım 4: Kalkulyator Çıxışı

Kalkulyator Çıxışı
Kalkulyator Çıxışı
Kalkulyator Çıxışı
Kalkulyator Çıxışı
Kalkulyator Çıxışı
Kalkulyator Çıxışı

Beləliklə, əlaqələri tamamladıq və kodu arduino -ya yüklədik və gücünü bağlamaq və bəzi hesablamalar aparmaq vaxtı gəldi və gördüyünüz kimi klaviatura ilə hesablamalar edirəm və nəticələrini lcd -də görə bilərsiniz. Arduino istifadə edərək öz DIY kalkulyatorunuzu hazırlamaqdan zövq alın.

Tövsiyə: