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

2-կոճակ քառակուսային հավասարումների լուծիչ ՝ 5 քայլ
2-կոճակ քառակուսային հավասարումների լուծիչ ՝ 5 քայլ

Video: 2-կոճակ քառակուսային հավասարումների լուծիչ ՝ 5 քայլ

Video: 2-կոճակ քառակուսային հավասարումների լուծիչ ՝ 5 քայլ
Video: Քառակուսային հավասարումների համակարգեր. x^2 և y^2 | Հանրահաշիվ | «Քան» ակադեմիա 2024, Նոյեմբեր
Anonim
Image
Image

Ներածություն

Բարի գալուստ իմ առաջին ուսանելի:

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

Բազինգա! սա օգտագործման դեպքն է:

Ես նորից օգտագործեցի հին մետաղյա տուփ: Նախընտրեցի գործիքների մինիմալիստական տեսքն ու ինտերֆեյսը: դա է պատճառը, որ ես պարզապես ուզում եմ օգտագործել 2 կոճակ մուտքագրման համար: Մրցույթը կցուցադրվի պարզ LCD էկրանով:

Պարագաներ

նյութերի ցուցակ.

տուփ

2 կոճակ Արկադային ոճ

Արդուինո Նանո կամ նմանատիպ

LCD էկրան 1602 I2C ադապտերով

միացման/անջատման անջատիչ

լարերը

2x 10k Օմ դիմադրություն

մարտկոց 9 վ բլոկ

միակցիչ 9 վ մարտկոցի համար

տախտակ

տարբեր (փայտի կտոր, մետաղական անկյուն, մալուխի կապեր, պտուտակ, լվացարաններ)

գործիքներ:

տեսավ

զոդման երկաթ

հորատման մեքենա

համակարգիչ `ծրագրավորման համար

Քայլ 1: Մաթեմատիկական նախապատմություն

Ծրագրային ապահովում
Ծրագրային ապահովում

Մաթեմատիկական հետին պլան

2 կոճակով քառակուսային հավասարումը ցույց է տալիս այն արժեքները, որտեղ քառակուսի գործառույթը հատում է X առանցքը: Քառակուսի ֆունկցիան երբեք, մեկ կամ երկու անգամ չի կարող հատել X առանցքը:

Այս արժեքները հաշվարկելու տարբեր եղանակներ կան: Իմ գործիքի համար ես օգտագործում եմ PQ բանաձևը (վստահ չեմ, արդյոք այս արտահայտությունը կօգտագործվի ամբողջ աշխարհում):

Քառակուսի հավասարումը ունի հետևյալ ձևը.

ax²+bx+c = 0

Անցման կետերը հաշվարկելու համար ձևը բաժանեք x²+px+q = 0 -ի հետ p = b/a; q = c/a

PQ բանաձև

x1 = -p/2 + sqrt ((p/2) ² -q)

x2 = -p/2 -sqrt ((p/2) ² -q)

X արդյունքը կարող է ստանալ 0, 1 կամ 2 արժեք: Դա կախված է քառակուսի արմատի արժեքից:

Արդյո՞ք արժեքը> 0 է, ապա PQ- բանաձևն ունի երկու լուծում:

Արդյո՞ք արժեքը = 0 է, ապա PQ- բանաձևն ունի մեկ լուծում

արժեքը <0 է, ապա PQ բանաձևը լուծում չունի: Ֆունկցիան չի անցնում X- առանցքը:

Քայլ 2: Softwareրագրակազմ

Ծրագրային ապահովում

Programրագրավորման համար ես օգտագործեցի պաշտոնական Arduino IDE- ն: Իմ նպատակն էր ստեղծել իմ սեփական ծրագրային ծրագիրը: Իմ ինտերֆեյսը պետք է ունենա երկու կոճակ: Մեկ կոճակ ՝ տարբեր մակարդակների միջև անցնելու համար, երկրորդ կոճակը ՝ տարբեր մակարդակներում արժեքները փոխելու համար:

PQ- բանաձևը լուծելու համար ես ստեղծում եմ վերը նշված կառուցվածքը.

Իհարկե, ես անիվը նորից չեմ հայտնագործում: Կոդ ստեղծելու համար ես օգտագործեցի մոդուլը.

- հերքում

- ցուցադրում

Հետևյալ կետերը ամենամեծ մարտահրավերներն էին

- Ինչպե՞ս կարող եմ ընտրել նշանը: Այս մարտահրավերը լուծեցի modulo գործառույթով (հղում): Կոդը մուտքը բաժանում է 2. Արդյո՞ք մուտքագրումը կենտ թիվ է, արժեքը ստանում է բացասական, հակառակ դեպքում թիվը դրական է:

- Բոլոր մակարդակներով անցնելուց հետո ես պետք է բոլոր արժեքները հայտարարեմ 0 -ի:

- displayedուցադրվող տեքստը պարզապես ջնջում է ուղարկվող նիշերը: Եթե կոդերը 4 նիշ ունեցող բառ են ուղարկում, ապա հենց այս 4 նիշերը կվերբեռնվեն: Եթե նախկինում բառը ավելի շատ նիշ ուներ, ապա կերպարները կմնան: Դա շտկելու համար ցուցադրվող տեքստը կլրացվի դատարկությամբ: Բոլոր 16 անընդմեջ նիշերը կվերաբեռնվեն:

Վերջնական կոդը կցվում է:

Քայլ 3: Սարքավորումներ

Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ
Սարքավորումներ

Սարքավորումներ

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

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

Էներգամատակարարման համար խորհուրդ եմ տալիս վերալիցքավորվող 9 Վ բլոկային մարտկոցներ: Մարտկոցը հոսանքի անջատիչի միջոցով միացնում եմ Arduino- ին: Մարտկոցը ամրացված է տուփի վրա `փոքր մետաղական անկյան տակ: Մարտկոցի միակցիչը պարզապես ամրացված է մալուխային կապերով:

