Հաշվիչ TinkerCad մրցույթ. 8 քայլ
Հաշվիչ TinkerCad մրցույթ. 8 քայլ
Anonim
Հաշվիչ TinkerCad մրցույթ
Հաշվիչ TinkerCad մրցույթ

Hey, այնքան վերջերս ես ուսումնասիրում էի, թե ինչպես տարբեր տեսակի կոդեր ներդնել միացման մեջ: Ես գտա, որ հաշվիչ սարքելը հիանալի միջոց կլինի «գործը» և ինձ համար հետաքրքիր այլ կոդերի իրականացման համար: Նախկինում ես հաշվիչներն անմիջապես կոդից էի պատրաստել, բայց դրա համար միացում սարքելը ինձ հետաքրքրություն առաջացրեց: Հատկապես կարանտինի այս ժամանակահատվածում, որտեղ ես գրեթե ամբողջ օրը համակարգչում եմ: Նախագծով նախատեսվում է մաթեմատիկական գործողություններ իրականացնել LCD էկրանով:

Քայլ 1: Նյութեր

Շրջանի համար

  • LCD 16 x 2
  • Arduino Uno R3
  • Ստեղնաշար 4x4
  • Փոքր Breadboard
  • Պոտենցիոմետր (250 kΩ)
  • Ռեզիստոր (1kΩ)
  • x26 Jumper լարեր

Քայլ 2: 4x4 ստեղնաշարի միացում

4x4 ստեղնաշարի միացում
4x4 ստեղնաշարի միացում

4x4 ստեղնաշարի 4 շարքի կապումներն միացրեք Arduino 4-7 կապումներին և 4 սյունակի կապում միացրեք Arduino 0-3 կապումներին:

Քայլ 3. Էլեկտրաէներգիա տրամադրեք Breadboard- ին և միացրեք LCD- ը

Տրամադրեք սնունդ սեղանին և միացրեք LCD- ը
Տրամադրեք սնունդ սեղանին և միացրեք LCD- ը

Ես օգտագործեցի հոսանքի լարումը 5 տախտակի համար: Ես հոսանքն ու գետինը միացրեցի հացահատիկին: LCD- ն տեղադրված է հացատախտակին և տեղադրված է այնպես, որ նրա բոլոր կապումներն միացվեն սեղանին:

Քայլ 4. Միացրեք Power և Ground- ը LCD- ին:

Միացրեք Power և Ground- ը LCD- ին
Միացրեք Power և Ground- ը LCD- ին

LCD- ին միանալու համար անհրաժեշտ կլինի գետնի 3 կապում: Մեկը կցված կլինի LCD- ի հիմքով, մյուսը `LCD- ի LED- ով, իսկ վերջինը` RW- ով: LCD- ի և լուսադիոդի VCC- ն կպահանջի միացում: Այնուամենայնիվ, LED- ի հզորությունը կպահանջի այս դեպքում միացված ռեզիստոր, ես օգտագործեցի 1kΩ ռեզիստոր:

Քայլ 5. Պոտենցիոմետրի միացում

Պոտենցիոմետրի միացում
Պոտենցիոմետրի միացում

Միացրեք պոտենցիոմետրը տախտակին 3 անվճար սյունակով: Այն կունենա 3 կապ, սյունակին, որը պարունակում է տերմինալ 1 փին, անհրաժեշտ կլինի նրան տրված հիմք: Տերմինալ 2 փին պարունակող սյունակին անհրաժեշտ կլինի դրան տրված էներգիա: Ապա մաքրիչն իր սյունակում կունենա թռիչքային մետաղալար, որը միանում է LCD- ի VO- ին:

Քայլ 6. Arduino- ի միացում LCD- ին

Arduino- ի միացում LCD- ին
Arduino- ի միացում LCD- ին

