Obsah:

Detektor zombie: 3 kroky
Detektor zombie: 3 kroky

Video: Detektor zombie: 3 kroky

Video: Detektor zombie: 3 kroky
Video: ArmA 3 - Zombies & Demons: The Underpass 2024, November
Anonim
Detektor zombie
Detektor zombie

Keď som išiel na vysokú školu, pracoval som na Knott’s Berry Farm a keď cez víkend pripadol Halloween, nakreslili sme veľký dav. Všetci sme sa obliekli a užili si to a väčšina zákazníkov ocenila snahu. Jedna z „coin girls“, kde som pracovala, prišla perfektne štylizovaná ako Morticia Addams. V tom čase ešte nebol vynájdený gotický vzhľad (pokiaľ nepočítate Moonu Lisu), takže cestou do práce dostala od brzdového svetla prehnané prevrátenie očí od chlapíka v aute vedľa nej. Pozrela sa mu späť a venovala mu široký úsmev - tesáky a všetko. Jeho výraz v tvári bol zrejme na nezaplatenie.

V tom istom duchu som premýšľal o uložení tohto príspevku až do Halloweenu, ale potom som si spomenul, že Zombie Apocalypse sa môže stať kedykoľvek. Keď som to ukázal vnúčatám, povedal som im, že detekuje ich pulz, ak sú nažive, ale žiadny pulz neznamená, že sú Zombie. Ak máte dav, môže byť použitý ako vyraďovacia hra (akási zvláštna verzia hudobných stoličiek). Jeden zo spôsobov, ako sme to hrali, bolo odovzdať to okolo stola. Ak ste dostali „ľudskú“odpoveď, dostali ste mincu, ak nie, zaplatili ste mincu. Deti majú vždy rady hry, ktoré obsahujú mince.

Krok 1: Hardvér

Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér

Schéma je znázornená na obrázku uvedenom vyššie. Časť „detektor“je jednoduchý kapacitný dotykový spínač bežne inzerovaný ako TTP223. Zobral som sadu 10 takmer nič, ale je s nimi malý problém. Moduly sú inzerované ako fungujúce od 2,5 voltov do 5 voltov, ale nie sú. Zistil som, že čokoľvek menšie ako 4,75 voltov spôsobilo zablokovanie modulu v stave „Zapnuté“. Chcel som spustiť celý projekt pomocou dvojice batérií AAA (asi 3 volty), takže som musel prísť na problém. Po kontrole čipu na module som zistil, že prázdny pár spájkovacích doštičiek má mať kondenzátor, ktorý určuje citlivosť. Odporúčaný rozsah je od 0 do 50 pf so zvyšujúcou sa citlivosťou pri znižovaní kapacity. Nedokázal som to dostať do práce skrátením podložiek (0pf), ale fungovalo to dobre s kondenzátormi 22pf a 47pf, ktoré mám. S hodnotou 22pf som modul ľahko dostal k práci pri 2,5 voltoch.

Ďalšou hlavnou súčasťou tohto projektu (okrem mikrokontroléra PIC) je matica LED 8x8. Pôvodne som používal jednoduchú maticu, ale musel som pridať pár posuvných registrov na adresovanie riadkov a stĺpcov a musel som ich multiplexovať, aby som získal úplné zobrazenie. Potom som objavil lacný modul LED, ktorý bol pripevnený k doske s obvodmi s čipom vodiča displeja LED MAX7219. Čip ovládača prijíma sériové príkazy, ktoré potom používa na zapnutie požadovaných riadkov a stĺpcov. Čip tiež vykonáva multiplexovanie automaticky, takže z mikrokontroléra je odstránené bremeno. Tento objav znížil hardvérovú aj softvérovú náročnosť.

Krok 2: Rámček projektu

Projektový box
Projektový box
Projektový box
Projektový box

Chcel som priesvitný červený filter na zakrytie matice LED. Mohol som odstrihnúť kúsok z nejakého červeného plexiskla, ktorý mám, a potom ho vlepiť do projektovej škatule, ale namiesto toho som sa rozhodol trochu zmeniť účel. Krabica, do ktorej som ju zabudoval, je kontajner, v ktorom sa kedysi nachádzalo veľa 0,22 guliek. Väčšina týchto nádob je z číreho plastu, ale mám pár červených. Nie príliš elegantné, ale vnúčatám na elegantnom nezáleží.

Krok 3: Softvér

Softvér
Softvér
Softvér
Softvér

Softvér je veľmi jednoduchý. Časovač 0 má voľný chod a hodnota sa kontroluje vždy, keď je detekovaný dotykový senzor. Svojvoľne som sa rozhodol, že zobrazenie Zombie sa objaví, ak je počet Timer0 menší ako 100. Vzhľadom na to, že Timer0 je 8-bitový, znamená to, že k „ľudskému“zobrazeniu dôjde pri hodnotách od 100 do 255. To je pomer asi 3: 2 a dá sa to v softvéri ľahko zmeniť.

Keď sa zistí dotyk a určí sa typ displeja, zavolá sa príslušná rutina na odoslanie údajov do matice LED. Za týmto účelom sa pošle séria príkazov ako 8-bitová adresa a 8-bitové dáta. Registre, ktoré je možné adresovať, sú definované v prednej časti zoznamu. Niekoľko z nich sa používa na inicializáciu matice (napr.: jas) a jeden sa používa na zapnutie/vypnutie celej matice. Matica môže pracovať v režime, kde BCD (binárne kódované desatinné miesto) zobrazí príslušné číslo. Rutina Init to vypne, aby sme mohli ovládať jednotlivé LED diódy. Druhou časťou inicializácie je nastavenie limitu stĺpcov. Chceme všetkých osem stĺpcov, takže limit skenovania je nastavený na 7.

Existuje osem registrov, ktoré sa používajú na povolenie požadovaných jednotlivých LED diód - jeden register pre každý stĺpec. „1“v dátovom bite povolí danú diódu stĺpca. Ako už bolo spomenuté, softvér nevyžaduje multiplexovanie. „Ľudský“displej je bijúce srdce. Po odoslaní správnych bitových vzorov do matice sa bitie simuluje jednoduchým zapnutím/vypnutím matice (s oneskorením medzi nimi) tak dlho, kým je dotykový senzor aktívny. Rutina Zombie zobrazuje pevný vzor „X“, kým dotyok neodstránite.

To je k tomuto príspevku všetko. Pozrite sa na moje ďalšie projekty v oblasti elektroniky na: www.boomerrules.wordpress.com

Odporúča: