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

LCD հաշվիչ Jai Mishra- ի կողմից `8 քայլ
LCD հաշվիչ Jai Mishra- ի կողմից `8 քայլ

Video: LCD հաշվիչ Jai Mishra- ի կողմից `8 քայլ

Video: LCD հաշվիչ Jai Mishra- ի կողմից `8 քայլ
Video: TOHANDS Smart Calculator 🔥 | #shorts 2024, Հուլիսի
Anonim
LCD հաշվիչ Jai Mishra- ի կողմից
LCD հաշվիչ Jai Mishra- ի կողմից

Tinkercad նախագծեր »

Սա շատ օգտակար նախագիծ է, որը սովորեցնում է ձեզ, թե ինչպես ստեղծել ձեր սեփական հաշվիչը: Դուք կարող եք ստեղծել այս հաշվիչը առցանց կամ իրական կյանքում `լրացուցիչ պաշարների օգնությամբ, բայց առայժմ մենք կենտրոնանալու ենք միայն առցանց հաշվիչ ստեղծելու վրա:

Պարագաներ

  • Arduino Uno R3
  • 220 Օմ դիմադրություն
  • 4*4 ստեղնաշար
  • 16*2 LCD
  • Շղթան միացնելու համար լարերի փունջ

Քայլ 1. Հավաքեք ձեր պարագաները TinkerCad- ում

Հավաքեք ձեր պարագաները TinkerCad- ում
Հավաքեք ձեր պարագաները TinkerCad- ում

Համոզվեք, որ ձեր բոլոր պաշարները մատչելի են, նախքան 2 -րդ քայլը սկսելը ՝ սթրեսը և սխալները նվազեցնելու համար: Համոզվեք, որ օգտագործեք նաև ճիշտ պաշարներ, վերը նշված պատկերի որոշ բաղադրիչներ նման են այլ բաղադրիչներին, այնպես որ դրանց միջև մի խառնվեք: Օգտագործեք վերը նշված պատկերը որպես ձեր ուղեցույց:

Քայլ 2: Կազմակերպեք ձեր մատակարարումները

Կարգավորեք ձեր մատակարարումները
Կարգավորեք ձեր մատակարարումները

Ձեր պաշարների դասավորությունը լավագույն միջոցն է ՝ նախնական տեսքը տեսնելու համար, թե ինչպիսին կարող է լինել ձեր հաշվիչը: Դուք կարող եք ստեղծել ցանկացած տեսակի հաշվիչի դիզայն, որը ցանկանում եք, բայց համոզվեք, որ հաշվիչը բնական տեսք ունի, և օգտվողները կարող են հասկանալ դիզայնը և չշփոթվել: Ես օգտագործեցի տիպիկ բարձրակարգ հաշվիչ դիզայն, որն արդյունավետ և հասկանալի է բոլորի համար: Դուք կարող եք ընտրել իմ դիզայնը կամ ստեղծել ձեր սեփականը, բայց ինչ էլ որ լինի դա ստեղծագործական և հաջողություն լինի:

Քայլ 3: Լարերի միացում

Լարերի միացում
Լարերի միացում

Լարերը միացնելը դժվար գործ է, եթե չես հասկանում դրա հետևում եղած իմաստը: Այս լարերի մեջ մենք փորձում ենք միացնել բոլոր չորս բաղադրիչները միասին, որպեսզի նրանք կարողանան աշխատել որպես խումբ, երբ կգա կոդը գրելու ժամանակը: Եթե լարեր չկան, հոսանք չի հոսելու, ինչը կհանգեցնի տապալված նախագծի: Համոզվեք, որ ձեր լարերը պատշաճ կերպով միացված են առանց որևէ թյուրիմացության:

Լարերի միացումն ավարտելուց հետո համոզվեք, որ ձեր լարերը կոկիկ և կազմակերպված են, որպեսզի ձեզ և մյուսներին ավելի հեշտ լինի հասկանալ, թե կոնկրետ ինչ է կատարվում այս հաշվիչի ապարատում: Ինչպես նախկինում ասացի, դուք կարող եք կամ օգտագործել ձեր լարերը կազմակերպելու իմ տեխնիկան, կամ կարող եք ստեղծել ձեր սեփականը, բայց ինչ էլ որ որոշեք անել, համոզվեք, որ դրանք հավաքված են որոշակի տարածքով:

Քայլ 4: Գրեք օրենսգիրքը

Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը
Գրել օրենսգիրքը

#ներառում

#ներառել #ներառել

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

երկար առաջին = 0; երկար վայրկյան = 0; կրկնակի ընդհանուր = 0;

char customKey; const բայթ ROWS = 4; const բայթ COLS = 4;

char ստեղներ [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; բայթ rowPins [ROWS] = {7, 6, 5, 4}; // միանալ ստեղնաշարի բայթ colPins- ի տողերի pinouts- ին [COLS] = {3, 2, 1, 0}; // միանալ ստեղնաշարի սյունակներին

// կարգավորել NewKeypad Keypad դասի օրինակ customKeypad = Ստեղնաշար (makeKeymap (բանալիներ), rowPins, colPins, ROWS, COLS);

void setup () {lcd.begin (16, 2); // սկսել lcd for (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print («Հաշվիչ»); lcd.setCursor (0, 1); lcd.print («aiայ Միշրա»); ուշացում (4000); lcd. հստակ (); lcd.print («Վերջնական նախագիծ»); ուշացում (2500); lcd. հստակ (); lcd.setCursor (0, 0); }

դատարկ շրջան () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Սա շարունակում է հավաքել առաջին արժեքը մինչև օպերատորը սեղմել «+-*/» lcd.setCursor (0, 0); առաջին = առաջին * 10 + (customKey - '0'); lcd.print (առաջին); ընդմիջում;

դեպք '+'. առաջին = (ընդամենը! = 0? ընդհանուր: առաջին); lcd.setCursor (0, 1); lcd.print ("+"); երկրորդ = SecondNumber (); // հավաքված հավաքել երկրորդ թիվը ընդհանուր = առաջին + երկրորդ; lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; // վերականգնել արժեքները զրոյի ՝ հաջորդ օգտագործման ընդմիջման համար;

դեպք '-': առաջին = (ընդամենը! = 0? ընդհանուր `առաջին); lcd.setCursor (0, 1); lcd.print ("-"); երկրորդ = SecondNumber (); ընդհանուր = առաջին - երկրորդ; lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

