Мазмұны:

1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: 4 қадам
1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: 4 қадам

Бейне: 1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: 4 қадам

Бейне: 1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы: 4 қадам
Бейне: Урок №8. LCD, I2C. Beyond Robotics 2024, Қараша
Anonim
1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы
1602 LCD және 4x4 пернетақтасын қолданатын Arduino DIY калькуляторы

Сәлеметсіздер ме, осы нұсқаулықта біз Arduino көмегімен калькулятор жасаймыз, ол негізгі есептеулерді орындай алады. Осылайша, біз 4x4 пернетақтасынан кіріс аламыз және 16x2 дисплейдегі деректерді басып шығарамыз, ал arduino есептеулерді жасайды.

1 -қадам: Сізге қажет заттар

Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар
Сізге қажет заттар

Бұл нұсқаулықтар үшін бізге келесі заттар қажет болады: Arduino Uno (кез келген нұсқа жұмыс істейді)

16 × 2 СКД дисплейі

4 × 4 пернетақта 9В аккумуляторлық тақта Сымдарды қосу

2 -қадам: Қосылымдар

Қосылымдар
Қосылымдар
Қосылымдар
Қосылымдар

Бұл Arduino калькуляторының толық схемасы жоғарыда келтірілген. Схемада көрсетілген +5В және жерге қосуды Arduino 5В және жерге тұйықталу шнурынан алуға болады. Arduino-ны ноутбуктен немесе тұрақты ток ұясы арқылы 12В адаптер немесе 9В аккумулятор арқылы қуаттауға болады. Біз СКД-ді 4-разрядты режимде Arduino-мен жұмыс жасаймыз, сондықтан СКД-дің соңғы төрт биті Arduino-ға қосылған. Пернетақтада жоғарыда көрсетілгендей түйреуіш 0 -ден 7 -ге дейінгі түйінге қосылатын 8 шығыс түйреуіш болады, егер кейбір түйіндер 0 мен түйреуішке қосылған болса, бағдарламаны жүктеу кезінде қатені көрсетуі мүмкін. бағдарламаны жүктеу кезінде пернетақта.

3 -қадам: код

Код
Код

Келесі кодты көшіріп, оған arduino жүктеңіз:/ * * Arduino пернетақтасының калькулятор бағдарламасы */#құрамында «LiquidCrystal.h» // СКД үшін тақырыптық файл https://www.arduino.cc/en/Reference/LiquidCrystal# «Keypad.h» қамтиды // https://github.com/Chris--A/Keypadconst байт ROWS = 4 пернетақтасына арналған тақырыптық файл; // Төрт жолдық конст байт COLS = 4; // Үш баған // Keypapchar пернелерін анықтаңыз [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {'*',' 0 ','#',' A '}}; байт rowPins [ROWS] = {0, 1, 2, 3}; // ROW0, ROW1, ROW2 және ROW3 пернетақтасын осы Arduino түйреуіштеріне жалғаңыз. Colte -colPins [COLS] = {4, 5, 6, 7}; // COL0, COL1 және COL2 пернетақтасын осы Arduino түйреуіштеріне қосыңыз. Keypad kpd = Keypad (makeKeymap (пернелер), rowPins, colPins, ROWS, COLS); // Пернетақтаны жасаңыз int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // СКД қосылған түйреуіштерLiquidCrystal lcd (rs, en, d4, d5, d6, d7); ұзын сан1, сан2, сан; char пернесі, әрекет; логикалық нәтиже = жалған; void setup () {lcd.begin (16, 2); // Біз 16*2 LCD дисплейін қолданамыз lcd.print («DIY калькуляторы»); // lcd.setCursor кіріс хабарламасын көрсету (0, 1); // курсорды 0 бағанға, жол 1 кешігуге қойыңыз (2000 ж.); // lcd.clear () ақпаратты көрсетуді көрсетуді күтіңіз; // Содан кейін оны тазалаңыз} void loop () {key = kpd.getKey (); // басылған кілт мәнін харифте сақтау (кілт! = NO_KEY) DetectButtons (); if (нәтиже == шын) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Содан кейін оны тазартыңыз, егер (key == '*') // Болдырмау батырмасы басылса {Serial.println («Түймені бас тарту»); Сан = Сан1 = Сан2 = 0; result = false;} if (key == '1') // If Button 1 is pressed {Serial.println («Button 1»); if (Сан == 0) Сан = 1; else Сан = (Сан*10) + 1; // екі рет басылды} if (key == '4') // If 4 button is pressed {Serial.println («Button 4»); егер (Сан == 0) Сан = 4; else Сан = (Сан*10) + 4; // екі рет басылды} if (key == '7') // If 7 button is pressed {Serial.println («Button 7»); егер (Сан == 0) Сан = 7; else Сан = (Сан*10) + 7; // екі рет басылды} if (key == '0') {Serial.println («Button 0»); // 0 батырмасы басылады, егер (Сан == 0) Сан = 0; else Сан = (Сан*10) + 0; // екі рет басылды} if (key == '2') // 2 батырмасы басылады {Serial.println («Button 2»); егер (Сан == 0) Сан = 2; else Сан = (Сан*10) + 2; // екі рет басылды} if (key == '5') {Serial.println («Button 5»); егер (Сан == 0) Сан = 5; else Сан = (Сан*10) + 5; // екі рет басылды} if (key == '8') {Serial.println («Button 8»); егер (Сан == 0) Сан = 8; else Сан = (Сан*10) + 8; // екі рет басылды} if (key == '#') {Serial.println («Түйме тең»); Num2 = Сан; нәтиже = ақиқат; } if (key == '3') {Serial.println («Button 3»); егер (Сан == 0) Сан = 3; else Сан = (Сан*10) + 3; // екі рет басылды} if (key == '6') {Serial.println («Button 6»); егер (Сан == 0) Сан = 6; else Сан = (Сан*10) + 6; // екі рет басылды} if (key == '9') {Serial.println («9 -түйме»); егер (Сан == 0) Сан = 9; else Сан = (Сан*10) + 9; // екі рет басылды} егер (key == 'A' || key == 'B' || key == 'C' || key == 'D') // 4 -бағандағы түймелерді анықтау {Num1 = Number; Сан = 0; if (key == 'A') {Serial.println («Қосу»); әрекет = '+';} if (key == 'B') {Serial.println («Азайту»); әрекет = '-'; } if (key == 'C') {Serial.println («Көбейту»); әрекет = '*';} if (key == 'D') {Serial.println («Devesion»); әрекет = '/';} кешіктіру (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); // курсорды 0 бағанына, 1 жолға орнатыңыз lcd.print (Num1); lcd.print (әрекет); lcd.print (Num2); if (нәтиже == шын) {lcd.print («=»); lcd.print (Сан);} // Нәтижені көрсету lcd.setCursor (0, 1); // курсорды 0 бағанына, 1 жолға орнатыңыз lcd.print (Сан); // Нәтижені көрсету}

4 -қадам: Калькулятордың шығысы

Калькулятордың шығысы
Калькулятордың шығысы
Калькулятордың шығысы
Калькулятордың шығысы
Калькулятордың шығысы
Калькулятордың шығысы

Осылайша біз қосылымды аяқтадық және arduino -ға кодты жүктедік және оның қуатын өшіріп, кейбір есептеулерді жүргіздік, және сіз көріп отырғандай, мен пернетақтаның көмегімен есептеулер жүргіземін, және сіз нәтижелерді LCD -де көре аласыз. Ардуино көмегімен өзіңіздің жеке калькуляторыңызды жасаңыз.

Ұсынылған: