Sadržaj:

Detektor zombija: 3 koraka
Detektor zombija: 3 koraka

Video: Detektor zombija: 3 koraka

Video: Detektor zombija: 3 koraka
Video: Астарлы ақиқат: Жыныстағы жын ДЕТЕКТОР 2024, Srpanj
Anonim
Detektor zombija
Detektor zombija

Kad sam išao na fakultet, radio sam na Knottovoj berry farmi, a kad je Halloween pao na vikend, okupili smo veliku publiku. Svi smo se odjenuli i zabavili s tim, a većina kupaca cijenila je trud. Jedna od "kovanica" u kojima sam radila došla je savršeno stilizirana kao Morticia Addams. Tada gotski izgled nije bio izmišljen (osim ako niste računali Moonu Lisu) pa je na putu do posla dobila pretjerano prevrtanje očima od tipa u autu pored sebe na stop svjetlu. Uzvratila mu je pogled i uputila mu veliki osmijeh - očnjake i sve to. Očigledno je izraz njegova lica bio neprocjenjiv.

U istom duhu razmišljao sam o tome da sačuvam ovaj post do negdje oko Noći vještica, ali onda sam se sjetio da se Zombi apokalipsa mogla dogoditi u bilo kojem trenutku. Kad sam to pokazao unucima, rekao sam im da detektira njihov puls ako su živi, ali bez pulsa znači da su Zombi. Može se koristiti kao eliminacijska igra (neka vrsta čudne verzije glazbenih stolica) ako imate gužvu. Jedan od načina na koji smo igrali je da ga provučemo oko stola. Ako ste dobili "ljudski" odgovor, dobili ste novčić, ako niste, platili ste novčić. Djeca uvijek vole igre s novčićima.

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Shema je prikazana na gore navedenom dijagramu. Dio "detektora" je jednostavan kapacitivni prekidač na dodir koji se obično reklamira kao TTP223. Uzeo sam set od 10 za gotovo ništa, ali postoji mali problem s njima. Moduli su oglašeni kao da rade od 2,5 do 5 volti, ali ne rade. Ono što sam otkrio je da je sve manje od 4,75 volti uzrokovalo blokiranje modula u stanju "Uključeno". Htio sam pokrenuti cijeli projekt koristeći par AAA baterija (oko 3 volta) pa sam morao shvatiti problem. Nakon što sam provjerio čip na modulu, utvrdio sam da bi slijepi par lemnih pločica trebao imati kondenzator koji određuje osjetljivost. Preporučeni raspon je od 0 do 50 pf, pri čemu se osjetljivost povećava kako se smanjuje kapacitet. Nisam ga mogao natjerati na rad kratkim spojevima (0pf), ali dobro je funkcionirao s kondenzatorima od 22 i 47pf koje imam. S vrijednošću od 22 pf lako sam postigao da modul radi na 2,5 volta.

Druga glavna komponenta ovog projekta (osim PIC mikrokontrolera) je LED matrica 8x8. U početku sam koristio običnu matricu, ali sam morao dodati par registara pomaka za adresiranje redaka i stupaca te sam ih morao multipleksirati da bih dobio potpuni prikaz. Zatim sam otkrio jeftin LED modul koji je došao pričvršćen na pločicu s čipom upravljačkog programa LED zaslona MAX7219. Čip upravljačkog programa prihvaća serijske naredbe koje zatim koristi za uključivanje željenih redaka i stupaca. Čip također automatski vrši multipleksiranje tako da se teret uklanja s mikrokontrolera. To otkriće smanjilo je i hardversku i softversku složenost.

Korak 2: Projektna kutija

Projektna kutija
Projektna kutija
Projektna kutija
Projektna kutija

Htio sam prozirni crveni filter koji prekriva LED matricu. Mogao sam izrezati komad iz nekog crvenog pleksiglasa koji imam, a zatim ga zalijepiti u projektnu kutiju, ali sam umjesto toga odlučio napraviti novu namjenu. Kutija u koju sam je ugradio je spremnik koji je nekad držao hrpu.22 metaka. Većina ovih posuda je od prozirne plastike, ali ja imam par crvenih. Nije previše elegantno, ali unucima nije stalo do elegantnog.

Korak 3: Softver

Softver
Softver
Softver
Softver

Softver je prilično jednostavan. Timer0 je dopušten za slobodni rad, a vrijednost se provjerava kad god se otkrije senzor dodira. Proizvoljno sam odlučio da će se Zombie zaslon pojaviti ako je Timer0 broj manji od 100. S obzirom da je Timer0 8-bitni, to znači da će se "ljudski" prikaz dogoditi za vrijednosti od 100-255. To je omjer od oko 3: 2 i može se lako promijeniti u softveru.

Kad se detektira dodir i odredi vrsta prikaza, poziva se odgovarajuća rutina za slanje podataka u LED matricu. Da biste to učinili, niz naredbi šalje se kao 8-bitna adresa i 8-bitni podaci. Registri koji se mogu adresirati definirani su u prednjem dijelu popisa. Nekoliko se koristi za inicijalizaciju matrice (npr.: svjetlina), a jedna se koristi za uključivanje/isključivanje cijele matrice. Matrica može raditi u načinu na koji će BCD (binarno kodirana decimalna vrijednost) prikazati odgovarajući broj. Init rutina isključuje to kako bismo mogli kontrolirati pojedinačne LED diode. Drugi dio inicijalizacije je postavljanje ograničenja stupca. Želimo svih osam stupaca pa je granica skeniranja postavljena na 7.

Postoji osam registara koji se koriste za omogućavanje željenih pojedinačnih LED dioda - po jedan registar za svaki stupac. "1" u bitu podataka omogućit će LED tog stupca. Kao što je ranije spomenuto, u softveru nije potrebno multipleksiranje. "Ljudski" zaslon srce kuca. Nakon što se odgovarajući matrice bitova pošalju u matricu, otkucaji se simuliraju jednostavnim uključivanjem/isključivanjem matrice (s kašnjenjima između) sve dok je osjetnik na dodir aktivan. Zombi rutina prikazuje fiksni "X" uzorak dok se dodir ne ukloni.

To je to za ovaj post. Pogledajte ostale moje elektroničke projekte na: www.boomerrules.wordpress.com

Preporučeni: