Orodha ya maudhui:

Kikokotoo cha Arduino Kutumia keypad ya 4X4: Hatua 4 (na Picha)
Kikokotoo cha Arduino Kutumia keypad ya 4X4: Hatua 4 (na Picha)

Video: Kikokotoo cha Arduino Kutumia keypad ya 4X4: Hatua 4 (na Picha)

Video: Kikokotoo cha Arduino Kutumia keypad ya 4X4: Hatua 4 (na Picha)
Video: Законтаченный садовник и киностудия ► 3 Прохождение Luigi’s Mansion 3 (Nintendo Switch) 2024, Juni
Anonim
Image
Image

Katika mafunzo haya tutaunda kikokotoo chetu na Arduino. Thamani zinaweza kutumwa kupitia keypad (4 × 4 keypad) na matokeo yanaweza kutazamwa kwenye skrini ya LCD. Kikokotoo hiki kinaweza kufanya shughuli rahisi kama nyongeza, kutoa, kuzidisha na kugawanya na nambari nzima. Lakini ukishaelewa dhana hiyo unaweza kutekeleza hata kazi za kisayansi na Arduino zilizojengwa katika kazi.

Vifaa

Arduino Uno

Uonyesho wa 16 × 2 LCD

4 × 4 keypad

Bodi ya mkate

Chuma za Jumper

Cable ya Arduino

Hatua ya 1: Skematiki

Hatua ya 2: Ufungaji wa Maktaba:

Kama nilivyoambiwa mapema tutaunganisha LCD na keypad na Arduino kwa kutumia maktaba. Basi hebu tuwaongeze kwenye IDE yetu ya Arduino kwanza. Maktaba ya LCD tayari imejumuishwa katika Arduino yako kwa chaguo-msingi kwa hivyo hatuhitaji kuwa na wasiwasi juu yake. Kwa maktaba ya Keypad (bonyeza kwenye kiunga ili kuipakua kutoka Github). Utapata faili ya ZIP, kisha ongeza hii lib kwa Arduino na Mchoro -> Jumuisha Maktaba -> Ongeza faili ya ZIP na uelekeze eneo kwenye faili hii iliyopakuliwa. Mara tu tukimaliza tumewekwa kwa programu.

Hatua ya 3: Nambari ya Chanzo:

/*

© Ukali wa Kiufundi

*/

# pamoja

# pamoja

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

const byte ROWS = 4; const byte COLS = 4;

funguo za char [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' * '}, {' C ',' 0 ',' = ',' / '}}; Pini za baiti [ROWS] = {13, 12, 11, 10}; Polls byte [COLS] = {9, 8, 7, 6};

Keypad myKeypad = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS);

boolean presentValue = uwongo;

boolean inayofuata = uwongo; mwisho wa boolean = uwongo; Kamba num1, num2; jibu int; char op;

kuanzisha batili ()

{lcd. anza (16, 2); lcd.setCursor (0, 0); lcd.print ("Ukali wa Kiufundi"); lcd.setCursor (0, 1); lcd.print ("Calculator"); kuchelewesha (3000); lcd wazi (); lcd.setCursor (0, 0); lcd.print ("Kama Na"); lcd.setCursor (0, 1); lcd.print ("Jiandikishe"); kuchelewesha (3000); lcd wazi (); }

kitanzi batili () {

kitufe cha char = myKeypad.getKey ();

ikiwa (ufunguo! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || ufunguo == '7' || ufunguo == '8' || ufunguo == '9' || ufunguo == '0')]

{if (presentValue! = true) {num1 = num1 + key; nambari ya urefu = idadi1 urefu (); lcd.setCursor (15 - numLength, 0); // kurekebisha nafasi nyeupe kwa mwendeshaji lcd.print (num1); } mwingine {num2 = num2 + ufunguo; urefu wa urefu = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); mwisho = kweli; }}

vinginevyo ikiwa (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

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

vinginevyo ikiwa (final == true && key! = NO_KEY && key == '=') {

ikiwa (op == '+') {jibu = num1.toInt () + num2.toInt (); } vingine ikiwa (op == '-') {jibu = num1.toInt () - num2.toInt (); } vingine ikiwa (op == '*') {jibu = num1.toInt () * num2.toInt (); } vingine ikiwa (op == '/') {jibu = num1.toInt () / num2.toInt (); } lcd. wazi (); lcd.setCursor (15, 0); lcd. autoscroll (); lcd.print (jibu); lcd.noAutoscroll (); } vingine ikiwa (ufunguo! = NO_KEY && key == 'C') {lcd.clear (); presentValue = uwongo; mwisho = uwongo; nambari1 = ""; nambari = ""; jibu = 0; op = "; }}

/*

© Ukali wa Kiufundi

*/

Hatua ya 4: Kufanya kazi:

Fanya unganisho kulingana na mchoro wa mzunguko na upakie nambari. Ikiwa inaonyesha kosa hakikisha umeongeza maktaba kulingana na maagizo yaliyotolewa hapo juu.

Tabia kwenye keypad na Dhana:

  • "A" - Nyongeza (+)
  • "B" - Utoaji (-)
  • "C" - Kuzidisha (*)
  • "D" - Idara (/)
  • "*" - Wazi (C)
  • "#" - Sawa (=)

Ilipendekeza: