Innehållsförteckning:

Zombie Detector: 3 steg
Zombie Detector: 3 steg

Video: Zombie Detector: 3 steg

Video: Zombie Detector: 3 steg
Video: Zombie Detective Episode 3 & 4 Explained in Hindi | Korean Drama Explained | Explanations in Hindi 2024, Juli
Anonim
Zombie Detektor
Zombie Detektor

När jag gick på college arbetade jag på Knott’s Berry Farm och när Halloween föll på en helg drog vi en stor publik. Vi klädde oss alla och hade kul med det och de flesta kunder uppskattade insatsen. En av "mynttjejerna" där jag arbetade kom perfekt utformad som Morticia Addams. Då hade Goth-looken inte uppfunnits (om du inte räknat Moona Lisa) så på väg till jobbet fick hon en överdriven ögonrulle från en kille i bilen bredvid henne vid ett stoppljus. Hon stirrade tillbaka på honom och gav honom ett stort leende - huggtänder och allt. Tydligen var utseendet på hans ansikte ovärderligt.

I samma anda tänkte jag spara det här inlägget till någon gång runt Halloween men då kom jag ihåg att Zombie Apocalypse kan hända när som helst. När jag visade detta för barnbarnen sa jag till dem att det upptäcker deras puls om de lever men ingen puls innebar att de var en zombie. Det kan användas som ett eliminationsspel (typ av en konstig version av musikstolar) om du har en folkmassa. Ett sätt vi spelade det på var att skicka det runt bordet. Om du fick ett”mänskligt” svar fick du ett mynt, om inte betalade du ett mynt. Barnen gillar alltid spel som involverar mynt.

Steg 1: Hårdvara

Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara

Schemat visas i diagrammet ovan. "Detektor" -delen är en enkel kapacitiv touch -switch som vanligtvis annonseras som en TTP223. Jag plockade upp en uppsättning av 10 för nästan ingenting men det är lite problem med dem. Modulerna annonseras för att fungera från 2,5 volt till 5 volt men de gör det inte. Vad jag hittade var att allt mindre än 4,75 volt fick modulen att låsa i läge "På". Jag ville köra hela projektet med ett par AAA -batterier (cirka 3 volt) så jag var tvungen att ta reda på problemet. Efter att ha kollat chipet på modulen bestämde jag att det tomma paret av lödkuddar ska ha en kondensator som bestämmer känsligheten. Det rekommenderade intervallet är från 0 till 50 pf med känsligheten ökar när kapacitansen reduceras. Jag kunde inte få det att fungera genom att kortsluta kuddarna (0pf) men det fungerade bra med 22pf och 47pf kondensatorer som jag har. Med 22pf -värdet fick jag enkelt modulen att fungera med 2,5 volt.

Den andra huvudkomponenten i detta projekt (förutom PIC -mikrokontrollern) är en 8x8 LED -matris. Ursprungligen använde jag en vanlig matris men var tvungen att lägga till ett par skiftregister för att adressera raderna och kolumnerna och var tvungen att multiplexera dem för att få en komplett visning. Jag upptäckte sedan en billig LED -modul som fästes på ett kretskort med ett MAX7219 LED -display -drivrutinschip. Drivrutinen accepterar seriella kommandon som den sedan använder för att slå på önskade rader och kolumner. Chippet gör också multiplexeringen automatiskt så att bördan tas bort från mikrokontrollern. Den upptäckten minskade både hårdvaran och programvarans komplexitet.

Steg 2: Projektlåda

Projektlåda
Projektlåda
Projektlåda
Projektlåda

Jag ville ha ett genomskinligt rött filter för att täcka LED -matrisen. Jag hade kunnat klippa en bit från något rött plexiglas jag har och sedan limmat in den i en projektlåda men valde att göra lite omändringar istället. Lådan jag byggde den i är en behållare som en gång innehöll ett gäng 0,22 kulor. De flesta av dessa behållare är klar plast men jag har ett par som är röda. Inte för elegant men barnbarnen bryr sig inte om elegant.

Steg 3: Programvara

programvara
programvara
programvara
programvara

Programvaran är ganska enkel. Timer 0 tillåts fritt köras och värdet kontrolleras när touchsensorn detekteras. Jag bestämde mig godtyckligt att Zombie-displayen skulle dyka upp om Timer0-räkningen är mindre än 100. Med tanke på att Timer0 är 8-bitar betyder det att den "mänskliga" displayen kommer att hända för värden från 100-255. Det är ett förhållande på cirka 3: 2 och kan enkelt ändras i programvaran.

När en beröring detekteras och en visningstyp bestäms, kallas lämplig rutin för att skicka data till LED -matrisen. För att göra detta skickas en serie kommandon som 8-bitars adress och 8-bitars data. De register som kan adresseras definieras i listans främre del. Ett par av dem används för att initiera matrisen (t.ex. ljusstyrka) och en används för att slå på/av hela matrisen. Matrisen kan fungera i ett läge där BCD (binärt kodad decimal) visar rätt nummer. Init -rutinen stänger av det så att vi kan styra de enskilda lysdioderna. Den andra delen av initialiseringen är att ställa in kolumngränsen. Vi vill ha alla åtta kolumner så skanningsgränsen är inställd på 7.

Det finns åtta register som används för att aktivera önskade individuella lysdioder - ett register för varje kolumn. Ett “1” i en databit aktiverar den kolumn -lysdioden. Som nämnts tidigare krävs ingen multiplexering i programvaran. Den”mänskliga” displayen är ett hjärta som slår. Efter att de rätta bitmönstren har skickats till matrisen simuleras strykningen genom att helt enkelt slå på/stänga av matrisen (med fördröjningar emellan) så länge som beröringssensorn är aktiv. Zombie -rutinen visar ett fast "X" -mönster tills touchen tas bort.

Det är det för det här inlägget. Kolla in mina andra elektronikprojekt på: www.boomerrules.wordpress.com

Rekommenderad: