Mundarija:

4X4 klaviatura yordamida Arduino kalkulyatori: 4 qadam (rasmlar bilan)
4X4 klaviatura yordamida Arduino kalkulyatori: 4 qadam (rasmlar bilan)

Video: 4X4 klaviatura yordamida Arduino kalkulyatori: 4 qadam (rasmlar bilan)

Video: 4X4 klaviatura yordamida Arduino kalkulyatori: 4 qadam (rasmlar bilan)
Video: Клавиатура сенсорная 4х4 + Arduino NANO 2024, Iyul
Anonim
Image
Image

Ushbu qo'llanmada biz Arduino bilan o'z kalkulyatorimizni yaratamiz. Qiymatlar klaviatura (4 × 4 klaviatura) orqali yuborilishi mumkin va natijani LCD displeyda ko'rish mumkin. Bu kalkulyator qo'shish, ayirish, ko'paytirish va bo'linish kabi oddiy amallarni bajarishi mumkin. Ammo kontseptsiyani tushunganingizdan so'ng, siz Arduino -ning o'rnatilgan funktsiyalari yordamida hatto ilmiy funktsiyalarni ham bajarishingiz mumkin.

Ta'minotlar

Arduino Uno

16 × 2 LCD displey

4 × 4 klaviatura

Non paneli

Jumper kabellari

Arduino kabeli

1 -qadam: sxemalar

2 -qadam: Kutubxonani o'rnatish:

Yuqorida aytib o'tganimizdek, biz kutubxonalar yordamida Arduino bilan LCD va klaviatura bilan bog'lanamiz. Keling, avval ularni Arduino IDE -ga qo'shamiz. LCD kutubxona sukut bo'yicha Arduino -ga kiritilgan, shuning uchun biz bu haqda tashvishlanmasligimiz kerak. Klaviatura kutubxonasi uchun (Github -dan yuklab olish uchun havolani bosing). Siz ZIP faylini olasiz, so'ngra bu liboni Arduino by Sketch -> Kutubxonani qo'shish ->. ZIP faylini qo'shish va yuklangan faylga manzilini ko'rsatish. Ish tugagandan so'ng, biz hammamiz dasturlashga tayyormiz.

3 -qadam: Manba kodi:

/*

© Techtronic Harsh

*/

#qo'shing

#qo'shing

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

const bayt ROWS = 4; const bayt COLS = 4;

char tugmalari [ROWS] [COLS] = {

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

Klaviatura myKeypad = Klaviatura (makeKeymap (tugmalar), rowPins, colPins, ROWS, COLS);

boolean presentValue = noto'g'ri;

boolean keyingi = noto'g'ri; mantiqiy final = noto'g'ri; Qator 1, raqam 2; int javob; char op;

bo'sh o'rnatish ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Kalkulyator"); kechikish (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Yoqdi va"); lcd.setCursor (0, 1); lcd.print ("Bizga obuna bo'ling"); kechikish (3000); lcd.clear (); }

void loop () {

char tugmachasi = myKeypad.getKey ();

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

{if (presentValue! = true) {num1 = num1 + tugmasi; int numLength = son1.length (); lcd.setCursor (15 - numLength, 0); // lcd.print (num1) operatori uchun bitta bo'sh joyni sozlash; } boshqa {num2 = num2 + tugmasi; int numLength = son2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (raqam 2); final = rost; }}

aks holda

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

aks holda (final == rost && kalit! = NO_KEY && key == '=') {

if (op == ' +') {answer = num1.toInt () + num2.toInt (); } if if (op == ' -') {answer = num1.toInt () - num2.toInt (); } if if (op == ' *') {answer = num1.toInt () * num2.toInt (); } if if if (op == ' /') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (javob); lcd.noAutoscroll (); } if if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = noto'g'ri; final = noto'g'ri; raqam1 = ""; raqam2 = ""; javob = 0; op = ''; }}

/*

© Techtronic Harsh

*/

4 -qadam: Ishlash:

Ulanish sxemasini sxema bo'yicha bajaring va kodni yuklang. Agar u xato ko'rsatsa, kutubxonani yuqoridagi ko'rsatmalarga muvofiq qo'shganingizga ishonch hosil qiling.

Klaviatura va farazdagi belgilar:

  • "A" - qo'shimcha (+)
  • "B" - ayirish (-)
  • "C" - ko'paytirish (*)
  • "D" - bo'linma (/)
  • "*" - Toza (C)
  • "#" - teng (=)

Tavsiya: