Përmbajtje:
- Hapi 1: Pjesët dhe mjetet
- Hapi 2: Hardware para-ekzistues
- Hapi 3: Qarqet
- Hapi 4: Instaloni atë së bashku
- Hapi 5: Kodi
Video: Cryptap: një bllokim i dyerve me bazë ritmin: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:35
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
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
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
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
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
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:
Dizajni i marrjes, përforcimit dhe filtrimit të një qarku të një elektrokardiogrami bazë: 6 hapa
Dizajni i marrjes, përforcimit dhe filtrimit të qarkut të një elektrokardiogrami bazë: Për të përfunduar këtë udhëzues, të vetmet gjëra që nevojiten janë një kompjuter, qasje në internet dhe disa softuerë simulues. Për qëllimet e këtij dizajni, të gjitha qarqet dhe simulimet do të funksionojnë në LTspice XVII. Ky program simulimi përmban
Termometër infra të kuqe pa kontakt me bazë Arduino - Termometri me bazë IR duke përdorur Arduino: 4 hapa
Termometër infra të kuqe pa kontakt me bazë Arduino | Termometri i bazuar në IR duke përdorur Arduino: Përshëndetje djema në këtë udhëzues ne do të bëjmë një termometër pa kontakt duke përdorur arduino. Meqenëse ndonjëherë temperatura e lëngut/ngurtës është shumë e lartë ose shumë e ulët dhe pastaj është e vështirë të kontaktosh me të dhe të lexosh temperatura atëherë në atë skenë
Zbatimi i sensorit të gjesteve pa bllokim APDS9960: 5 hapa
Zbatimi i sensorit të gjesteve pa bllokim APDS9960: ParathënieKy udhëzues detajon se si të krijoni një zbatim jo-bllokues të sensorit të gjesteve APDS9960 duke përdorur SparkFun_APDS-9960_Sensor_Arduino_Library.IntroductionSo ju ndoshta po pyesni veten se çfarë është mos bllokimi? Ose edhe bllokoni
Si të rregulloni problemet me telekomandën e timonit Pionner - Rritni sinjalin IR dhe rregulloni një bllokim të vogël .: 14 hapa
Si të rregulloni problemet me telekomandën e timonit Pionner - Rritni sinjalin IR dhe rregulloni bllokimin e vogël: Ky telekomandë është shumë i bukur dhe i përshtatshëm, por disa herë nuk funksionon siç duhet Disa faktorë për këtë: dizajni i pultit, dizajni i timonit dhe sinjalet IR projekti nuk është shembull i efikasitetit. Unë jam nga Brazili dhe e gjeta këtë këshillë në Amaz
Riparimi i problemit bazë të ndërgjegjes së kompjuterit bazë (dështimi i diskut në sistem dhe furnizimi me energji i dëmtuar dhe skedarët e humbur/të korruptuar): 4 hapa
Riparimi i problemit bazë të ndërgjegjes kompjuterike bazë (dështimi i sistemit të diskut dhe PSU i prishur dhe skedarët që mungojnë/korruptojnë): KJO UDHZUES NUK KA PINRFUNDUAR, DO T AD SHTOJ M M SHUM INFORMACION KUR M G KA NJ SHANS. Nëse keni nevojë për ndonjë ndihmë me rregullimin e një kompjuteri ose nëse keni ndonjë pyetje fare, mos ngurroni të më dërgoni mesazh " Në këtë udhëzues do t'ju tregoj se si të riparoni komin bazë