Միկրոպրոցեսորը Արդունո նանոյի կլոն է: Այս օգտագործման դեպքում կատարումը բավականաչափ բավարար է: An Attiny 85 -ը, օրինակ Digispark միկրոպրոցեսորը մերժվեց: Arduino- ն «հացով նստած» է ցուցադրման կողքին:

Էկրանը 1602 LCD էկրան է: երկու տողում կարող եք օգտագործել 16 նիշ: Այս ցուցադրումը կարող եք գտնել բազմաթիվ տարբեր մեքենաներում և գործիքներում: Այս ցուցադրման օգտագործման երկու տարբեր եղանակներ կան: Դուք կարող եք էկրանը միացնել անմիջապես վերահսկիչին կամ կարող եք օգտագործել հավելում ՝ I2C- ի միջոցով էկրանին հաղորդակցվելու համար: I2C- ը ստանդարտ արձանագրություն է: Ես օգտագործեցի այն, քանի որ ավելի հեշտ է էկրանը միացնել վերահսկիչին: Ձեզ անհրաժեշտ է ընդամենը 4 մալուխ ՝ 16 -ի փոխարեն, VCC- ից մինչև 5V, GND- ից GND, SDA- ից A4, SCL- ից A5: Էկրանը պտուտակներով ամրացված է տուփի կափարիչին:

Կոճակները հսկայական են: նրանք ունեն բնորոշ արկադային խաղաոճ: Ինձ դուր է գալիս: Կոճակները միացված են 4 և 7 թվային կապին: Խնդրում ենք մի մոռացեք 10K դիմադրիչների մասին:

Կափարիչը բացելու համար, օրինակ ՝ մարտկոցը փոխելու համար, ես օգտագործեցի ավելի երկար մալուխներ, որոնք միացված էին հացատախտակին:

Քայլ 4: Լարերի տեղադրում

Հաղորդալարեր
Հաղորդալարեր

Քայլ 5. Ապագա բարելավում

Ապագա բարելավում

Նախագիծն ավարտելուց հետո դուք միշտ գտնում եք սխալներ կամ բարելավման հնարավորություններ: Այս նախագծում ես ուրախ եմ, որ գտա մի քանի կետ, որոնք կբարելավեի ապագայի համար:

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

Այս պահին ես քառակուսի հավասարման լուծման օգտագործման դեպք չունեմ: Գործիքը բարելավելու համար ես կցանկանայի գործիքը ընդլայնել հետագա մաթեմատիկական բաներով, օրինակ `հիմնական հաշվարկներով կամ բանաձևերով, ինչպիսիք են Պյութագորասի երկակի բանաձևը կամ նախադասությունը:

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