դեպք '*': առաջին = (ընդամենը! = 0? ընդհանուր: առաջին); lcd.setCursor (0, 1); lcd.print ("*"); երկրորդ = SecondNumber (); ընդհանուր = առաջին * երկրորդ; lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

դեպք '/': առաջին = (ընդամենը! = 0? ընդհանուր `առաջին); lcd.setCursor (0, 1); lcd.print ("/"); երկրորդ = SecondNumber (); lcd.setCursor (0, 3);

երկրորդ == 0? lcd.print ("Invalid"): total = (float) առաջին / (float) երկրորդ;

lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

գործ 'C' ՝ ընդամենը = 0; lcd. հստակ (); ընդմիջում; }}

երկար SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {երկրորդ = երկրորդ * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (երկրորդ); }

եթե (customKey == '=') ընդմիջում; // վերադառնալ երկրորդ; } վերադառնալ երկրորդ; }

Քայլ 5: Օրենքի խախտում

Օրենքի խախտում
Օրենքի խախտում

Մենք նախաստորագրեցինք համակարգչի համար հասկանալի արժեքները

#ներառում

#ներառել #ներառել

LiquidCrystal LCD (13, 12, 11, 10, 9, 8);

երկար առաջին = 0; երկար վայրկյան = 0; կրկնակի ընդհանուր = 0;

char customKey; const բայթ ROWS = 4; const բայթ COLS = 4;

Մենք համակարգչին հայտնեցինք այն համարներն ու նշանները, որոնց վրա պետք է աշխատի Ստեղնաշարը:

char ստեղներ [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Մենք վերջնական տեսքի բերեցինք ստեղնաշարի տողերն ու սյուները, և որ թիվը որ սյունակում է և այլն:

բայթ rowPins [ROWS] = {7, 6, 5, 4}; բայթ colPins [COLS] = {3, 2, 1, 0};

Մենք ստեղծեցինք ներածություն կամ համակարգչի համար էկրանի հզորությունը (դրա վրա կարող եք գրել ձեր անունը):

void setup () {lcd.begin (16, 2); համար (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print («Հաշվիչ»); lcd.setCursor (0, 1); lcd.print («aiայ Միշրա»); ուշացում (4000); lcd. հստակ (); lcd.print («Վերջնական նախագիծ»); ուշացում (2500); lcd. հստակ (); lcd.setCursor (0, 0); }

Մենք հաշվիչի յուրաքանչյուր գործողության իմաստն ու բանաձևը ստեղծում ենք, որպեսզի համակարգիչը հասկանա, թե ինչ բանաձև օգտագործել, երբ օգտագործողը «+» սեղմում է հաշվիչի վրա և այլն:

{case '0'… '9': lcd.setCursor (0, 0); առաջին = առաջին * 10 + (customKey - '0'); lcd.print (առաջին); ընդմիջում;

դեպք '/': առաջին = (ընդամենը! = 0? ընդհանուր `առաջին); lcd.setCursor (0, 1); lcd.print ("/"); երկրորդ = SecondNumber (); lcd.setCursor (0, 3);

