Բովանդակություն:

Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար ՝ 4 քայլ
Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար ՝ 4 քայլ

Video: Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար ՝ 4 քայլ

Video: Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար ՝ 4 քայլ
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Նոյեմբեր
Anonim
Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար
Arduino DIY հաշվիչ ՝ օգտագործելով 1602 LCD և 4x4 ստեղնաշար

Բարև տղերք, այս հրահանգների մեջ մենք կկատարենք հաշվիչ Arduino- ի միջոցով, որը կարող է կատարել հիմնական հաշվարկներ: Այսպիսով, հիմնականում մենք մուտքագրելու ենք 4x4 ստեղնաշարից և տվյալները տպելու ենք 16x2 LCD էկրանով, և arduino- ն կկատարի հաշվարկները:

Քայլ 1: Ձեզ անհրաժեշտ բաներ

Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ
Ձեզ անհրաժեշտ բաներ

Այս հրահանգների համար մեզ պետք են հետևյալ իրերը. Arduino Uno (versionանկացած տարբերակ կաշխատի)

16 × 2 LCD էկրան

4 × 4 ստեղնաշար 9V մարտկոցՀեղկաթուղթ Միացնող լարերը

Քայլ 2: Միացումներ

Միացումներ
Միացումներ
Միացումներ
Միացումներ

