Përmbajtje:

Zbulues Zombie: 3 hapa
Zbulues Zombie: 3 hapa

Video: Zbulues Zombie: 3 hapa

Video: Zbulues Zombie: 3 hapa
Video: Бета-Версия Plants Vs Zombies 3... 2024, Korrik
Anonim
Zbulues Zombie
Zbulues Zombie

Kur do të shkoja në kolegj punova në Knott's Berry Farm dhe kur Halloween ra në një fundjavë ne tërhoqëm një turmë të madhe. Ne të gjithë u veshëm dhe u argëtuam me të dhe shumica e klientëve e vlerësuan përpjekjen. Një nga "vajzat e monedhave" ku kam punuar erdhi e stiluar në mënyrë perfekte si Morticia Addams. Atëherë pamja gotike nuk ishte shpikur (nëse nuk e numëruat Moona Lisa) kështu që gjatë rrugës për në punë ajo mori një rrotullim të ekzagjeruar të syve nga një djalë në makinë pranë saj në një dritë ndalese. Ajo ia nguli sytë dhe i dha një buzëqeshje të madhe - dhëmbët dhe të gjitha. Me sa duket pamja në fytyrën e tij ishte e paçmueshme.

Në të njëjtën frymë mendova të ruaja këtë post deri diku rreth Halloween, por më pas u kujtova se Apokalipsi Zombie mund të ndodhte në çdo kohë. Kur ua tregova këtë nipërve, u thashë se zbulon pulsin e tyre nëse janë gjallë, por asnjë puls nuk do të thotë se ata ishin një Zombie. Mund të përdoret si një lojë eliminimi (një lloj versioni i çuditshëm i karrigeve muzikore) nëse keni një turmë. Një mënyrë për të luajtur ishte të kalonim rreth tryezës. Nëse keni marrë një përgjigje "njerëzore" keni një monedhë, nëse jo keni paguar një monedhë. Fëmijët gjithmonë duan lojëra që përfshijnë monedha.

Hapi 1: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Skema është treguar në diagramin e përfshirë më sipër. Pjesa "detektor" është një ndërprerës i thjeshtë prekës kapacitiv i reklamuar zakonisht si një TTP223. Unë mora një grup prej 10 për asgjë, por ka një problem me ta. Modulet reklamohen se punojnë nga 2.5 volt në 5 volt, por ato jo. Ajo që gjeta ishte se çdo gjë më pak se 4.75 volt bëri që moduli të fiksohej në gjendjen "On". Doja të drejtoja të gjithë projektin duke përdorur një palë bateri AAA (rreth 3 volt) kështu që më duhej të kuptoja problemin. Pas kontrollimit të çipit në modul, unë përcaktova që çifti bosh i jastëkëve të saldimit supozohet të ketë një kondensator që përcakton ndjeshmërinë. Gama e rekomanduar është nga 0 në 50pf me ndjeshmërinë në rritje me zvogëlimin e kapacitetit. Unë nuk mund ta bëj atë të funksionojë duke shkurtuar pads (0pf), por funksionoi mirë me kondensatorët 22pf dhe 47pf që kam. Me vlerën 22pf e kam lehtësisht modulin të punojë në 2.5 volt.

Komponenti tjetër kryesor i këtij projekti (përveç mikrokontrolluesit PIC) është një matricë LED 8x8. Fillimisht kam përdorur një matricë të thjeshtë, por më është dashur të shtoj një palë regjistra të ndërrimit për të adresuar rreshtat dhe kolonat dhe duhej t'i shumëzoja ato për të marrë një ekran të plotë. Pastaj zbulova një modul të lirë LED që u bashkua me një bord qark me një çip drejtues MAX7219 LED. Çipi i shoferit pranon komandat serike të cilat më pas i përdor për të ndezur rreshtat dhe kolonat e dëshiruara. Çipi gjithashtu bën multipleximin automatikisht në mënyrë që barra të hiqet nga mikrokontrolluesi. Ky zbulim uli kompleksitetin e harduerit dhe softuerit.

Hapi 2: Kutia e Projektit

Kutia e Projektit
Kutia e Projektit
Kutia e Projektit
Kutia e Projektit

Doja një filtër të kuq të tejdukshëm për të mbuluar matricën LED. Unë mund të kisha prerë një copë nga disa pleksiglas të kuq që kam dhe pastaj ta ngjisja në një kuti projekti, por në vend të kësaj zgjodha të bëja pak ri-qëllim. Kutia në të cilën e ndërtova është një enë që dikur mbante një tufë.22 plumbash. Shumica e këtyre kontejnerëve janë plastikë të qartë, por unë kam një çift që janë të kuq. Jo shumë elegante, por nipërve nuk u intereson eleganca.

Hapi 3: Softuer

Softuer
Softuer
Softuer
Softuer

Softueri është mjaft i thjeshtë. Timer0 lejohet të funksionojë falas dhe vlera kontrollohet sa herë që zbulohet sensori i prekjes. Unë vendosa në mënyrë arbitrare që ekrani Zombie të dilte nëse numërimi i Timer0 është më pak se 100. Duke pasur parasysh që Timer0 është 8-bit, kjo do të thotë që shfaqja "njerëzore" do të ndodhë për vlerat nga 100-255. Ky është një raport prej rreth 3: 2 dhe mund të ndryshohet lehtësisht në softuer.

Kur zbulohet një prekje dhe përcaktohet lloji i ekranit, rutina e duhur thirret për të dërguar të dhëna në matricën LED. Për ta bërë këtë, një seri komandash dërgohen si adresa 8-bit dhe të dhëna 8-bit. Regjistrat që mund të adresohen përcaktohen në pjesën e përparme të listës. Disa prej tyre përdoren për të inicializuar matricën (p.sh.: shkëlqimi) dhe një përdoret për të ndezur/fikur të gjithë matricën. Matrica mund të funksionojë në një mënyrë ku BCD (dhjetore e koduar binare) do të shfaq numrin e duhur. Rutina Init e fik atë në mënyrë që të mund të kontrollojmë LED -të individuale. Pjesa tjetër e fillimit është të vendosni kufirin e kolonës. Ne duam të tetë kolonat kështu që kufiri i skanimit është vendosur në 7.

Janë tetë regjistra që përdoren për të mundësuar LED -të e dëshiruar individualë - një regjistër për secilën kolonë. Një "1" në një bit të të dhënave do të mundësojë atë kolonë LED. Siç u përmend më herët, nuk kërkohet multiplexim në softuer. Shfaqja "njerëzore" është një zemër që rreh. Pasi modelet e duhura të bitit të dërgohen në matricë, rrahja simulohet thjesht duke e aktivizuar/fikur matricën (me vonesa në mes) për sa kohë që sensori i prekjes është aktiv. Rutina Zombie shfaq një model fiks "X" derisa prekja të hiqet.

Kjo është ajo për këtë postim. Shikoni projektet e mia të tjera elektronike në: www.boomerrules.wordpress.com

Recommended: