Kazalo:

Detektor zombija: 3 koraki
Detektor zombija: 3 koraki

Video: Detektor zombija: 3 koraki

Video: Detektor zombija: 3 koraki
Video: Detective Riddles ( Episode 3 ) - Zombies Attack | Halloween Riddles | Riddles with Answers 2024, November
Anonim
Detektor zombija
Detektor zombija

Ko sem hodil na fakulteto, sem delal na Knottovi Berry Farmi, in ko je na vikend padla noč čarovnic, smo privabili veliko množico. Vsi smo se oblekli in se ob tem zabavali, večina strank pa je trud cenila. Eno od "kovancev", kjer sem delala, je prišlo popolnoma kot Morticia Addams. Takrat gotov videz še ni bil izumljen (razen če ste šteli Moono Liso), zato je na poti v službo od moškega v avtu ob zavorni luči pretiravala z očmi. Zazrla se je v njega in mu se nasmehnila - z očmi in vse. Očitno je bil izraz njegovega obraza neprecenljiv.

V istem duhu sem razmišljal, da bi to objavo shranil do neke noči okoli noči čarovnic, potem pa sem se spomnil, da se lahko zombi apokalipsa zgodi kadar koli. Ko sem to pokazal vnukom, sem jim povedal, da zazna njihov utrip, če so živi, vendar brez utripa pomeni, da so zombi. Lahko ga uporabite kot izločilno igro (nekakšna čudna različica glasbenih stolov), če imate množico. Eden od načinov, kako smo se igrali, je bil, da smo ga podali okoli mize. Če ste dobili "človeški" odgovor, ste dobili kovanec, če ne, ste plačali kovanec. Otroci imajo vedno radi igre s kovanci.

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Shema je prikazana na zgornjem diagramu. Del »detektorja« je preprosto kapacitivno stikalo na dotik, ki se običajno oglašuje kot TTP223. Vzel sem komplet 10 za skoraj nič, vendar je z njimi nekaj težav. Moduli so oglaševani kot delujoči od 2,5 do 5 voltov, vendar ne delujejo. Ugotovil sem, da je karkoli manj kot 4,75 voltov povzročilo, da se je modul zapahnil v stanju "vklopljeno". Celoten projekt sem želel izvesti s parom baterij AAA (približno 3 volti), zato sem moral ugotoviti težavo. Po preverjanju čipa na modulu sem ugotovil, da naj bi prazen par spajkalnih blazinic imel kondenzator, ki določa občutljivost. Priporočeno območje je od 0 do 50 pf, občutljivost pa se povečuje z zmanjšanjem kapacitivnosti. Nisem ga mogel spraviti v delo s kratkim stikalom blazinic (0pf), vendar je dobro deloval s kondenzatorji 22pf in 47pf, ki jih imam. Z vrednostjo 22 pf sem modul zlahka pričel delovati pri 2,5 volti.

Druga glavna komponenta tega projekta (razen mikrokrmilnika PIC) je LED matrika 8x8. Prvotno sem uporabil navadno matriko, vendar sem moral dodati nekaj registrov premikov za obravnavo vrstic in stolpcev in jih moral multipleksirati, da sem dobil popoln prikaz. Nato sem odkril poceni LED modul, ki je bil pritrjen na vezje z gonilnikom LED zaslona MAX7219. Gonilniški čip sprejema serijske ukaze, ki jih nato uporabi za vklop želenih vrstic in stolpcev. Čip tudi samodejno izvaja multipleksiranje, tako da se obremenitev odstrani z mikrokrmilnika. To odkritje je zmanjšalo kompleksnost strojne in programske opreme.

2. korak: Project Box

Škatla projekta
Škatla projekta
Škatla projekta
Škatla projekta

Hotel sem prosojen rdeč filter, ki bi pokril LED matriko. Lahko bi izrezal kos iz rdečega pleksi stekla, ki ga imam, in ga nato zlepil v škatlo za projekt, vendar sem se raje odločil, da bom namesto tega naredil nekaj novega. Škatla, v katero sem jo vgradil, je posoda, ki je nekoč držala kopico.22 nabojev. Večina teh posod je iz prozorne plastike, imam pa nekaj rdečih. Ne preveč elegantno, vendar vnukom ni vseeno za elegantno.

3. korak: Programska oprema

Programska oprema
Programska oprema
Programska oprema
Programska oprema

Programska oprema je precej preprosta. Časovniku 0 je dovoljeno prosto delovati, vrednost pa se preveri vsakič, ko zazna senzor na dotik. Samovoljno sem se odločil, da se prikaže prikaz Zombie, če je število Timer0 manjše od 100. Glede na to, da je Timer0 8-bitni, to pomeni, da se bo "človeški" prikaz pojavil pri vrednostih od 100-255. To je razmerje približno 3: 2 in ga lahko preprosto spremenite v programski opremi.

Ko zaznamo dotik in določimo vrsto prikaza, se pokliče ustrezna rutina za pošiljanje podatkov v matriko LED. Če želite to narediti, se niz ukazov pošlje kot 8-bitni naslov in 8-bitni podatki. Registri, ki jih je mogoče nasloviti, so opredeljeni v sprednjem delu seznama. Nekaj jih je uporabljenih za inicializacijo matrike (npr.: svetlost), ena pa za vklop/izklop celotne matrike. Matrica lahko deluje v načinu, kjer BCD (binarno kodirana decimalka) prikaže ustrezno število. Rutina Init to izklopi, da lahko nadzorujemo posamezne LED. Drugi del inicializacije je nastavitev omejitve stolpcev. Želimo vseh osem stolpcev, zato je omejitev skeniranja nastavljena na 7.

Obstaja osem registrov, ki se uporabljajo za omogočanje želenih posameznih LED - en register za vsak stolpec. »1« v podatkovnem bitu bo omogočilo LED tega stolpca. Kot smo že omenili, programska oprema ne zahteva multipleksiranja. "Človeški" zaslon je utripajoče srce. Ko so v matriko poslani ustrezni vzorci bitov, se simulira utripanje z enostavnim vklopom/izklopom matrice (z zamiki vmes), dokler je senzor na dotik aktiven. Zombie rutina prikazuje fiksni vzorec »X«, dokler se dotik ne odstrani.

To je to za to objavo. Oglejte si moje druge elektronske projekte na: www.boomerrules.wordpress.com

Priporočena: