Orodha ya maudhui:

Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: 4 Hatua
Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: 4 Hatua

Video: Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: 4 Hatua

Video: Arduino DIY Calculator Kutumia 1602 LCD na 4x4 Keypad: 4 Hatua
Video: Как измерить постоянное напряжение и ток и построить счетчик энергии с ЖК-дисплеем | Урок 104 2024, Novemba
Anonim
Calculator ya Arduino DIY Kutumia 1602 LCD na 4x4 Keypad
Calculator ya Arduino DIY Kutumia 1602 LCD na 4x4 Keypad

Halo jamani katika mafundisho haya tutatengeneza kikokotoo kwa kutumia Arduino ambayo inaweza kufanya mahesabu ya kimsingi. Kwa hivyo kimsingi tutachukua maoni kutoka kwa keypad ya 4x4 na kuchapisha data kwenye onyesho la 16x2 lcd na arduino itafanya mahesabu.

Hatua ya 1: Vitu Unavyohitaji

Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji
Vitu Unavyohitaji

Kwa mafunzo haya tutahitaji kufuata vitu: Arduino Uno (Toleo lolote litafanya kazi)

Uonyesho wa 16 × 2 LCD

4 × 4 Keypad9V Betri Bodi ya MkateKuunganisha waya

Hatua ya 2: Uunganisho

Miunganisho
Miunganisho
Miunganisho
Miunganisho

Mchoro kamili wa mzunguko wa Mradi huu wa Kikokotoo cha Arduino umetolewa hapo juu. Uunganisho wa + 5V na ardhi ulioonyeshwa kwenye mchoro wa mzunguko unaweza kupatikana kutoka kwa 5V na pini ya ardhi ya Arduino. Arduino yenyewe inaweza kuwezeshwa kutoka kwa kompyuta yako ndogo au kupitia jack ya DC kwa kutumia adapta ya 12V au betri ya 9V. Tunatumia LCD katika hali ya 4-bit na Arduino kwa hivyo data nne tu za mwisho za LCD zimeunganishwa na Arduino. Kinanda itakuwa na pini 8 za pato ambazo zinapaswa kuunganishwa kutoka kwa pini 0 hadi 7 kama inavyoonyeshwa hapo juu. Bodi zingine za Arduino zinaweza kuonyesha kosa wakati wa kupakia programu ikiwa kuna kitu chochote kilichounganishwa na kubandika 0 na pin1, kwa hivyo ikiwa unapata yoyote ondoa tu kitufe wakati unapakia programu.

Hatua ya 3: Kanuni

Kanuni
Kanuni