Այս Arduino Հաշվիչ ծրագրի ամբողջական սխեմայի սխեման տրված է վերևում: Շղթայի դիագրամում ցուցադրված +5V և գրունտի միացումը կարելի է ձեռք բերել Arduino- ի 5V- ի և գրունտի քորոցից: Arduino- ն ինքնին կարող է սնուցվել ձեր նոութբուքից կամ DC jack- ի միջոցով `օգտագործելով 12 Վ ադապտեր կամ 9 Վ մարտկոց: Մենք աշխատում ենք LCD- ով 4 բիթ ռեժիմով Arduino- ով, այնպես որ LCD- ի միայն վերջին չորս բիթերը միացված են Arduino- ին: Ստեղնաշարը կունենա 8 ելքային կապ, որոնք պետք է միացված լինեն 0 -ից մինչև 7 -րդ կապը, ինչպես ցույց է տրված վերևում: Որոշ Arduino տախտակներ կարող են սխալ ցույց տալ ծրագիրը վերբեռնելիս, եթե 0 -ի և pin1- ի հետ կապված որևէ բան կա, այնպես որ, եթե որևէ մեկը փորձի պարզապես հեռացնել ստեղնաշարը ծրագիրը բեռնելիս:

Քայլ 3: Կոդ

Կոդ
Կոդ

Պատճենեք հետևյալ ծածկագիրը և դրան վերբեռնեք ձեր arduino- ն: ներառել «Keypad.h» // Ստեղնաշարի վերնագրի ֆայլ ՝ https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Չորս տող կոնստրուկտոր բայթ COLS = 4; // Երեք սյունակ // Սահմանեք Keymapchar ստեղները [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- ի այս կապումներին: byte colPins [COLS] = {4, 5, 6, 7}; // Միացրեք ստեղնաշարը COL0, COL1 և COL2 Arduino- ի այս կապումներին: Keypad kpd = Keypad (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS); // Ստեղծեք Keypadconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // կապում, որոնց LCD- ն միացված է LiquidCrystal LCD (rs, en, d4, d5, d6, d7); երկար Num1, Num2, Number; char բանալին, գործողությունը; բուլյան արդյունք = կեղծ; void setup () {lcd.begin (16, 2); // Մենք օգտագործում ենք 16*2 LCD էկրան lcd.print («DIY հաշվիչ»); // Displayուցադրել ներածական հաղորդագրություն lcd.setCursor (0, 1); // սահմանել կուրսորը 0 սյունակում, տող 1 հետաձգում (2000); // Սպասեք, մինչև ցուցադրումը ցույց տա տեղեկատվությունը lcd.clear (); // Այնուհետեւ մաքրեք այն} void loop () {key = kpd.getKey (); // սեղմված ստեղնային արժեքի պահում charif- ում (բանալի! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Այնուհետեւ մաքրեք այն, եթե (key == '*') // Եթե չեղյալ է հայտարարվում կոճակը սեղմված է {Serial.println ("Button Cancel"); Թիվ = Num1 = Num2 = 0; արդյունք = կեղծ;} եթե (բանալին == '1') // Եթե կոճակը 1 սեղմված է {Serial.println ("Կոճակ 1"); եթե (Թիվ == 0) Թիվ = 1; else Number = (Number*10) + 1; // Երկու անգամ սեղմված} if (key == '4') // If 4 կոճակը սեղմված է {Serial.println ("Button 4"); եթե (Թիվ == 0) Թիվ = 4; else Number = (Number*10) + 4; // Երկու անգամ սեղմված} if (key == '7') // If 7 կոճակը սեղմված է {Serial.println ("Button 7"); եթե (Թիվ == 0) Թիվ = 7; else Number = (Number*10) + 7; // Երկու անգամ սեղմված} if (key == '0') {Serial.println ("Button 0"); // Կոճակը 0 սեղմված է, եթե (Թիվ == 0) Թիվ = 0; else Number = (Number*10) + 0; // Երկու անգամ սեղմված} if (key == '2') // Button 2 սեղմված է {Serial.println ("Button 2"); եթե (Թիվ == 0) Թիվ = 2; else Number = (Number*10) + 2; // Երկու անգամ սեղմված} if (key == '5') {Serial.println ("Button 5"); եթե (Թիվ == 0) Թիվ = 5; else Number = (Number*10) + 5; // Երկու անգամ սեղմված} if (key == '8') {Serial.println ("Button 8"); եթե (Թիվ == 0) Թիվ = 8; else Number = (Number*10) + 8; // Երկու անգամ սեղմված} if (key == '#') {Serial.println ("Button Equal"); Num2 = համար; արդյունք = ճշմարիտ; } if (key == '3') {Serial.println ("Button 3"); եթե (Թիվ == 0) Թիվ = 3; else Number = (Number*10) + 3; // Երկու անգամ սեղմված} if (key == '6') {Serial.println ("Button 6"); եթե (Թիվ == 0) Թիվ = 6; else Number = (Number*10) + 6; // Երկու անգամ սեղմված} if (key == '9') {Serial.println ("Button 9"); եթե (Թիվ == 0) Թիվ = 9; else Number = (Number*10) + 9; // Երկու անգամ սեղմված} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // 4 -րդ սյունակում կոճակների հայտնաբերում {Num1 = համար; Թիվ = 0; if (key == 'A') {Serial.println ("Addition"); գործողություն = '+';} if (key == 'B') {Serial.println ("Հանում"); գործողություն = '-'; } if (key == 'C') {Serial.println ("Բազմապատկում"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); գործողություն = '/';} ուշացում (100); }}

անվավեր CalculateResult () {if (action == '+') Number = Num1+Num2; եթե (գործողություն == '-') Թիվ = Num1-Num2; if (գործողություն == '*') Թիվ = Num1*Num2; եթե (գործողություն == '/') Թիվ = Num1/Num2; } void DisplayResult () {lcd.setCursor (0, 0); // կուրսորը սահմանել 0 -րդ սյունակի վրա, տող 1 lcd.print (Num1); lcd.print (գործողություն); lcd.print (Num2); եթե (արդյունք == ճշմարիտ) {lcd.print ("="); lcd.print (համարը);} // Displayուցադրել արդյունքը lcd.setCursor (0, 1); // կուրսորը սահմանել 0 սյունակի վրա, տող 1 lcd.print (Number); // Displayուցադրել արդյունքը}

Քայլ 4: Հաշվիչի ելք

Հաշվիչի ելք
Հաշվիչի ելք
Հաշվիչի ելք
Հաշվիչի ելք
Հաշվիչի ելք
Հաշվիչի ելք

Այսպիսով, մենք ավարտեցինք միացումները և վերբեռնեցինք կոդը arduino- ում, և ժամանակն է միացնել հոսանքը և որոշ հաշվարկներ կատարել, և ինչպես տեսնում եք, ես հաշվարկներ եմ կատարում ստեղնաշարի միջոցով և արդյունքները կարող եք տեսնել LCD- ում: Այսպիսով, զվարճացեք, պատրաստելով ձեր սեփական diy հաշվիչը, օգտագործելով arduino- ն:

Խորհուրդ ենք տալիս: