Inhoudsopgave:

Rootin', Tootin', Shootin' Game - Ajarnpa
Rootin', Tootin', Shootin' Game - Ajarnpa

Video: Rootin', Tootin', Shootin' Game - Ajarnpa

Video: Rootin', Tootin', Shootin' Game - Ajarnpa
Video: Rootin' Tootin' Lootin' & Shootin' (Rootin' Tootin' Lootin' & Shootin') · Игра · Геймплей 2024, Juli-
Anonim
Rootin', Tootin', Shootin' Game
Rootin', Tootin', Shootin' Game

Toen ik in Orange County, Californië woonde, waren Disneyland en Knott's Berry Farm twee van de grootste werkgevers van schoolkinderen. Omdat ik een elektronica-opleiding had gehad van het leger, kon ik een baan krijgen in de schietgalerij van Knott's in plaats van een grappig kostuum te dragen. De geweren gebruikten hoogspanningsflitsbuizen met focuslenzen en de doelen gebruikten fotocellen. De doeltellercircuits gebruikten germaniumtransistoren die waren opgezet als flip-flops. De transistors werden steeds moeilijker te vinden, dus iemand had geprobeerd ze te vervangen door silicium. Helaas kwamen ze erachter dat de snelle schakeltijden van de siliciumtransistoren ze veel gevoeliger maakten voor ruis. Dat betekende dat een enkele treffer op het doel door de tellers zou rimpelen en alle lampen tegelijk zou aansteken. De les hier is dat langzaam soms goed is.

Onlangs dacht ik aan die tijd en besloot ik te kijken of ik een eenvoudig schietspel voor mijn kleinkinderen kon ontwerpen. De game die hier wordt beschreven, plaatst twee spelers tegen elkaar om te zien wie als eerste vijf hits kan krijgen. Ik besloot ook om een goedkope rode laserdiode te gebruiken als het hart van het pistool. Je zou laserpointers kunnen gebruiken als je wilt, maar het circuit dat ik voor het pistool heb opgenomen, zorgt ervoor dat je een enkel schot krijgt in plaats van een constante straal.

Stap 1: Lichtsensormodules

Lichtsensormodules
Lichtsensormodules

In eerste instantie zou ik alleen fototransistors gebruiken voor de sensorcircuits, maar toen ontdekte ik de hierboven getoonde lichtsensormodules. Ik kocht een pakket van 10 voor bijna niets van een Chinese leverancier. De modules gebruiken wel een fototransistor, maar ze leiden de sensorspanning naar een LM393-comparator, zodat deze zowel een digitale als een analoge uitgang biedt. Een potentiometer aan boord kan worden aangepast om het tripniveau van de comparator in te stellen. Het bevat ook een power-on-LED en een LED die oplicht wanneer de comparator de digitale uitgang schakelt. Dat maakt het makkelijker om het juiste niveau aan te passen.

Stap 2: Doelhardware

Doelhardware
Doelhardware
Doelhardware
Doelhardware
Doelhardware
Doelhardware

Het grootste deel van de hardware bestaat uit 10 LED's en 10 weerstanden. Ik gebruikte standaard 5 mm heldere witte LED's voor indicatoren 1-4 en een langzaam knipperende LED voor de 5e indicator. De schakelaar is normaal open kortstondig contact en wordt gebruikt om het spel te resetten. De PIC-microcontroller is een standaardmicrocontroller die ik in andere projecten heb gebruikt. Zoals je op de foto's kunt zien, heb ik de LED-modules apart gebouwd om het gemakkelijker te maken om ze in een doel te lokaliseren.

Stap 3: Pistoolhardware

Pistoolhardware
Pistoolhardware
Pistoolhardware
Pistoolhardware
Pistoolhardware
Pistoolhardware
Pistoolhardware
Pistoolhardware

De basishardware en het schema voor het laserpistool zijn hierboven weergegeven. Ik bouwde de mijne in plastic speelgoed airsoft geweren. De loopbuis voor de pellets is bijna de perfecte maat voor de laserdiodemodules en ik kon een batterijhouder voor twee AAA-batterijen in de opening voor het magazijn plaatsen. Er zijn tal van goedkope laserdiodemodules die er zijn en in principe verschillen ze alleen in de waarde van de stroombegrenzende weerstand die aan boord is gemonteerd. Die weerstand bepaalt de nominale spanning van de lasermodule. Ik gebruik twee AAA-batterijen, dus ik heb lasers van 3 volt gekozen. De schakelaar is een enkelpolige microschakelaar met dubbele worp. De condensator wordt gebruikt om bij elke druk op de trekker een enkele lichtflits te forceren. In de ene stand van de schakelaar laadt de condensator op en in de andere stand ontlaadt hij zich via de laser.

Stap 4: Software

Zoals al mijn PIC-projecten is de software geschreven in assembler. Wat dit project een beetje ongebruikelijk maakt, is dat de Main-routine niets doet omdat alle actie plaatsvindt in de interrupt-handler. De PIC heeft een functie genaamd interrupt-on-change die, in oudere PIC's, interrupts genereert op elke positieve naar negatieve of negatieve naar positieve overgang op een I/O-pin. Met deze specifieke PIC kan de software de onderbrekingsbron instellen op de positieve rand, de negatieve rand of beide randen. De lichtsensormodule genereert beide randen bij een overgang, dus deze functie is best handig. In dit geval wacht de software totdat de sensoruitgang weer hoog (uit) schakelt voordat de interrupt wordt gegenereerd.

Wanneer een sensorinterrupt wordt ontvangen, schakelt de software die ingang tijdelijk uit en stelt een timer in. In feite werkt de timer als een debounce-circuit voor een schakelaar. Bij de 8-MHz klok die is geselecteerd voor de PIC en de setup voor de timer, is de totale time-out ongeveer 130 ms. Wanneer de timer is afgelopen, genereert deze ook een interrupt. Op dat moment wordt de sensoringang opnieuw ingeschakeld. Elke sensoringang heeft zijn eigen speciale timer, dus er is geen conflict tussen spelers.

Elke sensoronderbreking zal ook een van de LED's voor die speler oplichten. In plaats van een teller gebruikt de software een variabele die een bitset heeft. Dat bit wordt bij elke onderbreking naar links verschoven en wordt vervolgens in de uitgangspoort geplaatst om de volgende LED te verlichten. Wanneer de laatste LED brandt, schakelt de interrupt-handler verdere interrupts uit en wordt de andere speler effectief buitengesloten. De reset-schakelaar is aangesloten op de MCLR-ingang van de PIC en de configuratiebits zijn ingesteld om die functie mogelijk te maken. Wanneer reset wordt ingedrukt, zal de software opnieuw initialiseren en de LED's wissen.

Dat was het voor dit bericht. Bekijk mijn andere elektronicaprojecten op www.boomerrules.wordpress.com

Aanbevolen: