![Cryptap: ռիթմի վրա հիմնված դռան կողպեք ՝ 5 քայլ Cryptap: ռիթմի վրա հիմնված դռան կողպեք ՝ 5 քայլ](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11129477-cryptap-a-rhythm-based-door-lock-5-steps-j.webp)
Բովանդակություն:
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-23 14:48
Ոգեշնչված hackaday.com կայքում տեսած դռների բացման մի քանի մեխանիզմներով, ես որոշեցի ինքնուրույն ստեղծել մեկը: Այս մեկն ունի երկու կոճակի ինտերֆեյս; մեկը `գաղտնաբառի ներկայացումը սկսելու և ավարտելու համար, և մեկը` իրականում ձեր գաղտնաբառի ռիթմի վրա թակելու համար: Կա նաև կարգավիճակի լույս: Ես կարողացա կառուցել սա իսկապես էժան ՝ օգտագործելով մասեր, որոնք ես մաքրեցի վերջին մի քանի ամիսների ընթացքում: Միակ բանը, որի համար ես պետք է վճարեի, դա միկրոկառավարիչն էր, որը 21 դոլար էր (https://www.pjrc.com/teensy/) և նկարներից կախված մետաղալարեր, որոնք ունեի նախկինում:
Շատ զվարճալի է «Աստղային պատերազմների» թեման կամ ինչ -որ բան մտնել իմ սենյակ: Հիմա ես կարիք չունեմ անհանգստանալու, որ նորից փակվեմ իմ սենյակից: Բացի այդ, այն իրեն լավ ու հմայիչ է զգում:
Քայլ 1: Մասեր և գործիքներ
Ես ընտրեցի Teensy- ն, քանի որ սա իմ առաջին միկրոկոնտրոլերն է, իսկ ծրագրավորող դեռ չունեմ: Teensy- ն պահանջում է միայն A-miniB USB մալուխ և տեղադրելու անվճար ծրագրակազմ ՝ համատեղելի Mac/Windows/Linux- ի հետ: Բացի այդ, իսկապես հեշտ է վերբեռնել վեցանկյուն ֆայլը. պարզապես կազմեք և սեղմեք դեռահասի կոճակը:
Այս նախագծի արժեքը ինձ համար 21 դոլար էր ՝ գումարած նկարը կախող մետաղալարը: Փողոցից մասեր էին գալիս սուրճի պերկոլյատորից (ռելե, LED, կոնդենսատոր) և երթուղիչից (LED, մոդուլային խցիկ, հոսանքի վարդակ, կոնդենսատորներ): Անվճար նմուշներ էին 7805 5 վոլտ կարգավորիչը, կոճակները և անջատիչը: Ես նաև բազմաթիվ իրեր գտա իմ EE լաբորատորիայում `« կոտրված մասերի »տուփում` բանանի միակցիչներ և մալուխ, մետաղալարեր, sn754410 վարորդը, չորս պտտվող գլխիկ և դիմադրիչներ: Ես ունեի նոթբուքի լրացուցիչ լիցքավորիչ, որը ես օգտագործում էի էներգիայի համար, և Apple մոդեմի մալուխ, որի ներդիրը կոտրված էր: Այլ սարքավորումներ `պատի ափսե: Ես օգտագործեցի տաք սոսինձ ատրճանակ, եռակցման երկաթ, ասեղի ֆայլ և էլեկտրական փորվածք, որոնք բավականին ստանդարտ են: Ամենաարտասովոր բանը, որ ես օգտագործեցի, երկար, ճկուն գրավի գործիք էր:
Քայլ 2. Նախապես գոյություն ունեցող սարքավորում
Ես շատ բախտավոր էի, որ արդեն այդքան տեղադրված կար: Իմ սենյակը հասանելի է ADA- ին, և արդեն տեղադրված էին տարբեր խողովակներ, էլեկտրական արկղեր և էլեկտրական դռան հարված: Հետաքրքրասիրությունից դռան հարվածը հեռացնելով ՝ ես պարզեցի, որ այն միացված չէ: Դռան հարվածից դեպի սենյակս պատի դատարկ ափսե կար մի խողովակ, իսկ այնտեղից `մեկ այլ խողովակ` դրսի պատի դատարկ ափսեի մեջ:
Դռան հարվածը ասում է, որ այն 24V@3A կարիք ունի աշխատելու համար, բայց ես կարողացա գլուխ հանել 19V, 7.9A հոսանքով, որն ունեի: Դռան հարվածը բևեռացված էր, այնպես որ համոզվեք, որ բևեռականությունը ճիշտ է:
Քայլ 3: Շղթաներ
Դռան հարվածը վերահսկելու համար ես օգտագործեցի ռելեն, որը գտել էի սուրճի թրծիչում: Այս ռելեին անհրաժեշտ էր ավելի քան 5V TTL այն վարելու համար, ուստի sn754410- ը օգտագործվում էր TTL- ը 19V- ի թարգմանելու համար, ինչը փոխանցում էր ռելեին: Sn754410- ն իրոք քառամսյա H- ի վարորդ է, այնպես որ ես վատնում էի չիպի 3/4-ը, բայց ես չունեի որևէ ուժային տրանզիստոր, ուստի այն, ինչ ես օգտագործել էի:
Sn754410 չիպը ունի երկու VCC կապ, մեկը 5 Վ -ի համար, մյուսը `ինչ լարվածության համար եք ուզում դուրս գալ, որն ինձ համար 19 Վ էր: Դա իսկապես թույն չիպ է: Դուք կարող եք դա օգտագործել շարժիչներ և ռելեներ անմիջականորեն վարելու համար, քանի որ այն կարող է միկրոսխեմայի 1 Ա-ն փոխել և ներկառուցված պաշտպանական դիոդներ ունի: Նայեք տվյալների թերթիկին: Իմ միացումում ես sn754410- ը միացրեցի անմիջապես Teensy- ի ելքային քորոցին: Կոճակները միացված են որպես ակտիվ-ցածր, ինչը շատ տարածված է միկրոկոնտրոլերների համար: Նրանք ուղղակիորեն կապված են Teensy- ի հետ, ինչը նշանակում է, որ ես պետք է ծրագրաշարում debouncing անեմ: Կարգավիճակի լույսը միացված է Teensy- ին 1K ohm դիմադրության միջոցով; առանձնապես ոչինչ. Շղթան աշխատում էր առանց կոնդենսատորների, բայց ամեն դեպքում դրանք դնում եմ ամեն դեպքում: Կան պաշտպանական գլխարկներ ինչպես 19V, այնպես էլ 5V հոսանքի ռելսերի վրա գետնին: Teensy- ի ծրագրավորման ժամանակ 5V- ը գալիս էր USB- ից, բայց երբ այն աշխատում է ինքնուրույն, էներգիան գալիս է նոութբուքի հզորության աղյուսից: Երբ ես միացրեցի 7805 կարգավորիչը անմիջապես 19 Վ -ին, այն ԻՐԱԿԱՆ տաքացավ, ուստի ես տեղադրեցի ռեզիստորների ցանց `մուտքային լարումը և հոսանքը կարգավորիչին սահմանափակելու համար: Սա կուլդաժ էր, բայց հիմա ամեն ինչ կառավարելի ջերմաստիճանում է:
Քայլ 4: Միացրեք այն միասին
The Teensy- ը խնդիր չէր: Այն գալիս է կապում, այնպես որ կարող եք այն ուղղակիորեն միացնել հացատախտակին:
Որոշեցի լաբորատորիայի կոտրված մասերի տուփից կարմիր (+) և սև (-) բանանի մալուխներ ներկել դռան հարվածի լարերը: Կային մի քանի խրոցակներ, որոնք կտրված էին նրանց լարերից, այնպես որ ես հեռացրեցի պլաստմասսայից ՝ կպցնելով կպցնելու տեղը: Ինձ շատ դուր է գալիս, թե ինչպես են լաբորատոր բանանի խրոցակները կարող միացվել միմյանց: Ես օգտագործեցի Apple- ի հեռախոսի մալուխը `սենյակից դուրս գտնվող կոճակները և կարգավիճակի լույսը Teensy- ին միացնելու համար: Քանի որ մի կողմը կոտրված էր, ես կտրեցի այդ ծայրը և կպցրեցի չորս կապանի վերնագրում ՝ այն փակելով տաք սոսինձով: Սա գեղեցիկ կերպով միացվեց իմ տախտակին: Այն կողմը, որը ես թողեցի վարդակից, մտավ մոդուլային խցիկի մեջ, որը ես փրկեցի երթուղիչից: Բոլոր չորս լարերն էլ օգտագործվել են (GND, կարգավիճակի լույս, մեկնարկի/կանգառի կոճակ, կոդի կոճակ): Եթե դուք չեք նկատել, ես սիրում եմ վարդակներ և միակցիչներ: Էլեկտրաէներգիայի աղյուսը միացված է հոսանքի վարդակին, որը ես հեռացրի երթուղիչից: Պատերի խողովակներով լարերը լարելը այնքան էլ դժվար չէր, քանի որ ճկուն գրավի առարկան էր: Դա իսկապես փրկեց իմ օրը:
Քայլ 5: Կոդ
Փորձեցի մեկնաբանել իմ կոդը: Նկատի ունեցեք, որ սա 1.0 ծրագրակազմ է, այսինքն ՝ այն սխալներից զերծ չէ: ## ԳՈՐՈՆԵՈ #ԹՅՈ #Ն ## 1. Սեղմեք մեկնարկի/կանգառի կոճակը ՝ ազդանշան տալու համար, որ պատրաստ եք սկսել մուտքագրման ծածկագիրը: Կարգավիճակի լույսը սկսում է դանդաղ բռնկվել: 2. Հպեք ձեր կոդը կոդի կոճակին: Կարգավիճակի լույսը կթարթվի 120 BPM- ով, այնպես որ, ցանկության դեպքում, կարող եք օգտագործել այն որպես ձեր չափագրիչ: Այնուամենայնիվ, գաղտնագրման ծրագիրը չափելու է զարկերակի երկարությունները միմյանց համեմատաբար, այնպես որ կարող եք նաև օգտագործել ձեր սեփական տեմպը: Պարզապես համոզվեք, որ դուք բավականաչափ ճշգրիտ եք: 3. Երբ ծածկագրի մուտքագրումն ավարտված է, նորից սեղմեք մեկնարկ/դադարեցման կոճակը: Programրագիրը այնուհետև կորոշի ՝ թույլ կտա ձեզ ներս թողնել: Քանի որ մարդիկ այնքան էլ ճշգրիտ ժամանակապահ չեն (ձերն իրականում այդպես չէ), ես հանդուրժողականության հարաբերակցությունը սահմանել եմ +/- 30%: Դա նշանակում է, որ հարվածի երկարությունը կարող է այդ չափով ճշգրիտ չլինել և, այնուամենայնիվ, ավելի արագ անցնել: Սա բավական լավ է, որպեսզի տարբերվի բավականին նմանատիպ մեղեդիների միջև: Կա փոքր քանակությամբ դժվար հասանելի համընկնում կրկնակի և եռակի երկարության զարկերի միջև, բայց կոդը դեռևս բավականին դժվար է կոտրել: Դուռը բացելու համար հարվածները պետք է լինեն միմյանց միջև ճիշտ համամասնությամբ (+/- հանդուրժողականության հարաբերակցությունը), իսկ հարվածների թիվը `ճիշտ: Եթե սխալ գաղտնաբառ է մուտքագրվում, ծրագիրը սպասում է մի քանի վայրկյան ՝ անտեսելով օգտվողի ցանկացած մուտքագրում: Այն նաև արագ կթափի կարգավիճակի լույսը: Եթե ճիշտ կոդը մուտքագրվի, կարգավիճակի լույսը անշեղորեն կմիանա, և դուռը կբացվի 8 վայրկյան: ## USER CONFIGURATION ## Բանալին պահվում է այսպիսի զանգվածում ՝#սահմանել բանալիի երկարությունը 5 const int key = {2, 1, 3, 3, 3}; // «Happyնունդդ շնորհավոր քեզ» arանգվածը պահում է այն ժամանակը, որը տեղի է ունենում հարվածների միջև: Այսպիսով, եթե ձեր գաղտնաբառը ունի վեց գրառում, ինչպիսին է «birthdayնունդդ շնորհավոր քեզ», ապա զանգվածում պետք է լինի ՀԻՆԱԿ տարր: Եթե ձեր գաղտնաբառն իսկապես երկար է, և դրա մեջ ավելի քան 16 հարված կա, (իսկապես դժվար է, խորհուրդ չեմ տալիս), դուք պետք է ավելացնեք այս տողում սահմանված թիվը. # Ես հետաքրքրված էի ընդհատումներով, այնպես որ ես ունեի իմ կոճակների ձգան ընդհատումները: Այս ընդհատումները դյուրին դարձնելու համար ես իմ ընդհատիչ կարգավորիչներին ստուգեցի գործառույթի որոշակի ցուցիչների առկայությունը: Եթե սլաքը դրված չէ NULL- ի վրա, ապա կանչվում է այն գործառույթը, որը ցույց է տալիս: Դրանք դրված են cryptap.c- ի ներսում առկա տարբեր «ռեժիմի կարգավորման» գործառույթներով: Ես ջանքեր գործադրեցի խուսափելու բուֆերի արտահոսքից `սահմանելով մուտքագրված իմպուլսների առավելագույն քանակ: Եթե զարկերակների առավելագույն քանակը մուտքագրվում է, ծրագիրը անմիջապես սկսում է գաղտնաբառի վերլուծությունը և որոշում, թե արդյոք բացելու է դուռը: Հուսով եմ, որ կոդի իմ մեկնաբանությունները կօգնեն: ## BUGS ## Ես փորձեցի հեռացնել USB կարգաբերման կոդը, բայց եթե չանեմ, կոդը չի աշխատի: Այսպիսով, ես թողեցի usb_init () և տարբեր print () հայտարարությունները: Ես կգնահատեի, եթե ինչ -որ մեկը կարողանար հեռացնել դրանք և դեռ աշխատել ծրագրի հետ: Նույնիսկ ավելի լավ, եթե նրանք կարողանան բացատրել, թե ինչու դա ինձ մոտ չաշխատեց: Medրագրավորվելուց անմիջապես հետո Teensy- ն երբեմն չի ընդունում կոդի մուտքագրումը: Դա լուծելու համար միացրեք հոսանքի ցիկլը միացումով:
Խորհուրդ ենք տալիս:
Wifi դեպի ՌԴ - դռան կողպեք. 3 քայլ (նկարներով)
![Wifi դեպի ՌԴ - դռան կողպեք. 3 քայլ (նկարներով) Wifi դեպի ՌԴ - դռան կողպեք. 3 քայլ (նկարներով)](https://i.howwhatproduce.com/images/004/image-10296-j.webp)
Wifi to RF - Door Lock: Overview Այս հրահանգը ձեզ հնարավորություն կտա կողպել / բացել ձեր առջևի դուռը ձեր տան ավտոմատացման ծրագրակազմի միջոցով (օրինակ ՝ OpenHAB - տնային ավտոմատացման անվճար ծրագրակազմ, որն անձամբ ես օգտագործում եմ) Վերևի պատկերը ցույց է տալիս OpenHAB- ի սքրինշոթ
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ
![Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ - IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. 4 քայլ](https://i.howwhatproduce.com/images/001/image-764-35-j.webp)
Arduino- ի վրա հիմնված ոչ կոնտակտային ինֆրակարմիր ջերմաչափ | IR- ով հիմնված ջերմաչափ Arduino- ի միջոցով. Բարև ձեզ, այս հրահանգների մեջ մենք կդարձնենք ոչ կոնտակտային ջերմաչափ arduino- ով: Քանի որ երբեմն հեղուկի/պինդի ջերմաստիճանը չափազանց բարձր է կամ ցածր, ապա դժվար է դրա հետ կապ հաստատել և կարդալ այդ դեպքում ջերմաստիճանը
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)
![Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով) Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 վրա հիմնված միջինի գեներատոր). 4 քայլ (նկարներով)](https://i.howwhatproduce.com/images/002/image-3114-36-j.webp)
Եղանակի վրա հիմնված երաժշտության գեներատոր (ESP8266 Based Midi Generator). Բարև, այսօր ես կբացատրեմ, թե ինչպես պատրաստել ձեր սեփական եղանակի վրա հիմնված փոքր երաժշտության գեներատոր: Այն հիմնված է ESP8266- ի վրա, որը նման է Arduino- ին և արձագանքում է ջերմաստիճանին, անձրևին: և լույսի ուժգնություն: Մի ակնկալեք, որ այն ամբողջ երգեր կամ ակորդներ կհաղորդի
Arduino- ի վրա հիմնված թվային դռան կողպեք ՝ օգտագործելով GSM և Bluetooth: 4 քայլ
![Arduino- ի վրա հիմնված թվային դռան կողպեք ՝ օգտագործելով GSM և Bluetooth: 4 քայլ Arduino- ի վրա հիմնված թվային դռան կողպեք ՝ օգտագործելով GSM և Bluetooth: 4 քայլ](https://i.howwhatproduce.com/images/005/image-13888-14-j.webp)
Arduino- ի վրա հիմնված թվային դռան կողպեք ՝ օգտագործելով GSM և Bluetooth. Ի՞նչ կանես: Դուք կամ պետք է կոտրեք ձեր կողպեքը, կամ պետք է զանգահարեք առանցքային մեխանիկի: Այսպիսով, առանց բանալու կողպեքի պատրաստելը հետաքրքիր գաղափար է
Կողպեք. Կողպեք ձեր նշումները (խմբաքանակի ֆայլ հավելված) ՝ 3 քայլ
![Կողպեք. Կողպեք ձեր նշումները (խմբաքանակի ֆայլ հավելված) ՝ 3 քայլ Կողպեք. Կողպեք ձեր նշումները (խմբաքանակի ֆայլ հավելված) ՝ 3 քայլ](https://i.howwhatproduce.com/images/003/image-7645-20-j.webp)
Comsave. Կողպեք ձեր նշումները (խմբաքանակի ֆայլ). Բարև, սա Comsaveit- ն է պահում ձեր գրառումները և կողպում դրանք: Պարզապես ներբեռնեք կցված խմբաքանակի ֆայլը (1 -ին քայլում): Տեղադրեք այն թղթապանակում և մի տեղափոխեք այն թղթապանակից կամ խմբաքանակի ֆայլը չի կարողանա գտնել ձեր հաշիվը: Նշում. Սա խմբաքանակի ֆայլ է: Մեծահոգի է