Բովանդակություն:
- Քայլ 1: Մաթեմատիկական նախապատմություն
- Քայլ 2: Softwareրագրակազմ
- Քայլ 3: Սարքավորումներ
- Քայլ 4: Լարերի տեղադրում
- Քայլ 5. Ապագա բարելավում
Video: 2-կոճակ քառակուսային հավասարումների լուծիչ ՝ 5 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Ներածություն
Բարի գալուստ իմ առաջին ուսանելի:
Այս նախագիծը սկսեցի ծրագրավորման իմ գիտելիքները ընդլայնելու համար: Հաճախ, դուք պարզապես միավորում եք տարբեր աղբյուրի կոդը ՝ ձեզ անհրաժեշտ ծրագիր ստեղծելու համար: Իմ նպատակն էր գրել իմ սեփական ծրագրի ծածկագիրը գործիքի հետ փոխգործակցության համար: Ինձ դուր եկավ հաշվարկման պարզ գործիք ստեղծել: Մի ամիս առաջ ես ընկերոջս աջակցեցի քառակուսային հավասարումը լուծելու համար:
Բազինգա! սա օգտագործման դեպքն է:
Ես նորից օգտագործեցի հին մետաղյա տուփ: Նախընտրեցի գործիքների մինիմալիստական տեսքն ու ինտերֆեյսը: դա է պատճառը, որ ես պարզապես ուզում եմ օգտագործել 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. Ապագա բարելավում
Ապագա բարելավում
Նախագիծն ավարտելուց հետո դուք միշտ գտնում եք սխալներ կամ բարելավման հնարավորություններ: Այս նախագծում ես ուրախ եմ, որ գտա մի քանի կետ, որոնք կբարելավեի ապագայի համար:
Հաջորդ անգամ ես կբարելավեի արկղի շահագործումը: Այս նախագծի սկզբում ամրացրեցի էկրանը, հոսանքի անջատիչը և կոճակները: Վերջում, ես մի փոքր դժվարություն ունեցա ՝ մարտկոցի և տուփի մեջ միկրոպրոցեսորի համար բավականաչափ տարածք գտնելու համար: Երբ ես դնում էի կոճակը և էկրանն ավելի շատ դրսում, տուփի ներսում գտնվող մասերի տարածքի հետ կապված որևէ խնդիր չէի ունենա:
Այս պահին ես քառակուսի հավասարման լուծման օգտագործման դեպք չունեմ: Գործիքը բարելավելու համար ես կցանկանայի գործիքը ընդլայնել հետագա մաթեմատիկական բաներով, օրինակ `հիմնական հաշվարկներով կամ բանաձևերով, ինչպիսիք են Պյութագորասի երկակի բանաձևը կամ նախադասությունը:
Խորհուրդ ենք տալիս:
Իրական ժամանակում Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. 4 քայլ
Իրական ժամանակի Ռուբիկի խորանարդի փակ աչքերով լուծիչ ՝ օգտագործելով Raspberry Pi և OpenCV. Սա Ռուբիկի խորանարդի գործիքի 2-րդ տարբերակն է, որը պատրաստվել է աչքերը փակ աչքերով լուծելու համար: 1 -ին տարբերակը մշակվել է javascript- ով, կարող եք տեսնել RubiksCubeBlindfolded1 նախագիծը: Ի տարբերություն նախորդի, այս տարբերակը օգտագործում է OpenCV գրադարանը ՝ գույներն ու էլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ - Քայլ առ քայլ: 4 քայլ
Arduino մեքենայի հետադարձ կայանման ահազանգման համակարգ | Քայլ առ քայլ. Այս նախագծում ես նախագծելու եմ մի պարզ Arduino մեքենայի հետադարձ կայանման սենսորային միացում ՝ օգտագործելով Arduino UNO և HC-SR04 ուլտրաձայնային տվիչ: Այս Arduino- ի վրա հիմնված Car Reverse ազդանշանային համակարգը կարող է օգտագործվել ինքնավար նավարկության, ռոբոտների ռանգի և այլ տեսականու համար
Քայլ առ քայլ համակարգչային շենք. 9 քայլ
Քայլ առ քայլ համակարգչի կառուցում. Պարագաներ. Սարքավորումներ. Մայրական համակարգիչ CPU coolerPSU (Էներգամատակարարման միավոր) Պահեստավորում (HDD/SSD) RAMGPU (պարտադիր չէ) Գործ CaseTools: Պտուտակահան ESD ապարանջան/matsthermal paste w/aplikator
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Երթևեկության լուծիչ ՝ 7 քայլ
Traffic Solver: Traffic Solver- ը ավտոմատացնում է երթևեկության վերահսկողությունը շինարարական գոտու մեկ գոտում: Որպեսզի այս համակարգը աշխատի առանց վթարների միջև, պետք է լինի երկու միավոր, յուրաքանչյուրը մեկական: Երկու միավորներն ունենալու են շարժիչ և պտտվող պահման սարք, որը