Stap 4: Firmware
Nadat u klaar bent met het bouwen van het wapen, zijn tijd om te branden van de firmware, die u van de lijst met bestanden van dit Instructable downloaden kunt. U kunt de bestanden openen in AVR Studio of gewoon in Kladblok en kopieer-plak ze in de Arduino IDE (de code is Arduino compatibel). Ik zal de code in diepte niet uitleggen, maar je moet het echt gemakkelijk te begrijpen. Alle acties (oplichten LED, enzovoort) zijn vooraf gedefinieerd met macro's, zodat u niet hoeft te knoeien met beetje logica (zoals PORTD | = 1 << PORTD5).
Omdat de code zeer eenvoudig aan te passen is, kunt u uw eigen spelmodi. Hier zijn slechts een paar suggesties:
- Team battle - heb je twee teams van spelers, en het doel is om te doden van alle tegenstanders. Na dat, het spel beheerder gebruikt zijn pistool om te verzenden helende schoten te doen herleven van alle dode spelers en nieuwe ronde kan beginnen!
- Vangt het punt - in het midden van het slagveld is een aftappunt, een vereenvoudigde versie van een laser game pistool, die alleen gegevens kan worden ontvangen. Wanneer een speler het aftappunt raakt, begint het tellen van de tijd. Wanneer een speler van het andere team het punt raakt, begint het tellen van de tijd voor het andere team. Op hetzelfde moment brand spelers bij elkaar. Wanneer een speler wordt geraakt, moet hij wacht 5 minuten, dan hij automatisch nieuw leven wordt ingeblazen. Het team, die langere tijd het punt gedurende, wint. Natuurlijk ik aanbevelen dat u een soort van duidelijk zichtbare ontvangstdatum voor de spelers om te vertellen welk team is momenteel bezetten het punt (LED strips zijn zeer geschikt voor dat).
- Dood de match - er zijn geen teams, en het doel is te raken zo veel andere spelers mogelijk. Wanneer u geraakt, moet u wacht 30 seconden om het nieuw leven worden ingeblazen. Elke speler heeft zijn unieke binaire ID, en je pistool registreert hoe vaak en welke speler je raken. Aan het eind van het spel, deze logboeken worden vergeleken en de winnaar wordt berekend (ik adviseer dat u deze logboeken opslaan in EEPROM, die u vervolgens gemakkelijk met een Arduino lezen kunt)
- Er zijn talloze andere mogelijkheden, het hangt gewoon uw verbeelding...