երկրորդ == 0? lcd.print ("Invalid"): total = (float) առաջին / (float) երկրորդ;

lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում; դեպք '+'. առաջին = (ընդամենը! = 0? ընդհանուր: առաջին); lcd.setCursor (0, 1); lcd.print ("+"); երկրորդ = SecondNumber (); lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

դեպք '-': առաջին = (ընդամենը! = 0? ընդհանուր `առաջին); lcd.setCursor (0, 1); lcd.print ("-"); երկրորդ = SecondNumber (); ընդհանուր = առաջին - երկրորդ; lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

դեպք '*': առաջին = (ընդամենը! = 0? ընդհանուր: առաջին); lcd.setCursor (0, 1); lcd.print ("*"); երկրորդ = SecondNumber (); ընդհանուր = առաջին * երկրորդ; lcd.setCursor (0, 3); lcd.print (ընդամենը); առաջին = 0, երկրորդ = 0; ընդմիջում;

գործ 'C' ՝ ընդամենը = 0; lcd. հստակ (); ընդմիջում; }}

Կոդը շատ հեշտ է, մնում է միայն հասկանալ այն, իսկ հետո ամեն ինչ հեշտությամբ կարելի է անել: Եթե կոդի հետ կապված որևէ խնդիր կա, ինձ էլ

Քայլ 6. Ինչպե՞ս է աշխատում այս հաշվիչի սարքավորումը:

Ինչպե՞ս է աշխատում այս հաշվիչի սարքավորումը
Ինչպե՞ս է աշխատում այս հաշվիչի սարքավորումը

Այս հաշվիչն օգտագործում է ՝ LCD, ստեղնաշար, Arduino տախտակ և 220 օմ ռեզիստոր: Այս բոլոր բաղադրիչներն առանձին են, բայց կապված են Arduino- ից ստեղնաշարի և LCD- ի լարերի հետ: LCD- ի տարբեր հատվածներ կապված են Arduino տախտակի հետ, որն ի վերջո երկուսն էլ կապում է ստեղնաշարի հետ: Միացումից հետո կոդավորումը կատարում է ամբողջ աշխատանքը և յուրաքանչյուր գործողությանը և ստեղնաշարի կոճակին տալիս է հաջորդական աշխատանք:

Քայլ 7: Հաշվիչի ամբողջական նախադիտում

Ահա թե ինչպիսին է մեր վերջնական նախագիծը: Եթե ձեր կոդը չի աշխատում, կամ կան որոշ տեխնիկական դժվարություններ, խնդրում եմ ինձ էլ.

Քայլ 8: Այս կոդի իմ ոգեշնչումը:

Ինձ ոգեշնչեց վերը նշված տեսանյութից, թե ինչպես կարելի է հաշվիչ պատրաստել tinkercad- ում: Ես ոչինչ չեմ պատճենել և տեղադրել, բայց օգտագործել եմ հաշվիչի և կոդի ըմբռնման մասին նրա գաղափարը:

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