Sisällysluettelo:

Cryptap: rytmipohjainen ovilukko: 5 vaihetta
Cryptap: rytmipohjainen ovilukko: 5 vaihetta

Video: Cryptap: rytmipohjainen ovilukko: 5 vaihetta

Video: Cryptap: rytmipohjainen ovilukko: 5 vaihetta
Video: CrypTap Bitcoin Maden Kazarak Para Kazanma 2024, Heinäkuu
Anonim
Cryptap: rytmipohjainen ovilukko
Cryptap: rytmipohjainen ovilukko
Cryptap: rytmipohjainen ovilukko
Cryptap: rytmipohjainen ovilukko
Cryptap: rytmipohjainen ovilukko
Cryptap: rytmipohjainen ovilukko

Useiden ovien avausmekanismien innoittamana, jotka olen nähnyt hackaday.comissa, päätin luoda sellaisen yksin. Tässä on kahden painikkeen käyttöliittymä; toinen aloittaa ja lopettaa salasanan lähettämisen ja toinen napauttaa salasanasi rytmiä. Siellä on myös tilavalo. Pystyin rakentamaan tämän todella halvalla käyttämällä osia, jotka olin pyyhkäissyt viime kuukausina. Ainoat asiat, joista minun piti maksaa, olivat itse mikro -ohjain, joka oli 21 dollaria (https://www.pjrc.com/teensy/), ja muutama kuva riippuva lanka, jotka minulla oli aiemmin.

On hauskaa napauttaa Tähtien sota -teemaa tai jotain päästä huoneeseeni. Nyt minun ei tarvitse huolehtia siitä, että lukitsen itseni uudelleen huoneestani! Lisäksi se tuntuu hyvältä ja nöyrältä.

Vaihe 1: Osat ja työkalut

Osat ja työkalut
Osat ja työkalut
Osat ja työkalut
Osat ja työkalut

Valitsin Teensyn, koska tämä on ensimmäinen mikro -ohjain, eikä minulla ole vielä ohjelmoijaa. Teensy tarvitsee vain A-miniB-USB-kaapelin ja ilmaisen ohjelmiston asentaakseen, yhteensopiva Macin/Windowsin/Linuxin kanssa. Lisäksi heksatiedoston lataaminen on todella helppoa; vain koota ja paina Teensyn painiketta.

Tämän projektin kustannukset olivat minulle 21 dollaria plus kuvan ripustuslanka. Kadun osia tuli kahvin perkolaattorista (rele, LED, kondensaattori) ja reitittimestä (LED, modulaarinen liitin, virtaliitin, kondensaattorit). Ilmaisia näytteitä olivat 7805 5 voltin säädin, painikkeet ja kytkin. Löysin myös paljon tavaraa EE-laboratorioni "rikkoutuneet osat" -laatikosta: banaaniliittimet ja kaapeli, johto, sn754410-ohjain, nelinapainen otsikko ja vastukset. Minulla oli ylimääräinen kannettavan tietokoneen laturi, jota käytin virtalähteenä, ja Applen modeemikaapeli, jonka kieleke oli rikki. Muut laitteet: seinälevy. Käytin kuumaliimapistoolia, juotosrautaa, neulaviilaa ja sähköporaa, jotka ovat melko vakiona. Epätavallisin asia, jota käytin, oli pitkä, joustava tarttumistyökalu.

Vaihe 2: Olemassa oleva laitteisto

Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto
Jo olemassa oleva laitteisto

Olin onnekas, että siellä oli jo niin paljon asennettuna. Huoneeni on ADA-esteetön, ja siellä oli jo asennettu erilaisia putkia, sähkölaatikoita ja sähkökäyttöinen ovi. Poistamalla oven iskun uteliaisuudesta huomasin, että sitä ei ollut kytketty. Oven iskusta putki tyhjään seinälevyyn huoneeni sisällä ja toinen putki sieltä tyhjään seinälevyyn ulkopuolella.

Oven lakko sanoo, että se tarvitsee 24V@3A toimiakseen, mutta onnistuin pärjäämään 19V, 7,9A virtalähteellä. Oven isku oli polarisoitunut, joten varmista, että napaisuus on oikein!

Vaihe 3: Piirit

Piirit
Piirit
Piirit
Piirit
Piirit
Piirit
Piirit
Piirit

Oven iskun hallitsemiseksi käytin kahvipuristimessa löytämääni relettä. Tämä rele tarvitsi yli 5 V TTL: n ajaakseen sitä, joten sn754410: tä käytettiin TTL: n kääntämiseen 19 V: ksi, mikä ajoi releen. Sn754410 on todella neljän puolen H-ohjain, joten tuhlasin 3/4 sirusta, mutta minulla ei ollut tehotransistoreita, joten käytin sitä.

SN754410 -sirussa on kaksi VCC -nastaa, yksi 5 V: lle, toinen sille jännitteelle, jonka haluat tulla ulos, mikä oli 19 V minulle. Se on todella siisti siru. Voit käyttää tätä moottorien ja releiden ohjaamiseen suoraan, koska se voi vaihtaa 1A: ta neljännespiiriä kohti ja siinä on sisäänrakennetut suojadiodit. Katso tietolomake. Piirissäni liitin sn754410 suoraan Teensyn ulostulonappiin. Painikkeet on kytketty aktiivisesti matalaksi, mikä on hyvin yleistä mikro-ohjaimille. Ne on kytketty suoraan Teensyyn, mikä tarkoittaa, että minun on poistettava ohjelmisto. Tilavalo on kytketty Teensyyn 1K ohmin vastuksen kautta; ei mitään erityistä. Piiri toimi ilman kondensaattoreita, mutta laitoin ne joka tapauksessa joka tapauksessa. Sekä 19 V: n että 5 V: n virtakiskoilla on suojakorkit maahan. Teensyn ohjelmoinnin aikana 5 V tuli USB: ltä, mutta kun se toimii yksinään, virta tulee kannettavan tietokoneen virtapiiristä. Kun liitin 7805 -säätimen suoraan 19 V: iin, se tuli TODELLA kuuma, joten laitoin vastusverkoston rajoittamaan säätimen tulojännitettä ja -virtaa. Tämä oli huijausta, mutta nyt kaikki on hallittavissa lämpötilassa.

Vaihe 4: Yhdistä se yhteen

Johdotus yhdessä
Johdotus yhdessä
Johdotus yhdessä
Johdotus yhdessä

Teensy ei ollut ongelma. Sen mukana tulee nastat, joten voit liittää sen suoraan leipälautaan.

Päätin värikoodata oven iskun johdot punaisella (+) ja mustalla (-) banaanikaapelilla laboratorion rikkoutuneiden osien laatikosta. Johtimista oli irrotettu joitakin pistokkeita, joten kaatoin pois muovia paljastaakseni juotospisteen. Pidän todella siitä, miten lab -banaanitulpat voivat kytkeytyä toisiinsa. Yhdistin Applen puhelinjohdolla huoneen ulkopuolella olevat painikkeet ja tilavalon Teensyyn. Koska toinen puoli oli rikki, katkaisin sen pään ja juotin nelinapaiseen otsikkoon, tiivistäen sen kuumalla liimalla. Tämä liitettiin hienosti leipälautaani. Sivu, jolle jätin pistokkeen, meni moduuliliittimeen, jonka pelasin reitittimestä. Kaikkia neljää johtoa käytettiin (GND, tilavalo, käynnistys-/pysäytyspainike, koodipainike). Jos et ole huomannut, pidän pistokkeista ja liittimistä. Virtatiili kytketty virtaliitäntään, jonka pyyhkäisin reitittimestä. Johtojen pujottaminen seinäputkien läpi ei ollut liian vaikeaa joustavan tarttujan takia. Se todella pelasti päiväni.

Vaihe 5: Koodi

Koodi
Koodi
Koodi
Koodi

Yritin kommentoida koodiani. Muista, että tämä on 1.0-ohjelmisto, eli se ei ole virheetön. ## KÄYTTÖ ## 1. Paina käynnistys-/pysäytyspainiketta osoittaaksesi, että olet valmis aloittamaan koodin syöttämisen. Tilavalo alkaa vilkkua hitaasti. 2. Napauta koodia koodipainikkeessa. Tilavalo vilkkuu nopeudella 120 BPM, joten voit käyttää tätä halutessasi metronomina. Cryptap -ohjelma mittaa kuitenkin pulssin pituudet suhteessa toisiinsa, joten voit käyttää myös omaa tempoasi. Varmista vain, että olet tarpeeksi tarkka! 3. Kun koodi on syötetty, paina käynnistys-/pysäytyspainiketta uudelleen. Ohjelma päättää sitten päästääkö sinut sisään. Koska ihmiset eivät ole kovin tarkkoja ajanvaraajia (sinun ei todellakaan ole), asetin toleranssisuhteeksi +/- 30%. Tämä tarkoittaa, että lyöntipituudet voivat olla tältä osin epätarkkoja ja silti kulkea. Tämä riittää kertomaan eron melko samanlaisten kappaleiden välillä. Kaksinkertaisen ja kolminkertaisen lyönnin välillä on vähän vaikeasti saavutettavaa päällekkäisyyttä, mutta koodi on edelleen melko vaikea murtaa. Oven lukituksen avaamiseksi iskujen on oltava oikeassa suhteessa toisiinsa nähden (+/- toleranssisuhde) ja iskujen määrän on oltava oikea. Jos syötetään virheellinen salasana, ohjelma odottaa muutaman sekunnin jättämättä käyttäjän syöttämät tiedot huomiotta. Se myös vilkkuu tilamerkin nopeasti. Jos syötät oikean koodin, tilavalo syttyy tasaisesti ja oven lukitus avautuu 8 sekunniksi. ## USER CONFIGURATION ## Avain tallennetaan seuraavanlaiseen taulukkoon: #define keylength 5 const int key = {2, 1, 3, 3, 3}; // "Hyvää syntymäpäivää sinulle" Taulukko tallentaa lyönnien välisen ajan. Joten jos salasanassasi on KUUSI muistiinpanoa, kuten "Hyvää syntymäpäivää sinulle", taulukossa pitäisi olla viisi elementtiä. Jos salasanasi on todella pitkä ja siinä on yli 16 lyöntiä (todella vaikeaa, en suosittele sitä), sinun on lisättävä tällä rivillä määritettyä lukua: #define inputCodeLength 16 ## THE COD THE REST # # Olin utelias keskeytyksistä, joten sain painikkeeni laukaisemaan keskeytykset. Jotta nämä keskeytykset olisivat helppokäyttöisiä, pyysin keskeytyskäsittelijöitäni tarkistamaan tiettyjen toimintojen osoittimet. Jos osoitinta ei ole asetettu arvoon NULL, käytetään toimintoa, johon se osoittaa. Nämä asetetaan erilaisilla "tilan asetustoiminnoilla" cryptap.c: n sisällä. Yritin välttää puskurin ylivuotoja asettamalla syötettyjen pulssien enimmäismäärän. Jos syötetään enimmäismäärä pulsseja, ohjelma aloittaa välittömästi salasana -analyysin ja päättää, avataanko oven lukitus. Toivottavasti koodini kommentit auttavat. ## BUGS ## Yritin poistaa USB -virheenkorjauskoodin, mutta koodi ei toimi, jos teen. Joten jätin usb_init () ja eri print () -lausekkeet. Olisin kiitollinen, jos joku voisi poistaa ne ja säilyttää ohjelman edelleen. Vielä parempi, jos he voivat selittää, miksi se ei toiminut minulle. Välittömästi ohjelmoinnin jälkeen Teensy ei joskus hyväksy koodin syöttämistä. Ratkaise tämä käynnistämällä virtapiiri.

Suositeltava: