INHOUDSOPGAWE:

Zombie Detector: 3 stappe
Zombie Detector: 3 stappe

Video: Zombie Detector: 3 stappe

Video: Zombie Detector: 3 stappe
Video: [Пасхальный обзор] ЗОМБИ-РЕЖИМА CoD: World at War 2024, Julie
Anonim
Zombie Detector
Zombie Detector

Toe ek op universiteit was, het ek by Knott's Berry Farm gewerk, en toe Halloween 'n naweek val, het ons 'n groot skare getrek. Ons het almal aangetrek en dit baie geniet, en die meeste kliënte waardeer die moeite. Een van die "muntmeisies" waar ek gewerk het, was perfek ontwerp as Morticia Addams. Destyds was die Goth-voorkoms nie uitgevind nie (tensy jy Moona Lisa getel het), en toe sy werk toe kry, kry sy 'n oordrewe oogrol van 'n man in die motor langs haar by 'n stoplig. Sy staar terug na hom en gee hom 'n groot glimlag - slagtande en al. Die voorkoms op sy gesig was blykbaar van onskatbare waarde.

In dieselfde gees het ek daaraan gedink om hierdie pos tot en met Halloween te stoor, maar toe onthou ek dat die Zombie Apocalypse enige tyd kan gebeur. Toe ek dit vir die kleinkinders wys, het ek vir hulle gesê dat dit hul pols opspoor as hulle lewe, maar geen polsslag beteken dat hulle 'n zombie is nie. Dit kan as 'n uitskakelspel ('n vreemde weergawe van musikale stoele) gebruik word as daar 'n skare is. Een manier waarop ons dit gespeel het, was om dit om die tafel te sit. As u 'n 'menslike' antwoord gekry het, het u 'n muntstuk gekry, indien nie, het u 'n muntstuk betaal. Die kinders hou altyd van speletjies met muntstukke.

Stap 1: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Die skema word getoon in die diagram hierbo. Die 'detektor' -deel is 'n eenvoudige kapasitiewe aanraakskakelaar wat algemeen as 'n TTP223 geadverteer word. Ek het 'n stel van 10 byna niks gekry nie, maar daar is 'n bietjie probleem met hulle. Die modules word geadverteer om van 2,5 tot 5 volt te werk, maar dit werk nie. Wat ek gevind het, was dat niks minder as 4,75 volt die module in die "Aan" -status laat klou het. Ek wou die hele projek uitvoer met 'n paar AAA -batterye (ongeveer 3 volt), sodat ek die probleem moes uitvind. Nadat ek die chip op die module nagegaan het, het ek vasgestel dat die leë paar soldeerblokkies 'n kapasitor moet hê wat die sensitiwiteit bepaal. Die aanbevole reeks is van 0 tot 50 pf met die sensitiwiteit wat toeneem namate die kapasitansie verminder word. Ek kon dit nie laat werk deur die pads (0pf) te kort nie, maar dit het goed gewerk met 22pf en 47pf kapasitors wat ek het. Met die 22pf -waarde het ek die module maklik op 2,5 volt laat werk.

Die ander hoofkomponent van hierdie projek (behalwe die PIC -mikrobeheerder) is 'n 8x8 LED -matriks. Oorspronklik het ek 'n gewone matriks gebruik, maar ek moes 'n paar skofregisters byvoeg om die rye en kolomme aan te spreek, en ek moes dit multiplex om 'n volledige vertoning te kry. Ek ontdek toe 'n goedkoop LED -module wat met 'n MAX7219 LED -bestuurderskyfie aan 'n printplaat gekoppel is. Die bestuurderschyfie aanvaar reeksopdragte wat dit dan gebruik om die gewenste rye en kolomme aan te skakel. Die chip doen ook die multiplexing outomaties sodat die las van die mikrobeheerder verwyder word. Hierdie ontdekking verminder beide die hardeware en die sagteware kompleksiteit.

Stap 2: Projekboks

Projek boks
Projek boks
Projek boks
Projek boks

Ek wou 'n deurskynende rooi filter hê om die LED -matriks te bedek. Ek kon 'n stuk gesny het uit 'n paar rooi pleksiglas wat ek het, en dit dan in 'n projektiek vasplak, maar verkies om eerder 'n bietjie te herbesin. Die boks waarin ek dit ingebou het, is 'n houer wat eens 'n klomp.22 koeëls bevat het. Die meeste van hierdie houers is van deurskynende plastiek, maar ek het 'n paar wat rooi is. Nie te elegant nie, maar die kleinkinders gee nie om oor elegant nie.

Stap 3: sagteware

Sagteware
Sagteware
Sagteware
Sagteware

Die sagteware is redelik eenvoudig. Tydur 0 word vryelik toegelaat en die waarde word nagegaan wanneer die aanraaksensor opgespoor word. Ek het willekeurig besluit dat die Zombie-skerm sal verskyn as die Timer0-telling minder as 100 is. Aangesien Timer0 8-bis is, beteken dit dat die 'menslike' vertoning sal plaasvind vir waardes van 100-255. Dit is 'n verhouding van ongeveer 3: 2 en kan maklik in die sagteware verander word.

As 'n aanraking opgespoor word en 'n vertoningstipe bepaal word, word die toepaslike roetine ontbied om data na die LED -matriks te stuur. Om dit te kan doen, word 'n reeks opdragte gestuur as 8-bis adres en 8-bis data. Die registers wat aangespreek kan word, word gedefinieer in die voorste deel van die lys. 'N Paar daarvan word gebruik om die matriks te initialiseer (byvoorbeeld: helderheid) en een word gebruik om die hele matriks aan/uit te skakel. Die matriks kan werk in 'n modus waar BCD (binêre gekodeerde desimale) die toepaslike getal sal vertoon. Die Init -roetine skakel dit uit sodat ons die individuele LED's kan beheer. Die ander deel van die inisialisering is om die kolomlimiet in te stel. Ons wil al agt kolomme hê, sodat die skanderinglimiet op 7 gestel is.

Daar is agt registers wat gebruik word om die gewenste individuele LED's moontlik te maak - een register vir elke kolom. 'N' 1 'in 'n databit sal die kolom -LED moontlik maak. Soos vroeër genoem, is geen multiplexing nodig in die sagteware nie. Die 'menslike' vertoning is 'n hart wat klop. Nadat die regte bitpatrone na die matriks gestuur is, word die klop gesimuleer deur eenvoudig die matriks aan/uit te skakel (met vertragings tussenin) solank die aanraaksensor aktief is. Die Zombie -roetine vertoon 'n vaste 'X' patroon totdat die aanraking verwyder is.

Dit is dit vir hierdie pos. Kyk na my ander elektroniese projekte by: www.boomerrules.wordpress.com

Aanbeveel: