Բովանդակություն:
- Քայլ 1: Հիմնականը (ոչ իրականում)
- Քայլ 2: Լարման բաժանարար
- Քայլ 3. Լարման բաժանարար սանդուղք
- Քայլ 4: Ամփոփում
Video: Ինչպես կարդալ բազմաթիվ անջատիչներ մեկ MCU կապով `4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:53
Դուք երբևէ խեղդվե՞լ եք ծրագրի (նախագծերի) վրա, և նախագիծը շարունակում է աճել և աճել, մինչդեռ դրան ավելացնում եք ավելի շատ բաներ (մենք դա անվանում ենք Feaping Creaturism): Վերջերս կատարված նախագծի վրա ես կառուցում էի հաճախականությունների հաշվիչ և ավելացնում հինգ ֆունկցիոնալ ազդանշանի գեներատոր/հաճախականության սինթեզատոր: Շուտով ես ավարտվեցի ավելի շատ անջատիչներով, քան մնացել էի հասանելի կապում, այնպես որ ինչ պետք է անի տղան:
Այնուամենայնիվ, շուտով ես ունեի ևս յոթ անջատիչ իմ Funbox- ում (այո, այդպես էի անվանում իմ գործառույթի գեներատորը … Այն չի պահանջում հերթափոխի գրանցամատյաններ կամ հատուկ IC- ներ: Փաստորեն, այն չի պահանջում նաև միկրոկոնտրոլեր, եթե դիսկրետ կիսահաղորդիչներն այնպես են պտտվում: Ահա մի եղանակ, որով կարող եք կարդալ/կառավարել բազմաթիվ անջատիչներ ՝ օգտագործելով ձեր AVR- ի մեկ փին (կամ այլ միկրոկառավարիչ… Ես լսել եմ, որ AVR- ից բացի այլ միկրոկոնտրոլերներ կան, բայց չեմ պատկերացնում…)::)
Քայլ 1: Հիմնականը (ոչ իրականում)
Դա իրականացնելու համար ձեզ հարկավոր են մի քանի բաղադրիչներ. Այն օգնում է ունենալ բազմաթիվ անջատիչներ, որոնք դուք պետք է կառավարեք: Ձեզ նույնպես կպահանջվեն որոշ ռեզիստորներ և կամ միկրոկոնտրոլեր, որն ունի ADC (անալոգային-թվային փոխակերպում) կամ ինչ-որ այլ եղանակով կցանկանայիք նշել, որ անջատիչն ակտիվացված է, և որն է անջատիչը:
Եթե ցանկանայիք, կարող եք օգտագործել լարման վերահսկվող տատանում `դա ցույց տալու համար, գուցե որոշ թարթող լույսերով, կամ այլընտրանք` ձայնով: Այս դժվարության մեջ ես կձևացնեմ, որ մենք օգտագործում ենք AVR, բայց ձեր աշխարհում կարող եք ձևացնել այն, ինչ ձեզ երջանկացնում է: Կարոտում եմ Բոբ Ռոսսին:
Քայլ 2: Լարման բաժանարար
Ըստ էության, այն, ինչ մենք պատրաստվում ենք դա անել, դա տեխնիկայի և սխեմայի օգտագործումն է, որը կոչվում է լարման բաժանարար: Լարման բաժանարարները, ինչպես երևի կռահել եք, բաժանում են V,,,, լարման որոշված արժեքով: Դուք կարող եք լարումը բաժանել մի քանի բաղադրիչների, ներառյալ կոնդենսատորները և ինդուկտորները, բայց ահա ես դա կանեմ լավ ռեզիստորով: Գաղափարը Այն, ինչ մենք անում ենք, շարադրել երկու բաղադրիչ, որոնք կհանգեցնեն, յուրաքանչյուրը առանձին, լարման անկում բաղադրիչի վրա: Նայեք առաջին նկարին, եթե իմաստ չունեմ: Գոյություն ունի 9V- ի պոտենցիալ տարբերություն երկաթուղուց մինչև երկաթուղի: 9V- ի և 0V- ի միջև կա երկու դիմադրություն շարքում: Սրանցից յուրաքանչյուրը լարման անկում կապրի ՝ կախված դիմադրությունից, ինչպես հավանաբար հիշում եք V = IR- ից: Եթե լարման չափում կատարեք երկու դիմադրիչների միջև, ապա որոշակի արժեք կստանաք 9 Վ – ից մինչև 0 Վ ՝ կախված նրանից, թե որքան լարվածություն է ընկել առաջին ռեզիստորի երկայնքով և որքան է մնացել 2 – րդ դիմադրության վրայից իջնելու համար ՝ մինչև 0 Վ: Այս իրավիճակում կա ռեզիստորի վրա լարման անկումը հաշվարկելու մի պարզ բանաձև, և այն այսպիսին է թվում. Թող դիմադրությունը 1 -ի (R1) նկատմամբ լինի V1, իսկ դիմադրության վրա ՝ երկու (R2) ՝ V2: Քանի որ ես այլևս չեմ կարող ձևաչափել, բանաձևը դիտեք ստորև բերված նկար 2 -ում: Այսպիսով, մեր դիմադրողական բաժանարարում Vout լարումը կարող է որոշվել V2- ի մեր բանաձևով (քանի որ մենք հղում ենք անելու GND- ին մինչև 0V): Ի՞նչ կապ ունի դա այն բանի հետ, որ մի փունջից հայտնաբերվում են մի քանի անջատիչներ: Դե, թերթիր էջը, և ես ցույց կտամ քեզ:
Քայլ 3. Լարման բաժանարար սանդուղք
Հիմա ենթադրենք, որ մենք ունենք մեր բոլոր անջատիչները, գուցե վեց կամ ութ կամ տասնվեցը, բոլորը միացված են ռեզիստորների միջոցով, որոնցից յուրաքանչյուրը գործում է որպես լարման բաժանարար, այնպես որ երբ անջատիչի քորոցի վիճակը փոխվում է, լարումը կարդացվում է և ելնելով լարման մակարդակից, մենք կարող է իմանալ, թե որ անջատիչն է պարզապես ակտիվացվել: Նայեք ստորև: Ստորև բերված նկարում ես միացրել եմ անջատիչների երկու բլոկ: Ամենաբարձր բլոկն ունի երկու անջատիչ, իսկ ներքևի բլոկն ունի հինգ անջատիչ: Դուք կարող եք նույն կերպ միացնել ձեր անջատիչ, վայրկենական, շոշափելի և այլն անջատիչները: Կարևորը, որ պետք է նկատել, այն դիմադրիչն է, որին միացված է ձեր անջատիչը: Իմ օրինակում ես գրեթե կրկնապատկել եմ հաջորդ դիմադրության դիմադրությունը `ստեղծելով լարման բաց, որը հեշտ է չափել և սխալմամբ չընդունել անջատիչի առաջ կամ հետո: Եթե նախկինում չեք նկատել, նորից նայեք և գիտակցեք, որ մենք վերադարձանք մեր հին ընկերոջը ՝ դիմադրողական լարման բաժանարարին: Առաջին ռեզիստորը ՝ 10k ohm- ը, միացված է 5V- ին, իսկ 2 -րդը ՝ այն դիմադրիչը, որը որոշելու է Vդուրս SWITCH_ADC կապի համար միացված է յուրաքանչյուր անջատիչին և, հետևաբար, յուրաքանչյուր անջատիչ կապված է որոշակի Vout լարման հետ, որը կարելի է կարդալ SWITCH_ADC- ում միացված ADC կապից: Հաջորդը, յուրաքանչյուր անջատիչից որոշեք ակնկալվող Vout- ը
Vout = Vin * (R2 / (R1 + R2))
մեկ անջատիչի համար.
Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V կամ 240 մՎ
երկրորդ անջատիչի համար.
Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V կամ ~ 900mV
և այլն … Ազատ զգալ ձեր սեփական արժեքներով փոխարինել R2- ով, եթե դուք ունեք միայն որոշակի ռեզիստորներ … Այստեղ ամենակարևորը անջատիչների միջև լարման բավական լայն բացը պահելն է, որպեսզի ADC- ի սխալի ցանկացած սահման շահի »: t ձեզ մտցրեք հարևան անջատիչից սպասվող լարման մեջ: Ես գտել եմ, որ ամենահեշտն այն է, որ կառուցես բաժանարար սանդուղքը և մի մուլտիմետր/վոլտմետր տեղադրես ADC կապի վրա և սեղմիր յուրաքանչյուր քորոց և տես, թե ինչ արժեքներ ես ստանում: Նրանք պետք է բավականին տեղին լինեն ձեր հաշվարկի մեջ: Երբ դուք ունեք յուրաքանչյուր անջատիչից որոշակի ռեզիստոր օգտագործելով ակնկալվող լարման արժեքները, ապա կարող եք ձեր MCU- ին կարդալ ADC կապը և այն համեմատել ձեր հայտնի արժեքների հետ `որոշելու, թե որ անջատիչն է սեղմված: Օրինակ, ասեք, որ գրանցել եք ընդհատումների ծառայության ռեժիմ, որը կկոչվի ամեն անգամ, երբ ADC կապում հայտնաբերվի փոփոխություն: Այդ ISR- ի ներսում կարող եք կարդալ ADC- ն և այդ արժեքը համեմատել ձեր անջատիչ սեղանի հետ: Եթե դուք օգտագործում եք 8 բիթանոց ADC արժեք, ձեր լարումը կվերածվի 0-ի և 255-ի միջև ընկած թվի, որը համապատասխանում է 0V- ից մինչև 5V- ի լարման: Սա ենթադրում է, որ ձեր ADC- ն այս կերպ կազմաձևված է:
Քայլ 4: Ամփոփում
Այսպիսով, այժմ դուք պետք է իմանաք, թե ինչպես խնայողաբար աշխատել անջատիչների համար GPIO կապում: Ամեն անգամ, երբ սպառվում եք GPIO- ի կապումներով, կամ որևէ մեկը սկսելու կարիք ունեք, կամ եթե գիտակցում եք, որ օգտագործելու եք անջատիչների բանկ, դիմադրողական բաժանարարը այն միջոցն է, որը կարող եք փրկել ձեր GPIO կապում ՝ դեռ ապահովելով անջատիչի մուտքը հայտնաբերելու հզոր մեխանիզմ:
Խորհուրդ ենք տալիս:
Ինչպես կարդալ էլեկտրաէներգիայի հաշվիչ Arduino- ի միջոցով. 3 քայլ
Ինչպես կարդալ էլեկտրաէներգիայի հաշվիչ Արդուինոյի միջոցով. Սա իսկապես խնդիր չէ, քանի որ հիմնականում դուք կգտնեք խելացի թվային էլ
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց. 6 քայլ (նկարներով)
Ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով մեկ անալոգային քորոց: Այս ձեռնարկում ես ձեզ ցույց կտամ, թե ինչպես կարդալ բազմաթիվ անալոգային արժեքներ ՝ օգտագործելով միայն մեկ անալոգային մուտքի քորոց:
Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). 4 քայլ
Arduino- ն աշխատում է բազմաթիվ ֆայլերով (ԿԱՐԴԱԼ/ԳՐԵԼ). Բարև տղերք: Այսօր ձեզ եմ ներկայացնում Arduino նախագիծը, որն աշխատում է RTC վահանով, որը կարող է պահել տվյալներ: Այս նախագծի հիմնական խնդիրն է աշխատել բազմաթիվ ֆայլերի հետ, որոնք պահվում են sc քարտի վրա: Այս նախագիծը պարունակում է ծածկագիր, որն աշխատում է երեք ֆայլերով, մինչդեռ
Fusion 360: 5 քայլերի արդյունքում բազմաթիվ մարմինների արտահանում որպես մեկ STL ֆայլ
Fusion 360 -ում բազմաթիվ մարմինների արտահանում որպես մեկ STL ֆայլ. Երբ ես առաջին անգամ սկսեցի օգտագործել Fusion 360 -ը, իմ ամենասիրելի հատկություններից մեկը 3D մոդելից 3D տպագրություն անցնելու հեշտությունն էր: Ոչ մի այլ ծրագրակազմ չի ապահովել ավելի հարթ ընթացք: Դա շատ պարզ է անել, եթե ձեր մոդելը պարունակում է միայն մեկ մարմին: Այնուամենայնիվ
Վերահսկեք ամեն ինչ մեկ AVR կապով ՝ 4 քայլ
Վերահսկեք որևէ բան AVR կապով