Nakili nambari ifuatayo na upakie kwako arduino yako: / * * Arduino Keypad Calculator Program * / # ni pamoja na "LiquidCrystal.h" // Faili ya kichwa ya LCD kutoka https://www.arduino.cc/en/Reference/LiquidCrystal# jumuisha "Keypad.h" // Faili ya kichwa ya Keypad kutoka https://github.com/Chris--A/Keypadconst byte ROWS = 4; // safu nne za safu COLS = 4; // Nguzo tatu // Fafanua vitufe vya Keymapchar [ROWS] [COLS] = {{'' ',' 8 ',' 9 ',' D '}, {' 4 ',' 5 ',' 6 ',' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Unganisha keypad ROW0, ROW1, ROW2 na ROW3 kwa pini hizi za Arduino. // Unganisha keypad COL0, COL1 na COL2 kwa pini hizi za Arduino. Keypad kpd = Keypad (makeKeymap (funguo), safu za pini, colPins, ROWS, COLS); // Unda Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pini ambazo LCD imeunganishwa LiquidCrystal lcd (rs, en, d4, d5, d6, d7); muda mrefu Num1, Num2, Nambari; ufunguo wa char, hatua; matokeo ya boolean = uwongo; usanidi batili () {lcd. anza (16, 2); // Tunatumia LCD * 16 * 2 ya kuonyesha LCD ("DIY Calculator"); // Onyesha ujumbe wa utangulizi lcd.setCursor (0, 1); // weka mshale kwenye safu wima 0, ucheleweshwaji wa laini 1 (2000); // Subiri kuonyesha ili kuonyesha maelezo lcd.clear (); // Kisha safisha} kitanzi batili () {key = kpd.getKey (); // kuhifadhi dhamana ya kitufe kilichobanwa katika charif (ufunguo! = NO_KEY) DetectButtons (); ikiwa (result == true) CalculateResult (); DisplayResult (); } batili za DetectButtons () {lcd. clear (); // Kisha isafishe ikiwa (ufunguo == '*') // Ikiwa utaghairi Kitufe kinabonyeza {Serial.println ("Button Cancel"); Nambari = Num1 = Num2 = 0; matokeo = uwongo;} ikiwa (ufunguo == '1') // Ikiwa Kitufe 1 kinabonyeza {Serial.println ("Button 1"); ikiwa (Nambari == 0) Nambari = 1; nambari nyingine = (Nambari * 10) + 1; // Imesisitizwa mara mbili ikiwa (Nambari == 0) Nambari = 4; Nambari nyingine = (Nambari * 10) + 4; // Imesisitizwa mara mbili ikiwa (Nambari == 0) Nambari = 7; nambari nyingine = (Nambari * 10) + 7; // Imesisitizwa mara mbili} ikiwa (key == '0') {Serial.println ("Button 0"); // Kitufe 0 kimesisitizwa ikiwa (Nambari == 0) Nambari = 0; Nambari nyingine = (Nambari * 10) + 0; // Imesisitizwa mara mbili ikiwa (Nambari == 0) Nambari = 2; nambari nyingine = (Nambari * 10) + 2; // Imesisitizwa mara mbili} ikiwa (key == '5') {Serial.println ("Button 5"); ikiwa (Nambari == 0) Nambari = 5; Nambari nyingine = (Nambari * 10) + 5; // Imesisitizwa mara mbili} ikiwa (key == '8') {Serial.println ("Button 8"); ikiwa (Nambari == 0) Nambari = 8; nambari nyingine = (Nambari * 10) + 8; // Imesisitizwa mara mbili} ikiwa (key == '#') {Serial.println ("Sawa ya Kitufe"); Nambari2 = Nambari; matokeo = kweli; } ikiwa (key == '3') {Serial.println ("Button 3"); ikiwa (Nambari == 0) Nambari = 3; Nambari nyingine = (Nambari * 10) + 3; // Imesisitizwa mara mbili} ikiwa (key == '6') {Serial.println ("Button 6"); ikiwa (Nambari == 0) Nambari = 6; nambari nyingine = (Nambari * 10) + 6; // Imesisitizwa mara mbili} ikiwa (key == '9') {Serial.println ("Button 9"); ikiwa (Nambari == 0) Nambari = 9; Nambari nyingine = (Nambari * 10) + 9; // Imesisitizwa mara mbili Nambari = 0; ikiwa (ufunguo == 'A') {Serial.println ("Nyongeza"); action = '+';} ikiwa (key == 'B') {Serial.println ("Ondoa"); hatua = '-'; } ikiwa (key == 'C') {Serial.println ("Kuzidisha"); action = '*';} ikiwa (key == 'D') {Serial.println ("Devesion"); hatua = '/';} kuchelewesha (100); }}

UtupuResultResult () {if (action == '+') Number = Num1 + Num2; ikiwa (action == '-') Nambari = Num1-Num2; ikiwa (action == '*') Nambari = Num1 * Num2; ikiwa (action == '/') Nambari = Num1 / Num2; } batili DisplayResult () {lcd.setCursor (0, 0); // weka mshale kwenye safu wima 0, mstari 1 lcd.print (Num1); lcd.print (hatua); lcd.print (Num2); ikiwa (matokeo == kweli) {lcd.print ("="); lcd.print (Nambari);} // Onyesha matokeo lcd.setCursor (0, 1); // weka mshale kwenye safu wima 0, mstari 1 lcd.print (Nambari); // Onyesha matokeo}

Hatua ya 4: Pato la Kikokotozi

Pato la Kikokotozi
Pato la Kikokotozi
Pato la Kikokotozi
Pato la Kikokotozi
Pato la Kikokotozi
Pato la Kikokotozi

Kwa hivyo tumekamilisha unganisho na Kupakia nambari kwa arduino na wakati wake wa kuziba nguvu na kufanya mahesabu kadhaa & kama unaweza kuona ninafanya mahesabu na kitufe na unaweza kuona matokeo kwenye LCD. Kwa hivyo furahiya kutengeneza kihesabu chako cha DIY ukitumia arduino.

Ilipendekeza: