Innholdsfortegnelse:
- Trinn 1: Deler og verktøy
- Trinn 2: Eksisterende maskinvare
- Trinn 3: Kretser
- Trinn 4: Koble den sammen
- Trinn 5: Kode
Video: Cryptap: en rytmebasert dørlås: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
Inspirert av flere mekanismer for opplåsing av dører jeg har sett på hackaday.com, bestemte jeg meg for å lage en på egen hånd. Denne har et to-knappers grensesnitt; en for å starte og avslutte passordinnleveringen, og en for å trykke på rytmen som er passordet ditt. Det er også et statuslys. Jeg klarte å bygge dette veldig billig ved å bruke deler jeg hadde fjernet de siste månedene. De eneste tingene jeg måtte betale for var selve mikrokontrolleren, som var $ 21 (https://www.pjrc.com/teensy/), og noen bildehengende ledninger som jeg hadde fra før.
Det er mye moro å trykke på Star Wars Theme eller noe for å komme inn på rommet mitt. Nå trenger jeg ikke bekymre meg for å låse meg ute av rommet mitt igjen! I tillegg føles det bra og nerdete.
Trinn 1: Deler og verktøy
Jeg valgte Teensy fordi dette er min første mikrokontroller, og jeg har ikke en programmerer ennå. Teensy krever bare en A-miniB USB-kabel og gratis programvare for å installere, kompatibel med Mac/Windows/Linux. Det er også veldig enkelt å laste opp hex -filen; bare kompiler, og trykk på knappen på Teensy.
Kostnaden for dette prosjektet for meg var $ 21, pluss den hengende ledningen. Deler fra gaten kom fra en kaffeperkolator (relé, LED, kondensator) og en ruter (LED, modulær kontakt, strømkontakt, kondensatorer). Gratis prøver var 7805 5-volts regulator, knapper og bryter. Jeg fant også mange ting i boksen "ødelagte deler" i EE-laboratoriet mitt: banankontakter og kabel, ledning, sn754410-driveren, en firpinners topp og motstander. Jeg hadde en ekstra bærbar lader som jeg brukte for strøm, og en Apple -modemkabel hvis flik var ødelagt. Annen maskinvare: en veggplate. Jeg brukte en varm limpistol, et loddejern, en nålefil og en boremaskin, som er ganske standard. Det mest uvanlige jeg brukte var et langt, fleksibelt gripeverktøy.
Trinn 2: Eksisterende maskinvare
Jeg var veldig heldig at det allerede var installert så mye. Rommet mitt er ADA-tilgjengelig, og det var allerede installert forskjellige rør, elektriske bokser og en elektrisk dørstreik. Da jeg fjernet dørstreiken av nysgjerrighet, fant jeg ut at den ikke var koblet til. Det var et rør fra dørstreiken til en tom veggplate inne på rommet mitt, og et annet rør derfra til en tom veggplate utenfor.
Dørstrekket sier at den trenger 24V@3A for å fungere, men jeg klarte å klare meg med en 19V, 7.9A strømforsyning jeg hadde. Dørstreiken var polarisert, så sørg for at du har polariteten riktig!
Trinn 3: Kretser
For å kontrollere dørstreken brukte jeg reléet jeg fant i kaffeperkolatoren. Dette reléet trengte mer enn 5V TTL for å drive det, så sn754410 ble brukt til å oversette TTL til 19V, som drev reléet. Sn754410 er virkelig en quad half-H driver, så jeg kastet bort 3/4 av brikken, men jeg hadde ingen strømtransistorer, så det var det jeg brukte.
Sn754410 -brikken har to VCC -pinner, en for 5V, den andre for hvilken spenning du vil at skal komme ut, som var 19V for meg. Det er en veldig kul chip. Du kan bruke dette til å drive motorer og reléer direkte, fordi den kan bytte 1A per kvartal chip og har innebygde beskyttelsesdioder. Ta en titt på databladet. I kretsen min koblet jeg sn754410 direkte til min tenårings utgangspinne. Knapper er koblet til som aktiv-lav, noe som er veldig vanlig for mikrokontrollere. De er direkte koblet til Teensy, noe som betyr at jeg må gjøre debouncing i programvare. Statuslyset er koblet til Teensy gjennom en 1K ohm motstand; ikke noe spesielt. Kretsen fungerte uten kondensatorer, men jeg satte dem inn uansett for sikkerhets skyld. Det er beskyttelseshetter på både 19V og 5V strømskinner til bakken. Mens du programmerte Teensy, kom 5V fra USB -en, men når den kjører alene, kommer strømmen fra den bærbare datamaskinen. Da jeg koblet 7805 -regulatoren direkte til 19V, ble det VIRKELIG varmt, så jeg satte inn et motstandsnettverk for å begrense inngangsspenningen og strømmen til regulatoren. Dette var en kludge, men nå er alt på en håndterlig temperatur.
Trinn 4: Koble den sammen
Teensy var ikke noe problem. Den kommer med pinner, slik at du kan koble den direkte til brødbrettet.
Jeg bestemte meg for å fargekode ledningene til dørstreken med røde (+) og svarte (-) banankabler fra laboratoriets ødelagte deleboks. Det var noen plugger hakket av ledningene deres, så jeg dremeled bort litt plast for å avsløre et loddepunkt. Jeg liker veldig godt hvordan laboratoriebananplugger kan plugges inn i hverandre. Jeg brukte Apples telefonkabel til å koble knappene og statuslyset utenfor rommet til Teensy inne. Siden den ene siden var ødelagt, hakket jeg av den enden og loddet i firepinnerhodet og forseglet den med varmt lim. Dette plugget fint inn i brødbrettet mitt. Siden jeg lot pluggen stå på gikk inn i modulkontakten jeg reddet fra ruteren. Alle fire ledninger ble brukt (GND, statuslys, start/stopp -knapp, kodeknapp). Hvis du ikke har lagt merke til det, liker jeg plugger og kontakter. Strømstenen koblet til strømkontakten som jeg feide fra ruteren. Å tre ledningene gjennom veggrørene var ikke så vanskelig på grunn av den fleksible griperen. Det reddet virkelig dagen min.
Trinn 5: Kode
Jeg har prøvd å kommentere koden min. Husk at dette er 1.0 programvare, noe som betyr at den ikke er feilfri. ## OPERATION ## 1. Trykk på start/stopp-knappen for å signalisere at du er klar til å begynne kodeinnmatingen. Statuslampen begynner å blinke sakte. 2. Trykk på koden på kodeknappen. Statuslampen blinker med 120 BPM, så du kan bruke dette som metronom hvis du vil. Imidlertid vil kryptaprogrammet måle pulslengdene i forhold til hverandre proporsjonalt, så du kan også bruke ditt eget tempo. Bare vær sikker på at du er nøyaktig nok! 3. Når koden er angitt, trykker du på start/stopp -knappen igjen. Programmet vil da avgjøre om du skal slippe deg inn. Siden mennesker ikke er veldig nøyaktige tidsholdere (din er det ikke), setter jeg toleranseforholdet til +/- 30%. Det betyr at slaglengdene kan være unøyaktige med det beløpet, og fortsatt passere mønstring. Dette er godt nok til å se forskjell på ganske lignende låter. Det er en liten mengde vanskelig tilgjengelig overlapping mellom dobbel og trippel lengde, men koden er fortsatt ganske vanskelig å bryte. For å låse opp døren må slagene være i riktige proporsjoner til hverandre (+/- toleranseforholdet), og antall slag må være riktige. Hvis det er angitt et ugyldig passord, venter programmet i noen sekunder mens det ignorerer brukerinndata. Statuslampen blinker også raskt. Hvis den riktige koden skrives inn, tennes statuslampen jevnt og døren låses opp i 8 sekunder. ## BRUKERKONFIGURASJON ## Nøkkelen er lagret i en matrise som denne: #define keylength 5 const int key = {2, 1, 3, 3, 3}; // "Gratulerer med dagen" Matrisen lagrer hvor lang tid det skjer MELLOM taktene. Så hvis passordet ditt har seks notater som "Gratulerer med dagen", bør det være fem elementer i matrisen. Hvis passordet ditt er veldig langt og du har mer enn 16 slag i det (veldig vanskelig, jeg anbefaler det ikke), må du øke tallet som er definert på denne linjen: #define inputCodeLength 16 ## RESTEN AV KODEN # # Jeg var nysgjerrig på avbrudd, så jeg hadde knappene mine til å utløse avbrudd. For å gjøre disse avbruddene enkle å bruke, lot jeg avbryterbehandlerne se etter bestemte funksjonspekere. Hvis pekeren ikke er satt til NULL, aktiveres funksjonen den peker på. Disse er satt med de forskjellige "modusinnstillings" -funksjonene inne i cryptap.c. Jeg gjorde et forsøk på å unngå bufferoverløp ved å angi et maksimalt antall innførte pulser. Hvis det maksimale antallet pulser legges inn, starter programmet umiddelbart passordanalyse og bestemmer om døren skal låses opp. Jeg håper mine kommentarer i koden hjelper. ## BUGS ## Jeg prøvde å fjerne USB -feilsøkingskoden, men koden fungerer ikke hvis jeg gjør det. Så jeg la igjen i usb_init () og de forskjellige print () -uttalelsene. Jeg ville sette pris på om noen kunne fjerne dem og fortsatt få programmet til å fungere. Enda bedre hvis de kan forklare hvorfor det ikke fungerte for meg. Umiddelbart etter at den ble programmert, godtar Teensy noen ganger ikke kodeinngang. For å løse dette, slå av kretsen.
Anbefalt:
RFID hjemmelaget dørlås: 4 trinn
RFID hjemmelaget dørlås: RFID dørlåsenhet er en praktisk enhet som du kan bruke i ditt daglige liv. Når du skanner nøkkelkortet ditt, kan du åpne dørlåsen. Jeg har endret prosjektet fra dette nettstedet: https://atceiling.blogspot.com/2017/05/arduino-rfid.html?m=1Yo
Passordbeskyttet dørlås på Tnikercad: 4 trinn
Passordbeskyttet dørlås på Tnikercad: For dette prosjektet tar vi inndata fra et tastatur, behandler inngangen som en vinkelposisjon og flytter en servomotor basert på den 3-sifrede vinkelen som ble ervervet. Jeg brukte et 4 x 4 tastatur, men Hvis du har et 3x4 tastatur, har det en veldig lik oppkobling, så det kan være
Wifi til RF - Dørlås: 3 trinn (med bilder)
Wifi til RF - Dørlås: Oversikt Denne instruksjonen gir deg muligheten til å låse / låse opp inngangsdøren din via din hjemmeautomatiseringsprogramvare (for eksempel OpenHAB - gratis hjemmeautomatiseringsprogramvare som jeg personlig bruker) Bildet ovenfor viser et eksempel på et skjermbilde av OpenHAB
Elektrisk dørlås med fingeravtrykksskanner og RFID -leser: 11 trinn (med bilder)
Elektrisk dørlås med fingeravtrykksskanner og RFID -leser: Prosjektet var designet for å unngå nødvendigheten av å bruke nøkler, for å nå målet brukte vi en optisk fingeravtrykkssensor og en Arduino. Det er imidlertid individer som har et uleselig fingeravtrykk, og sensoren vil ikke gjenkjenne det. Da tenker
Automatisert dørlås: 5 trinn
Automatisert dørlås: Hei DER! Dette er min første instruks! Håper dere alle vil like det. I dette prosjektet skal vi bygge en automatisert (passordbeskyttet) dørlås. Den klassiske låsen og nøkkelen er bokstavelig talt 100 -år gammel oppfinnelse, og som vi vet " endre