Obsah:
- Krok 1: Diely a nástroje
- Krok 2: Už existujúci hardvér
- Krok 3: Obvody
- Krok 4: Spojte to dohromady
- Krok 5: Kód
Video: Cryptap: zámok dverí založený na rytme: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:02
Inšpirovaný niekoľkými mechanizmami odomykania dverí, ktoré som videl na hackaday.com, som sa rozhodol vytvoriť jeden sám. Toto má rozhranie s dvoma tlačidlami; jeden na spustenie a ukončenie zadávania hesla a druhý na klepnutie v rytme, ktoré je vašim heslom. Nechýba ani stavová kontrolka. Dokázal som to postaviť skutočne lacno pomocou dielov, ktoré som vyčistil za posledných niekoľko mesiacov. Jediné, za čo som musel zaplatiť, bol samotný mikrokontrolér, ktorý stál 21 dolárov (https://www.pjrc.com/teensy/), a drôt na zavesenie obrazu, ktorý som mal predtým.
Je zábavné kopírovať tému Star Wars alebo niečo, čo vstupuje do mojej miestnosti. Teraz sa už nemusím báť, že sa opäť zamknem zo svojej izby! Navyše sa cíti dobre a geeky.
Krok 1: Diely a nástroje
Vybral som si Teensy, pretože toto je môj prvý mikrokontrolér a zatiaľ nemám programátora. Na inštaláciu zariadenia Teensy je potrebný iba kábel USB A-miniB USB a bezplatný softvér kompatibilný s počítačmi Mac/Windows/Linux. Je tiež veľmi jednoduché nahrať hexadecimálny súbor; Len skompilovajte a stlačte tlačidlo na Teensy.
Náklady na tento projekt pre mňa boli 21 dolárov plus drôt na zavesenie obrazu. Časti z ulice pochádzali z kávovaru (relé, LED, kondenzátor) a routera (LED, modulárny konektor, napájací konektor, kondenzátory). Bezplatnými vzorkami boli 5-voltový regulátor 7805, tlačidlá a vypínač. V krabici „zlomených častí“v mojom laboratóriu EE som tiež našiel veľa vecí: banánové konektory a kábel, drôt, ovládač sn754410, štvorpólový konektor a odpory. Okolo som nechal ležať ďalšiu nabíjačku na prenosný počítač, ktorú som používal na napájanie, a kábel modemu od spoločnosti Apple, ktorý mal zlomenú záložku. Ďalší hardvér: nástenná doska. Použil som horúcu lepiacu pištoľ, spájkovačku, ihlový pilník a elektrickú vŕtačku, ktoré sú celkom štandardné. Najneobvyklejšia vec, ktorú som použil, bol dlhý, flexibilný nástroj na uchopenie.
Krok 2: Už existujúci hardvér
Mal som veľké šťastie, že už toho bolo toľko nainštalovaného. Moja izba je prístupná pre ADA a už tam boli nainštalované rôzne potrubia, elektrické skrinky a elektrický dverný zámok. Keď som zo zvedavosti odstránil úder dverí, zistil som, že nie sú spojené. Do miestnosti vtrhla rúra od dverí k prázdnej nástennej doske a odtiaľ ďalšia rúra k prázdnej nástennej doske vonku.
Pri dverách sa hovorí, že na svoju prevádzku potrebuje 24 V@3 A, ale dokázal som sa zaobísť s napájaním 19 V, 7,9 A, ktoré som mal. Úder dverí bol polarizovaný, preto dbajte na správnu polaritu!
Krok 3: Obvody
Na ovládanie úderu na dvere som použil relé, ktoré som našiel v kávovare. Toto relé potrebovalo na svoj pohon viac ako 5V TTL, a tak bol sn754410 použitý na preklad TTL na 19V, ktorý poháňal relé. Sn754410 je skutočne quad half-H driver, takže som strácal 3/4 čipu, ale nemal som žiadne výkonové tranzistory, takže som to použil.
Čip sn754410 má dva piny VCC, jeden pre 5V, druhý pre akékoľvek napätie, ktoré chcete vydať, čo bolo pre mňa 19V. Je to naozaj skvelý čip. Môžete to použiť na priamy pohon motorov a relé, pretože môže spínať 1A na štvrtinový čip a má vstavané ochranné diódy. Pozrite sa na technický list. V mojom obvode som zapojil sn754410 priamo do výstupného kolíka môjho Teensy. Tlačidlá sú pripojené ako active-low, čo je u mikrokontrolérov veľmi bežné. Sú priamo prepojené s Teensy, čo znamená, že musím vykonať odbúranie softvéru. Stavová kontrolka je k Teensy pripojená cez odpor 1 K ohm; nič zvláštne. Obvod fungoval bez kondenzátorov, ale pre každý prípad som ich vložil. Ochranné krytky na napájacích koľajniciach 19 V aj 5 V sú uzemnené. Pri programovaní Teensy 5V pochádzalo z USB, ale keď beží samo, napájanie pochádza z napájacej tehly prenosného počítača. Keď som zapojil regulátor 7805 priamo na 19V, OPRAVDU sa zahrial, a tak som vložil sieť odporov, aby som obmedzil vstupné napätie a prúd do regulátora. Bol to kal, ale teraz je všetko pri zvládnuteľnej teplote.
Krok 4: Spojte to dohromady
Teensy nebol žiadny problém. Dodáva sa s kolíkmi, takže ho môžete zapojiť priamo do dosky na pečenie.
Rozhodol som sa farebne odlíšiť káble k dverám štrajku červeným (+) a čiernym (-) banánovým káblom zo škatule s rozbitými časťami laboratória. Z ich drôtov bolo odrezaných niekoľko zástrčiek, a tak som odmotal niekoľko plastov, aby som odhalil spájkovací bod. Veľmi sa mi páči, ako sa môžu laboratórne banánové zástrčky navzájom spájať. Na prepojenie tlačidiel a stavového svetla mimo miestnosti s Teensy vo vnútri som použil telefónny kábel spoločnosti Apple. Pretože bola jedna strana zlomená, odrezal som ten koniec a zapájal som štvorpólový konektor a utesnil ho horúcim lepidlom. Toto sa pekne zapojilo do môjho chleba. Strana, na ktorej som nechal zástrčku, išla do modulárneho konektora, ktorý som zachránil zo smerovača. Boli použité všetky štyri vodiče (GND, stavová kontrolka, tlačidlo štart/stop, tlačidlo kódu). Ak ste si to nevšimli, mám rád zástrčky a konektory. Napájacia tehla pripojená k napájaciemu konektoru, ktorý som potiahol zo smerovača. Prevlečenie drôtov stenovými rúrami nebolo príliš ťažké, pretože išlo o flexibilný drapák. To mi skutočne zachránilo deň.
Krok 5: Kód
Pokúsil som sa komentovať svoj kód. Majte na pamäti, že sa jedná o softvér 1.0, čo znamená, že nie je bez chýb. ## OPERATION ## 1. Stlačením tlačidla štart/stop signalizujete, že ste pripravení začať zadávať kód. Kontrolka stavu začne pomaly blikať. 2. Klepnite na svoj kód na tlačidlo s kódom. Kontrolka stavu bude blikať pri 120 BPM, takže ju môžete použiť ako svoj metronóm, ak chcete. Program cryptap však bude proporcionálne merať dĺžky pulzov navzájom, takže môžete použiť aj svoje vlastné tempo. Len sa uistite, že ste dostatočne presní! 3. Po zadaní kódu znova stlačte tlačidlo štart/stop. Program potom rozhodne, či vás pustí dovnútra. Keďže ľudia nie sú veľmi presní strážcovia času (váš skutočne nie je), nastavil som pomer tolerancie na +/- 30%. To znamená, že dĺžky úderov môžu byť o túto sumu nepresné a stále sa musia skladať. To je dosť dobré na to, aby sme zistili rozdiel medzi dosť podobnými melódiami. Medzi údermi s dvojitou a trojitou dĺžkou existuje malé množstvo ťažko dosiahnuteľného prekrývania, ale kód je stále dosť ťažké prelomiť. Na odomknutie dverí musia byť údery navzájom v správnom pomere (+/- pomer tolerancie) a počet úderov musí byť správny. Ak je zadané neplatné heslo, program niekoľko sekúnd počká a ignoruje všetky vstupy používateľov. Tiež rýchlo zabliká stavová kontrolka. Ak zadáte správny kód, stavová kontrolka sa nerozsvieti a dvere sa na 8 sekúnd odomknú. ## USER CONFIGURATION ## Kľúč je uložený v poli takto: #define keylength 5 const int key = {2, 1, 3, 3, 3}; // "Všetko najlepšie k narodeninám" V poli sa ukladá čas, ktorý nastane MEDZI údermi. Ak má teda vaše heslo SIX poznámok ako „Všetko najlepšie k narodeninám“, v poli by malo byť PÄŤ prvkov. Ak je vaše heslo skutočne dlhé a máte v ňom viac ako 16 úderov ((skutočne ťažké, neodporúčam ho)), musíte zvýšiť počet definovaný v tomto riadku: #define inputCodeLength 16 ## THE REST OF THE CODE # # Bol som zvedavý na prerušenia, a tak som nechal svoje tlačidlá spúšťať prerušenia. Aby boli tieto prerušenia ľahko použiteľné, nechal som svoje obsluhy prerušenia skontrolovať na určité ukazovatele funkcií. Ak ukazovateľ nie je nastavený na NULL, vyvolá sa funkcia, na ktorú ukazuje. Tieto sú nastavené pomocou rôznych funkcií „nastavenia režimu“vo vnútri cryptap.c. Snažil som sa vyhnúť pretečeniu vyrovnávacej pamäte nastavením maximálneho počtu zadaných impulzov. Ak je zadaný maximálny počet impulzov, program okamžite spustí analýzu hesla a rozhodne, či sa majú dvere odomknúť. Dúfam, že moje komentáre v kóde pomôžu. ## CHYBY ## Pokúsil som sa odstrániť ladiaci kód USB, ale kód nebude fungovať, ak áno. Nechal som teda v usb_init () a rôznych príkazoch print (). Ocenil by som, keby ich niekto odstránil a stále fungoval. Ešte lepšie, keď môžu vysvetliť, prečo mi to nefungovalo. Ihneď po naprogramovaní Teensy niekedy neakceptuje zadanie kódu. Ak to chcete vyriešiť, vypnite a zapnite obvod.
Odporúča:
Zámok dverí na rozpoznávanie tváre: 8 krokov
Zámok dverí na rozpoznávanie tváre: Asi mesiac na výrobu predstavujem zámok dverí na rozpoznanie tváre! Snažil som sa, aby to vyzeralo tak úhľadne, ako to len bude možné, ale môžem len toľko, ako len 13-ročný. Tento zámok dverí na rozpoznanie tváre ovláda Raspberry Pi 4 so špeciálnou prenosnou batériou
Elektrický zámok dverí so snímačom odtlačkov prstov a čítačkou RFID: 11 krokov (s obrázkami)
Elektrický zámok dverí so snímačom odtlačkov prstov a čítačkou RFID: Projekt bol navrhnutý tak, aby sa vyhlo nutnosti používať kľúče. Na dosiahnutie nášho cieľa sme použili optický snímač odtlačkov prstov a Arduino. Existujú však jednotlivci, ktorí majú nečitateľný odtlačok prsta a senzor ho nerozpozná. Potom premýšľať o
Automatický zámok dverí: 5 krokov
Automatický zámok dverí: Hej, TAM !! Toto je môj prvý pokyn! Dúfam, že sa vám všetkým bude páčiť. V tomto projekte budeme stavať automatický zámok dverí (chránený heslom). Klasický zámok a kľúč sú doslova storočným vynálezom a ako vieme, „zmeňte
Digitálny zámok dverí založený na Arduine pomocou GSM a Bluetooth: 4 kroky
Digitálny zámok dverí založený na Arduine pomocou GSM a Bluetooth: ABSTRAKT: Zamyslite sa nad situáciou, keď ste prišli domov úplne unavení a zistili ste, že ste stratili kľúč od dverí. Čo budeš robiť? Musíte buď rozbiť zámok, alebo zavolať kľúčového mechanika. Takže výroba bezkľúčového zámku je zaujímavý nápad, ako ušetriť
Elektronický zámok dverí RFID: 9 krokov
Elektronický RFID zámok dverí: Dnes vás naučím, ako navrhujem a stavám „ULTIMÁTNY ELEKTRONICKÝ ZÁMOK DVERÍ“nasledujte ma v tomto podrobnom návode, vysvetlím vám všetky detaily a problémy, s ktorými som sa počas stavby stretol. Dúfam, že sa vám bude páčiť! Ako môžete vidieť v