Բովանդակություն:
- Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի
- Քայլ 2. Ի՞նչ է 5-լարանի դիմացկուն դիպչող վահանակը:
- Քայլ 3: Լարերի տեղադրում
- Քայլ 4: Softwareրագրաշարի մշակում
- Քայլ 5. Պետական մեքենայի թարթում
- Քայլ 6: Կոճակ թարթել
- Քայլ 7: Սերիական հաղորդակցություն
- Քայլ 8: Կարդալու կոորդինատներ
- Քայլ 9: Մաքրում
- Քայլ 10: Վերջնական մտքեր
Video: 5-լարային դիմացկուն հպման տվիչ `10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:49
Բարեւ բարեւ!
Արդեն որոշ ժամանակ է, ինչ ես աշխատում եմ այս կայքում և շատ բան է փոխվել: Վերջապես պատրաստ եմ ղեկին վերադառնալ մեկ այլ նախագծի համար, և կարծում եմ, որ ժամանակն է ինքս ինչ -որ բան փոխելու:
Ես որոշ ժամանակ մտքում ունեի մի նախագիծ, որը հիմնված էր 271828 թ. Ես կարծում էի, որ քանի դեռ մեկ -երկու բան եմ սովորում, կարող եմ ձեզ հետս տանել:
Այդ նպատակով, այս ձեռնարկների իմ նպատակը մի տեսակ հիբրիդ կլինի իմ ավելի հղկված ձեռնարկների միջև և բուն նախագծի համար գրանցում: Յուրաքանչյուր առանձին ձեռնարկ կլինի մեկ քայլ այդ ճանապարհորդության մեջ և կներառի մանրամասներ, որոնք ես շոշափել եմ անցյալում, ինչպիսիք են կոդի մշակում (պարզապես լրացված ծածկագրի փոխարեն) և սխալ քայլեր, որոնք ես կատարում եմ ճանապարհին:
Ես շատ ոգևորված եմ այս նոր նախագծով և հուզված եմ տեսնել, թե որքան լավ է այն աշխատում:
Այսօր մենք պարզապես կստանանք մի պարզ 5-Wire սենսորային վահանակ, որն աշխատում է DP-32- ի հետ:
Եկեք սկսենք!
Քայլ 1: Այն, ինչ ձեզ հարկավոր կլինի
Քանի որ այս ձեռնարկը վերաբերում է մեկ սենսորին աշխատեցնելուն, միկրոկոնտրոլերից և սենսորային վահանակից այն կողմ շատ բան պետք չէ:
-
Միկրոկոնտրոլեր:
Ես օգտագործում եմ իմ DP32- ը ներկառուցված հացի տախտակով, քանի որ այն նախատիպերն աներևակայելի պարզ է դարձնում:
-
Լարերի և մալուխների տեսականի:
Ես կարող էի օգտագործել սենսորային վահանակի ներկառուցված ժապավենի մալուխը, բայց եթե այն պատռվի, ապա ամբողջ վահանակն անօգուտ է: Փոխարենը, ես օգտագործում եմ 6-լարային մալուխ `ներկառուցված մալուխի լարվածությունը նվազեցնելու համար:
-
Տիտղոսային 5-մետաղալար դիմադրողական սենսորային վահանակ:
Ես ունեի 4-մետաղալար դիմադրողական սենսորային վահանակ, բայց դրա համար նախատեսված ժապավենի մալուխը կոտրվեց:
Եվ վերջ!
Քայլ 2. Ի՞նչ է 5-լարանի դիմացկուն դիպչող վահանակը:
Եթե կարդացել եք իմ 4-լարային սենսորային վահանակի ձեռնարկը, ապա ձեզ ծանոթ կլինեն դիմադրողական հպման տվիչի ընդհանուր գաղափարը, սակայն 5-մետաղալար վահանակները և 4-մետաղալարերը գործում են մի փոքր այլ կերպ:
Ինձ դուր է գալիս այս վահանակը, քանի որ դուք կարող եք տեսնել բոլոր մետաղալարերի հետքերը, ինչը հեշտացնում է տեսնել, թե ինչն ինչ է անում: Առաջին նկարում ես յուրաքանչյուր հետք տարբեր կերպ եմ գունավորել: Դուք հավանաբար կարող եք տեսնել, որ լարերից չորսը (վարդագույն, դեղին, նարնջագույն և մանուշակագույն) յուրաքանչյուրը անցնում է չորս անկյուններից մեկին: Միջին մետաղալարը (կարմիր) անցնում է ճկուն սենսորային վահանակին:
Երկրորդ նկարում մենք չորս լարերից երկուսը (վերևից աջ և ներքևից աջ) բարձր լարման ենք դարձրել (կարմիր գույնով), իսկ մյուս երկուսը (վերևից ձախ և ներքևից ձախ) ցածր են լարումը (ցուցադրվում է կապույտ գույնով): Սա ստեղծում է լարման գրադիենտ ամբողջ վահանակի վրա: Այս դեպքում գրադիենտն անցնում է X առանցքի երկայնքով, ուստի ավելի բարձր լարումը ներկայացնում է ավելի բարձր դիրք X առանցքի երկայնքով:
Երբ մատը դիպչում ենք վահանակին, այն ճնշում է ճկուն սենսորը ՝ միանալով ինչ-որ տեղ X առանցքի գրադիենտի երկայնքով: Մեր միկրոկառավարիչի լարման տվիչները կարող են զգալ այս լարումը և ասել, թե որտեղ է մատը դիպչում X առանցքի վրա:
Երրորդ նկարում դուք կարող եք տեսնել, թե ինչպես է փոխվում կազմաձևը ՝ թույլ տալով մեզ զգալ Y առանցքի երկայնքով: Այսպիսով, մենք կարող ենք ասել, թե որտեղ է մեր մատը դիպչում երկկողմանի տարածության վրա:
Քայլ 3: Լարերի տեղադրում
Ինչպես երևի կարող եք տեսնել վերևի նկարներում, ես չորս անկյուններս միացրել եմ իրենց թվային ելքային քորոցին: Դա թույլ կտա դրանք անհատապես բարձր կամ ցածր սահմանել: Իմ տվիչի քորոցը միանում է անալոգային մուտքի քորոցին: 5-մետաղալար սենսորային էկրանին հաճելի է, ի տարբերություն 4-մետաղալարերի, այն է, որ ձեզ անհրաժեշտ է միայն մեկ անալոգային քորոց, մինչդեռ 4-մետաղալարով կպահանջվի 2:
Ձեր լարերը, իհարկե, կարող են տարբերվել, բայց իմ էլեկտրագծերը հետևյալն են.
Անալոգային 0 (կապ 6) միանում է սենսորին (միջին քորոց)
Թվային 3-ը միանում է վերևից աջ (վերևի ամենաապին)
Թվային 2-ը միանում է վերև-ձախ (երկրորդ ամենաբարձր քորոցին)
Թվային 1-ը միանում է ներքևից ձախ (երկրորդ ներքևի ամենաշատ քորոցին)
Թվային 0-ը միանում է ներքևի աջին (ներքևի ամենից շատ քորոց)
Կրկին հարկ է նշել, որ ես միկրոկոնտրոլերի և վահանակի միջև անցնելու համար օգտագործում եմ 6 լարային մալուխ: Այս մալուխի վերին կապը ես միացված եմ թողել:
Քայլ 4: Softwareրագրաշարի մշակում
Նախկինում ես սովորաբար թողնում էի ավարտված ծրագրակազմի ֆայլը, որը կարող ես օգտագործել, գուցե այն ամենի համառոտ նկարագրությամբ: Ինձ դա դուր չի գալիս: Ես ցանկանում եմ, որ այս շարքը վերաբերվի զարգացման փուլում գտնվող նախագծերին, և այդ նպատակով ես սկզբից մինչև վերջ կներառեմ այս ծրագրաշարի իրական զարգացումը:
Ինչպես միշտ, ես կօգտագործեմ Arduino IDE- ն ՝ Digilent միջուկով: Յուրաքանչյուր բաժին կներառի կոդի ֆայլ, էկրանի նկարահանում, ինչպես նաև հավելումների նկարագրություն և այն, ինչին մենք փորձում ենք հասնել:
Այս պահին ես սկսում եմ մի պարզ հետաձգման ոճի թարթման ծրագիր, որը նույնն է, ինչ դուք կգտնեիք Օրինակներ թղթապանակում: Եթե կարդաք իմ գրած երկարատև վերնագիրը, կտեսնեք, որ այս գործընթացի յուրաքանչյուր քայլ կփոփոխի ծրագիրը `այն մեր վերջնական նպատակին ավելի մոտենալու համար:
Քայլ 5. Պետական մեքենայի թարթում
Իմ առաջին քայլը թարթման գործառույթը «հետաձգման ()» վրա հիմնված մեկից պետական մեքենայի փոխելն է:
Նրանց համար, ովքեր սովոր չեն փոխելու հայտարարությունները, այն նման է if- հայտարարության: Այս մեկը (նարնջագույն վանդակում) ստուգում է մեր «վիճակ» փոփոխականը (որը սկսվում է 0 -ից): Այնուհետև այն անցնում է մեր ներկա վիճակի համար: Դուք կտեսնեք, որ 0 և 2 պատյանները պատասխանատու են LED- ը միացնելու և անջատելու համար (համապատասխանաբար), իսկ 1 -ին և 3 -րդ դեպքերը պատասխանատու են անջատիչների միջև սպասելու համար:
Քայլ 6: Կոճակ թարթել
Հաջորդը, ես ուզում էի, որ կոճակը օգտագործվի լույսը թարթելու համար: Սա չափազանց բարդացնելու փոխարեն, ես պարզապես մեկով իջեցրել եմ բոլոր վիճակները (0-ը դառնում է վիճակ 1 և այլն): Դա անելիս զգույշ եղեք, որպեսզի ավելացնեք ելքի վիճակները, ինչպես նաև բուն վիճակը (տես նկար 3):
Ես ջնջեցի նաեւ երկրորդ «սպասել» վիճակը: Դա նշանակում է, որ կոճակը լույսը միացնում է մեկ վայրկյան, և այն կարող եք նորից սեղմել այն անջատվելուց անմիջապես հետո:
Հարկ է նշել, որ այս համակարգը մեզ համար ավտոմատ կերպով ապամոնտաժում է կոճակը, քանի որ մենք պետք է սպասենք, մինչև LED- ն անջատվի, նախքան 0 վիճակին վերադառնալը, որտեղ կոճակը կարող է նորից սկսել ցիկլը:
Քայլ 7: Սերիական հաղորդակցություն
Այս թարմացումը շատ փոքր է: Այն ամենը, ինչ ուզում էի անել, սերիական կապ հաստատելն ու հաղորդագրություններ ուղարկելն էր: Առաջին նկարում կարող եք տեսնել, որ ես սկսում եմ Serial- ը setup () գործառույթում: Մեր պետական մեքենայի ներսում 1 -ին և 3 -րդ պետություններին ավելացրի տողեր, որոնք սերիայի միջոցով համակարգչին կուղարկեն պարզ հաղորդագրություններ:
Քայլ 8: Կարդալու կոորդինատներ
Լավ է, որ վերջին քայլը հեշտ ստացվեց, քանի որ այս քայլը չարաճճի էր:
Սկսելու համար ես ավելացրել եմ մեր սենսորային վահանակի փոփոխականները, ներառյալ որոշ ժամանակային փոփոխականներ ինչպես հպման վահանակի, այնպես էլ մեր կոճակի համար: Թե ինչու, մի քիչ կտեսնեք:
Ես ամբողջությամբ վերաշարադրեցի պետական մեքենան: Կոդին նայելը մի փոքր շփոթեցնող է, ուստի ես ներառել եմ բլոկ -դիագրամ, որը պետք է ցույց տա արվածը:
Ուշադրություն դարձրեք. Այժմ կան երեք «սպասող» քայլեր: Մեկը սենսորային վահանակի յուրաքանչյուր կոնֆիգուրացիայի համար `թույլ տալու, որ չափումները կատարելուց առաջ լարումները կարգավորվեն, և մեկը` կոճակին ժամանակ տալու `ճիշտ դուրս գալու համար: Այս սպասողական քայլերն են պատճառը, որ ես ուզում էի և՛ կոճակին, և՛ սենսորային վահանակին տալ իրենց ժամանակային փոփոխականները:
Նշում. DEBOUNCE_TIME կայունությունը կարող է մի փոքր ցածր լինել: Ազատորեն ավելացրեք այն:
Քայլ 9: Մաքրում
Մենք հասել ենք այս նախագծի ծածկագրի վերջնական տարբերակին:
Սկսելու համար, ես ավելացրել եմ loop_diff () գործառույթը, որը հաշվարկվում է անցած ժամանակը: DP32- ի ներքին ժամացույցը անստորագիր երկար է և, չնայած դա ծայրահեղ քիչ հավանական է, բայց կա հավանականություն, որ ժամացույցը կարող է ինչ -որ տեղ պտտվել այս ծածկագրի գործարկման ժամանակ*: Այդ դեպքում, պարզապես ընթացիկ ժամանակը հանելով btn_time կամ panel_time- ում պահված ժամանակից, մեզ ինչ -որ տարօրինակ բան կտրվի, այնպես որ ես գրել եմ loop_diff () `օղակների առաջացման ժամանակ հայտնաբերելու և համապատասխանաբար վարվելու համար:
Ես նաև փոքր մաքրում եմ կատարել: Ես հեռացրել եմ այժմ չօգտագործվող «state_time» փոփոխականը: Ես LED_BUILTIN պիտակից (որը Arduino ստանդարտ է) անցել եմ PIN_LED1 պիտակի (որը ստանդարտ է chipKit- ի և DP32- ի համար): Ես նաև հեռացրել եմ Սերիալի միջոցով բոլոր հաղորդագրությունները գործընթացը սկսելու և ավարտելու մասին, ինչը մեր տվյալները Սերիայի միջոցով շատ ավելի մաքուր է դարձնում:
*Ես մաթեմատիկա եմ արել տարիներ առաջ, և կարծում եմ, որ millis () ֆունկցիայի համար մի շաբաթ անընդհատ աշխատելու ժամանակ կպահանջվի, մինչև փոփոխականը շրջվի:
Քայլ 10: Վերջնական մտքեր
Եվ վերջ!
Եթե դուք հետևել եք դրան, ապա այժմ պետք է ունենաք աշխատանքային հպման վահանակ `միացված ձեր միկրոկոնտրոլերին: Սա փոքր նախագիծ էր, բայց ավելի մեծ ծրագրի մի մասն է: Ես աշխատում եմ 271828- ի ափսեի և գնդակի նման մի բանի վրա, և դեռ երկար ճանապարհ ունեմ անցնելու, մինչև դա տեղի ունենա: Ես կփորձեմ ձեզ հետ տանել ամբողջ գործընթացի համար, և յուրաքանչյուր մասը պետք է լինի իր փոքր նախագիծը:
Սա ինձ համար ուսուցման գործընթաց է, ուստի ազատ զգալ թողեք ձեր մտքերն ու առաջարկությունները ստորև բերված մեկնաբանություններում:
Շնորհակալություն, և հաջորդ անգամ կտեսնվենք:
Խորհուրդ ենք տալիս:
Հեշտ, էժան և հուսալի հպման տվիչ `ընդամենը 3 մասով` 3 քայլ
Հեշտ, էժան և հուսալի հպման տվիչ ՝ ընդամենը 3 մասով. Ձեր մատի հպումով բոլոր տեսակի էլեկտրոնային սարքերը կարող են բավականին օգտակար լինել: Այս ուսանելիում ես ձեզ ցույց կտամ, թե ինչպես կարելի է կառուցել հեշտ, բայց հզոր հպման տվիչ, որն աշխատում է անթերի: Այն, ինչ ձեզ հարկավոր է, սովորական տրանզիստոր է և երկու
Ինչպես կատարել հպման անջատիչի տվիչ `7 քայլ
Ինչպես կատարել հպման անջատիչ սենսոր. Hii ընկեր, այսօր ես պատրաստվում եմ կատարել պարզ հպման տվիչ ՝ օգտագործելով BC547 տրանզիստորը: Երբ մենք դիպչենք մետաղալարին, ապա LED լույսը կփայլի, և քանի որ մենք չենք դիպչի մետաղալարին, ապա LED- ը չի շողա: Եկեք սկսենք
Երեք հպման տվիչների սխեմաներ + հպման ժմչփի միացում `4 քայլ
Հպման տվիչների երեք սխեմաներ + Հպման ժմչփի միացում. Հպման տվիչը միացում է, որը միանում է, երբ դիպչում է դիպչող կապում: Այն աշխատում է անցողիկ հիմքերով, այսինքն ՝ բեռը միացված կլինի միայն այն ժամանակ, երբ կապում են կապում: Այստեղ ես ձեզ ցույց կտամ հպման սեն կատարելու երեք տարբեր եղանակներ
Ստեղծեք պարզ հպման տվիչ ՝ օգտագործելով BC547 տրանզիստորը ՝ 4 քայլ
Ստեղծեք պարզ հպման տվիչ ՝ օգտագործելով BC547 տրանզիստոր. Այս միացումը շատ հեշտ է և շատ հետաքրքրված միացում: Եկեք սկսենք
Հպման տվիչ և ձայնային տվիչ, որը վերահսկում է AC/DC լույսերը `5 քայլ
Touch Sensor & Sound Sensor AC/DC Lights. ՄԻԱՎԱ, եթե այն բաց թողնեք, Լույսը ԿԱՆFԻ, և նույնը