Arduino- ի 8-13 կապերը միացված կլինեն LCD- ին: Arduino- ի 8-11 կապումներն համապատասխանաբար կկապվեն D8- ի (7-4) հետ: Այնուհետև Arduino- ի 12 -րդ կապը կկապվի LCD- ի Enable- ի հետ, իսկ Arduino- ի 13 -րդ կապը `LCD- ի գրանցամատյանին:

Քայլ 7: Իրականացնել ծածկագիրը

Կոդ կպահանջվի ստեղնաշարի և LCD- ի հետ մաթեմատիկական գործողությունների օգտագործման համար: Հետևյալը կլինի իմ օգտագործած ծածկագիրը, սակայն մի քանի փոփոխություններ դեռ կարող են իրականացվել `այն ավելի մաքուր և ավելի լավ դարձնելու համար: Այնպես որ, ազատ զգացեք մի փոքր խաղալ դրա հետ:

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

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

երկար առաջին = 0;

երկար վայրկյան = 0;

կրկնակի ընդհանուր = 0;

int pozit = 0;

char customKey;

const բայթ ROWS = 4;

const բայթ COLS = 4;

ածխի ստեղներ [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};

Ստեղնաշար customKeypad = Ստեղնախումբ (makeKeymap (ստեղներ), rowPins, colPins, ROWS, COLS);

void setup () {

lcd. սկսել (16, 2);

lcd.setCursor (5, 0);

lcd. հստակ (); }

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

customKey = customKeypad.getKey ();

անջատիչ (customKey) {

գործ '0'… '9':

lcd.setCursor (0, 0);

առաջին = առաջին * 10 + (customKey - '0');

lcd.print (առաջին);

դիրք ++;

ընդմիջում;

գործ '+':

առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);

lcd.setCursor (posit, 0);

lcd.print ("+");

դիրք ++;

երկրորդ = SecondNumber ();

ընդհանուր = առաջին + երկրորդ;

lcd.setCursor (1, 1);

lcd.print (ընդամենը);

առաջին = 0, երկրորդ = 0;

դիրք = 0;

ընդմիջում;

գործ '-':

առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);

lcd.setCursor (posit, 0);

lcd.print ("-");

դիրք ++;

երկրորդ = SecondNumber ();

ընդհանուր = առաջին - երկրորդ;

lcd.setCursor (1, 1);

lcd.print (ընդամենը);

առաջին = 0, երկրորդ = 0;

դիրք = 0;

ընդմիջում;

գործ '*':

առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);

lcd.setCursor (posit, 0);

lcd.print ("*");

դիրք ++;

երկրորդ = SecondNumber ();

ընդհանուր = առաջին * երկրորդ;

lcd.setCursor (1, 1);

lcd.print (ընդամենը);

առաջին = 0, երկրորդ = 0;

դիրք = 0;

ընդմիջում;

գործ '/':

առաջին = (ընդամենը! = 0? ընդհանուր `առաջին);

lcd.setCursor (posit, 0);

lcd.print ("/");

դիրք ++;

երկրորդ = SecondNumber (); lcd.setCursor (1, 1);

երկրորդ == 0? lcd.print («Սխալ»). ընդհանուր = (float) առաջին / (float) երկրորդ;

lcd.print (ընդամենը);

առաջին = 0, երկրորդ = 0;

դիրք = 0;

ընդմիջում;

գործ 'C':

ընդամենը = 0;

առաջին = 0;

երկրորդ = 0;

դիրք = 0;

lcd. հստակ ();

ընդմիջում; }

}

երկար SecondNumber () {

մինչդեռ (1) {

customKey = customKeypad.getKey ();

if (customKey> = '0' && customKey <= '9') {

երկրորդ = երկրորդ * 10 + (customKey - '0');

lcd.setCursor (posit, 0);

lcd.print (երկրորդ); }

եթե (customKey == 'C') {

ընդամենը = 0;

առաջին = 0;

երկրորդ = 0;

դիրք = 0;

lcd. հստակ ();

ընդմիջում; }

եթե (customKey == '=') {

lcd.setCursor (0, 1);

lcd.print ("=");

դիրք = ընդհանուր;

lcd. հստակ ();

lcd.setCursor (0, 1);

lcd.print ("=");

ընդմիջում; }

}

վերադառնալ երկրորդ;}

Քայլ 8: Արդյունք

Արդյունք
Արդյունք
Արդյունք
Արդյունք

Հուսով եմ, որ դուք բոլորդ վայելեցիք այս ուսանելի ուղեցույցը: Շնորհակալություն կարդալու համար:

Սաիմ.

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