Përmbajtje:

Cryptap: një bllokim i dyerve me bazë ritmin: 5 hapa
Cryptap: një bllokim i dyerve me bazë ritmin: 5 hapa

Video: Cryptap: një bllokim i dyerve me bazë ritmin: 5 hapa

Video: Cryptap: një bllokim i dyerve me bazë ritmin: 5 hapa
Video: Si ta hapim deren e nje veture 2024, Nëntor
Anonim
Cryptap: një bllokues i dyerve me bazë ritmin
Cryptap: një bllokues i dyerve me bazë ritmin
Cryptap: një bllokues i dyerve me bazë ritmin
Cryptap: një bllokues i dyerve me bazë ritmin
Cryptap: një bllokues i dyerve me bazë ritmin
Cryptap: një bllokues i dyerve me bazë ritmin

Frymëzuar nga disa mekanizma të zhbllokimit të dyerve që kam parë në hackaday.com, vendosa të krijoj një vetë. Ky ka një ndërfaqe me dy butona; një për të filluar dhe përfunduar dorëzimin e fjalëkalimit, dhe një për të prekur në të vërtetë ritmin që është fjalëkalimi juaj. Ekziston edhe një dritë statusi. Unë kam qenë në gjendje ta ndërtoj këtë me të vërtetë të lirë duke përdorur pjesë që kisha pastruar gjatë muajve të fundit. Të vetmet gjëra për të cilat duhet të paguaja ishin vetë mikrokontrolluesi, i cili ishte 21 dollarë (https://www.pjrc.com/teensy/), dhe disa tela të varur nga figura të cilat i kisha nga më parë.

Lotsshtë shumë argëtuese të prekësh Temën e Star Wars ose diçka për të hyrë në dhomën time. Tani, nuk kam pse të shqetësohem për ta mbyllur përsëri dhomën time! Plus, ndihet mirë dhe i çuditshëm.

Hapi 1: Pjesët dhe mjetet

Pjesë dhe Mjete
Pjesë dhe Mjete
Pjesë dhe Mjete
Pjesë dhe Mjete

Zgjodha Teensy sepse ky është mikrokontrolluesi im i parë dhe nuk kam akoma një programues. Teensy kërkon vetëm një kabllo USB A-miniB dhe softuer falas për tu instaluar, i pajtueshëm me Mac/Windows/Linux. Gjithashtu, është vërtet e lehtë të ngarkosh skedarin gjashtëkëndësh; thjesht përpiloni dhe shtypni butonin në Teensy.

Kostoja e këtij projekti për mua ishte 21 dollarë, plus tela të varur në fotografi. Pjesë nga rruga erdhën nga një percolator kafeje (stafetë, LED, kondensator) dhe një ruter (LED, prizë modulare, prizë energjie, kondensatorë). Mostrat falas ishin rregullatori 7805 5 volt, butona dhe ndërprerës. Unë gjithashtu gjeta shumë gjëra në kutinë e "pjesëve të thyera" në laboratorin tim EE: lidhës dhe kabllo bananeje, tela, shoferi sn754410, një kokë me katër kunja dhe rezistorë. Unë kisha një ngarkues shtesë të laptopit që përdorej për energji, dhe një kabllo modem Apple, skeda e të cilit ishte thyer. Pajisje të tjera: një pjatë muri. Kam përdorur një armë ngjitëse të nxehtë, një hekur bashkues, një skedë gjilpërë dhe një stërvitje, të cilat janë mjaft standarde. Gjëja më e pazakontë që kam përdorur ishte një mjet grabitës i gjatë dhe fleksibël.

Hapi 2: Hardware para-ekzistues

Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues
Hardware para-ekzistues

Isha shumë me fat që tashmë ishte instaluar kaq shumë. Dhoma ime është e arritshme nga ADA, dhe kishte tuba të ndryshëm, kuti elektrike dhe një goditje elektrike të derës tashmë të instaluar. Me heqjen e goditjes së derës nga kurioziteti, zbulova se nuk ishte e lidhur. Kishte një tub nga goditja e derës në një pllakë muri të zbrazët brenda dhomës sime, dhe një tub tjetër prej andej në një pjatë të zbrazët muri jashtë.

Greva e derës thotë se i duhen 24V@3A për të funksionuar, por unë arrita të kaloja me një furnizim me energji 19V, 7.9A që kisha. Goditja e derës ishte e polarizuar, prandaj sigurohuni që të keni polaritetin të saktë!

Hapi 3: Qarqet

Qarqet
Qarqet
Qarqet
Qarqet
Qarqet
Qarqet
Qarqet
Qarqet

Për të kontrolluar goditjen e derës, kam përdorur stafetën që gjeta në percolatorin e kafesë. Kjo stafetë kishte nevojë për më shumë se 5V TTL për ta drejtuar atë, kështu që sn754410 u përdor për të përkthyer TTL në 19V, gjë që drejtoi stafetën. Sn754410 është me të vërtetë një shofer gjysmë-H katër, kështu që unë isha duke humbur 3/4 e çipit, por nuk kisha asnjë transistor të energjisë, kështu që unë përdor atë.

Çipi sn754410 ka dy kunja VCC, njëra për 5V, tjetra për çfarëdo tensioni që dëshironi të dalë, i cili ishte 19V për mua. Reallyshtë një çip vërtet i lezetshëm. Ju mund ta përdorni këtë për të drejtuar motorët dhe stafetat drejtpërdrejt, sepse mund të kalojë 1A në çip çerek dhe ka dioda mbrojtëse të integruara. Hidhini një sy fletës së të dhënave. Në qarkun tim, unë e lidha sn754410 direkt me kunjin dalës të Teensy -t tim. Butonat janë të lidhur si aktivë-të ulët, gjë që është shumë e zakonshme për mikrokontrolluesit. Ata janë të lidhur drejtpërdrejt me Teensy, që do të thotë se duhet të bëj debouncing në softuer. Drita e statusit është e lidhur me Teensy përmes një rezistence 1K ohm; asgje speciale. Qarku funksionoi pa kondensatorë, por unë i vendos ato gjithsesi për çdo rast. Ka kapakë mbrojtës në binarët e fuqisë 19V dhe 5V në tokë. Ndërsa programoni Teensy, 5V erdhi nga USB, por kur funksionon më vete, fuqia vjen nga tulla e fuqisë së laptopit. Kur e lidha rregullatorin 7805 direkt në 19V, ai u bë vërtet i nxehtë, kështu që vendosa një rrjet rezistencash për të kufizuar tensionin dhe rrymën e hyrjes në rregullator. Kjo ishte një kludge, por tani gjithçka është në një temperaturë të menaxhueshme.

Hapi 4: Instaloni atë së bashku

Instaloni atë së bashku
Instaloni atë së bashku
Instaloni atë së bashku
Instaloni atë së bashku

Teensy nuk ishte problem. Ajo vjen me kunja, kështu që mund ta lidhni direkt në tabelën e bukës.

Vendosa t'i kodifikoj ngjyrat e telave në derën me kabllo banane të kuqe (+) dhe të zeza (-) nga kutia e pjesëve të thyera të laboratorit. Kishte disa priza të prera nga telat e tyre, kështu që unë largova plastikën për të ekspozuar një pikë saldimi. Më pëlqen shumë se si prizat e bananeve të laboratorit mund të lidhen me njëra -tjetrën. Kam përdorur kabllon e telefonit të Apple për të lidhur butonat dhe dritën e gjendjes jashtë dhomës me Teensy brenda. Meqenëse njëra anë ishte e thyer, unë e copëtova atë fund dhe e bashkova në kokën me katër kunja, duke e mbyllur atë me zam të nxehtë. Kjo u fut bukur në tryezën time të bukës. Ana që lashë prizën hyri në folenë modulare që shpëtova nga ruteri. Të katër telat u përdorën (GND, drita e statusit, butoni start/stop, butoni i kodit). Në rast se nuk e keni vënë re, më pëlqejnë prizat dhe lidhësit. Tulla e energjisë e lidhur me prizën e energjisë që e hoqa nga ruteri. Hedhja e telave nëpër tubat e murit nuk ishte shumë e vështirë, për shkak të gjërave fleksibël të kapjes. Kjo me të vërtetë më shpëtoi ditën.

Hapi 5: Kodi

Kodi
Kodi
Kodi
Kodi

Unë jam përpjekur të komentoj kodin tim. Mbani në mend se ky është softuer 1.0, që do të thotë se nuk është pa gabime. ## OPERACION ## 1. Shtypni butonin start/stop për të sinjalizuar se jeni gati për të filluar futjen e kodit. Drita e statusit fillon të ndizet ngadalë. 2. Prekni kodin tuaj në butonin e kodit. Drita e statusit do të pulsojë në 120 BPM, kështu që ju mund ta përdorni këtë si metronome tuaj nëse dëshironi. Sidoqoftë, programi i kriptapit do të masë gjatësinë e pulsit në raport me njëri -tjetrin në mënyrë proporcionale, kështu që ju gjithashtu mund të përdorni ritmin tuaj. Vetëm sigurohuni që jeni mjaft të saktë! 3. Kur të përfundojë futja e kodit, shtypni përsëri butonin start/stop. Programi do të vendosë më pas nëse do t'ju lejojë të futeni. Meqenëse njerëzit nuk janë ruajtës të kohës shumë të saktë (juaji me të vërtetë nuk është), unë e vendosa raportin e tolerancës në +/- 30%. Kjo do të thotë që gjatësia e rrahjeve mund të jetë e pasaktë me atë sasi dhe të kalojë akoma më shumë. Kjo është mjaft e mirë për të treguar ndryshimin midis melodive mjaft të ngjashme. Ekziston një sasi e vogël e mbivendosjeve të vështira për t'u arritur midis goditjeve me gjatësi të dyfishtë dhe të trefishtë, por kodi është ende mjaft i vështirë për t'u thyer. Për të zhbllokuar derën, rrahjet duhet të jenë në proporcione të sakta me njëra-tjetrën (+/- raporti i tolerancës), dhe numri i rrahjeve duhet të jetë i saktë. Nëse futet një fjalëkalim i pavlefshëm, programi pret për disa sekonda duke injoruar çdo hyrje të përdoruesit. Gjithashtu do të ndezë dritën e statusit shpejt. Nëse futet kodi i saktë, drita e statusit do të ndizet në mënyrë të qëndrueshme dhe dera do të zhbllokohet për 8 sekonda. ## KONFIGURIMI I PERRDORUESIT ## Çelësi ruhet në një grup si ky: #përcakto gjatësinë e çelësit 5 const int key = {2, 1, 3, 3, 3}; // "Gëzuar ditëlindjen për ty" Grupi ruan sasinë e kohës që ndodh mes rrahjeve. Pra, nëse fjalëkalimi juaj ka gjashtë shënime si "Gëzuar ditëlindjen për ju", duhet të ketë PESVE elementë në grup. Nëse fjalëkalimi juaj është vërtet i gjatë dhe keni më shumë se 16 rrahje, (vërtet e vështirë, nuk e rekomandoj), duhet të rrisni numrin e përcaktuar në këtë rresht: #define inputCodeLength 16 ## PJESA E KODIT # # Isha kurioz për ndërprerjet, kështu që kisha butonat e mi që shkaktonin ndërprerje. Për t'i bërë këto ndërprerje të lehta për t'u përdorur, kam kërkuar që kontrolluesit e ndërprerjeve të kontrollojnë për tregues të funksioneve të caktuara. Nëse treguesi nuk është vendosur në NULL, thirret funksioni që tregon. Këto janë të vendosura me funksionet e ndryshme të "vendosjes së modalitetit" brenda kriptap.c. Unë bëra një përpjekje për të shmangur vërshimet e tamponëve duke vendosur një numër maksimal të impulseve të futura. Nëse futet numri maksimal i impulseve, programi fillon menjëherë analizën e fjalëkalimit dhe vendos nëse do të zhbllokojë derën. Shpresoj që komentet e mia në kod të ndihmojnë. ## BUGS ## Unë u përpoqa të heq kodin e korrigjimit USB, por kodi nuk do të funksionojë nëse e bëj. Pra, lashë në usb_init () dhe deklarata të ndryshme të shtypura (). Do ta vlerësoja nëse dikush mund t'i hiqte ato dhe akoma të punonte programi. Edhe më mirë nëse ata mund të shpjegojnë pse nuk funksionoi për mua. Menjëherë pas programimit, Teensy ndonjëherë nuk pranon futjen e kodit. Për të zgjidhur këtë, qarkulloni qarkun me energji elektrike.

Recommended: