Lasergame Timebomb

Waarschuwing South_Africa_-_General_Warning_sign_(temporary).svg Lees dit eerst
Op deze pagina wordt een ‘tijdbomspel’ besproken. Deze kan lijken op een echte, maar is dus ‘inert’. Dat wil zeggen dat er geen enkele explosieve lading wordt gebruikt. Voor een ongetrainde of de ‘gewone mens’ kan een onbedoelde, plotselinge confrontatie met een dergelijk object erg schokkend zijn. Mocht je uit deze pagina inspiratie halen of er zelf een gaan maken, houd dan bovenstaande in gedachten. Zorg er voor dat iedereen in de omgeving, of mogelijke omstanders vooraf weten dat het een spel is. Vanzelfsprekend zijn luchthavens, stations, bussen, boten, trams, treinen, scholen, bibliotheken, overheidsgebouwen, drukke gebieden en een tal van andere plaatsen NIET geschikt om een dergelijk object bij je te dragen. Gebruik je verstand.

Ga direct naar:
-Pagina 1 (Daar ben je nu)
-Pagina 2 (Vervolg updates)
-Pagina 3 (Onderdelenlijst)
-Pagina 4 (Bestanden)

Voor een opdrachtgever heb ik een leuke opdracht binnengekregen: Een Lasergame Grade ‘timebomb’.

Opdrachtgever: gajemee.nl (http://www.gajemee.nl)
Opdracht: Ontwerpen en maken van een lasergame-vriendelijk tijdbomspel
Start opdracht: Woensdag 4 december 2013
Verwacht oplevering: Woensdag 2 januari 2014 – Opgeleverd 07-01-2014 

Gebruikte technologie: AVR (Atmel), GSM (Cellular), RFID (Mifare 13,56MHz), Basis elektronica, SPI, L2C (TWI)

TimebombModel

 

 

Update 04-12-2013: Alle benodigde onderdelen zijn besteld
Update 05-12-2013: De meeste onderdelen zijn binnengekomen. Er moeten nog een aantal zaken binnenkomen en dan kan ik beginnen aan het printplaatontwerp

Update 05-12-2013: Problemen met de .WAV module, wil geen SD kaarten lezen. Vermoedelijk ligt het aan te lange kabels die storing veroorzaken op de SD/SPI-bus. Dit wordt uitgeplozen.
1386297352973De gewraakte module -_-

Ook goed nieuws. De timers, althans 2 er van werken goed en naar behoren. De belangrijkste code is daarvoor al geschreven en werkt fantastisch. De andere 2 zijn in nalevering en worden volgende week geleverd.
20131206_0248022 stuks 7-segments LED timers via een z.g.n. shift-out bus aangesloten


Filmpje met 2 los van elkaar lopende timers in een testopstelling

Update 06-12-2013:
Elektronica: I2C link gemaakt tussen de eerste microcontrollers (Atmel 328’s). Ook is de software voor de opdrachten-LED’s geschreven. De opdrachten-LED’s zijn een 4 tal LED-paren per timer. In totaal dus 16 paren. De LEDs geven aan welke opdrachten de spelers hebben vervuld en welke ze nog moeten vervullen. Bij elke opdracht die is uitgevoerd, gaan een 2 LEDs groen kleuren. Als alle LEDs groen kleuren stopt de desbetreffende klok en wint dat team de ronde.
De LEDs kunnen ook andere dingen weergeven, zoals welke timer is geselecteerd (tijdens instellingenmenu), Lichteffecten bij ontmantelen of ‘ontploffen’. (Het zijn zeer felle LEDs. Op de foto en in het filmpje branden ze met een duty cycle van ongeveer 8%. 100% doet pijn aan de ogen.). Het zaakje werkt in ieder geval en de I2C connectie werkt ook prima.  Ik kan niet wachten totdat het allemaal op een sjieke print is bevestigd.

De kist: Ook de kist is ondertussen binnen. Het is een legerkist waarin RPG-raketten hebben gezeten ofzo, want de houders zaten er nog in. (Zie foto’s stukje verder beneden). Het is een prima stevige kist die hier en daar wel wat verfschade heeft, maar perfect is voor dit doel. Aan de binnenkant heb ik rondom een soort richel gemaakt waar de lexaanplaat op rusten zal. Op de lexaanplaat worden alle elektronica enzo gemonteerd. Alles aan de onderkant. Voor de versteviging gebruik ik ook een multiplex houten plaat die als frame onder de lexaanplaat zal rusten.De  multiplex inlegplaat en de lexaanplaat zijn al op maat gezaagd en passen prima.

De foto’s van de kist en het werk er aan tot nu toe:
20131206_161628
20131206_161555
20131206_174417
20131206_200337
20131206_200331
20131207_061910
Op de laatste foto is goed te zien dat de toplaag uit een lexaanplaat en multiplex als versteviging bestaat.

Tot zover deze update

Update 08-12-2013
-.WAV module werkend gekregen. Er waren 2 aanslutingen voor de GND, maar slechts een daarvan was daadwerkelijk doorgelust naar de elektronica op het bordje. De GND waar ik natuurlijk een draadje aan vast maakte was er een zonder doel… emo sja. Het is in ieder geval opgelost en het werkt prima nu. Geluidskwaliteit is ook prima in orde. Verwacht geen HiFi, maar slecht is het zeker niet. Bij de volgende update komt er een filmpje van online.

-Eerste beginnen gemaakt aan PCB ontwerp; de tekening. Het is nog allemaal heel basaal en er moet nog van alles bij, maar het eerste schema voor het hoofdbord is klaar. Er zijn 5 Atmel 328P microcontrollers verbonden met een I2C (TWI) bus. Aan deze microcontrollers worden verschillende taken toebedeelt. De een krijgt de LCD aansturing voor zijn kiezen, de andere het geluid, eentje voor de timers en de verlichting en dan blijft er nog een over voor GSM en RFID. Nog eentje extra voor als ik toch meer rekenpower nodig blijk te hebben. (Klik op de afbeelding voor een grotere weergave)
TimeBombGame_schema

Tot voor zover de update.

 

Update 09-12-2013
Schakelaars zijn binnengekomen.
Ze zien er degelijk uit en vooral die keyswitch heeft een lekkere ‘klik’ die ik niet had verwacht.
20131209_182637

Er zijn nu 4 microcontrollers verbonden met elkaar in een testopstelling. Wat kleine probleempjes moeten ondervangen, maar deze lijken opgelost. Helaas moet ik nu nog wachten op diverse naleveringen, voordat ik hiermee echt concreet verder kan gaan.
1386610138477
Ik heb een echte RTC klokmodule gebruikt om de timers te sturen. Een RTC klokmodule is net als een horloge zonder wijzerplaat en wijzerloopwerkje, dus alleen de elektronica.
Zo zijn de timers kloppend en zijn er geen noemenswaardige afwijkingen in het aftellen. Een uur zal ook een uur duren.

Update 10-12-2013
De printplaat is ontworpen en wordt gemaakt. Ik verwacht deze rond 26 december te ontvangen. 

TimeBombGame3_3_pcb
SilkMaskTimebomb

 

Update 11-12-2013
Oplichtende biologische/chemische slurrie

20131211_174135

Zie het volgende filmpje om te snappen wat hier gebeurt:

Deze fles met ‘chemische/biologische slurrie’ (haargel) zal rustig aan en uit faden bij het aftellen van de bom en naarmate de tijd op de klok dichter bij de nul komt, sneller gaan faden. Bij onploffen flitsen de LED’s of blijven aanstaan, moet nog even kijken welk effect mooier oogt als de boel in de kist is ingebouwd 🙂

Conceptlayout:
20131211_191857

 

Laatste hand aan het schema gelegd. Het is een flinke pil, bereid je maar voor:
TimeBombGame3_schema

 

Update 12-12-2013
Kleine tegenvaller gehad in de test met het LCD scherm. Na wat berekeningen ben ik er achter gekomen dat een van de gebruikte microcontrollers te weinig werkgeheugen (RAM) heeft om een grafisch LCD te bufferen en daarbij ook nog gegevens via I2C te versturen en te ontvangen en daarnaast ook nog de core draaien van het tijdbomspel. De rekensom is opzich goed te doen: De gebruikte microcontroller heeft 2 kiloByte geheugen, dat zijn 2048 bits. Het display heeft een resolutie van 128X64X1. Die laatste 1 staat voor de kleurdiepte. Aangezien er alleen ‘zwart’ kan worden weergegeven, is dat dus ‘1’. Totaal kom je uit op 1024 bit. Dat is al precies de helft van het beschikbare geheugen om het display te bufferen. Daarbij komt nog zo’n 128 byte aan te bufferen arrays (variabelen die uit meerdere delen bestaan). 64 om te zenden, 64 om te ontvangen. En dan nog het lettertype dat gebruikt wordt in het menu, die moet eerst gebufferd worden (er wordt nogal wat gebufferd hier): Ongeveer 400 Byte voor a-zA-Z1-0+-,.-_”‘)(%!?  . Wat houden we dan nog over. Iets minder dan 500 Byte. Dat zijn 500 tekens tekst, gegevens en data die gebruikt moeten worden voor het hele spel:

Om je een idee te geven, in bovenstaande tekst staan 1093 tekens (inclusief spaties). Elk teken gebruikt 1 byte precies. 🙂 In bovenstaande tekst staat dus al 2 keer te veel dan ik nog kwijt zou kunnen in die ene microcontroller. Weet je ook gelijk waarom die tekst blauw is. Dat was alles wat ik nog kwijt zou kunnen emo

Ik heb een nieuwe besteld, welke ik overmorgen binnen verwacht, met 8KB geheugen. Een microcontroller van 5 bij 2 centimeter.
Deze zal voldoen aan de verwachtingen en zo hoef ik tijdens het programmeren niet steeds afkrtngn te gebruiken in de tekst die op het display komt te staan!TeensyNAND

 

Update 14-12-2013
Een volgende lading onderdelen binnengekomen:
20131214_142605
GSM module met Antenne, een keypad, RFID module, LCD scherm, de microcontroller met 8KB geheugen (Zie vorige update) en wat flatcable.
Straks alles even testen.

Update 14-12-2013

Het LCD scherm en de nieuwe microcontroller werken prima samen! Er is genoeg RAM geheugen en de problemen van een update eerder lijken volledig te zijn verholpen, wat goed nieuws is.
Hieronder wat foto’s van de opstelling en het LCD. Er lijkt een soort menu te worden weergegeven.

20131214_192407

20131214_192252

 

Dit is gewoon een indeling zonder functie (Zie het maar als een simpel plaatje eigenlijk), om de indeling van het schermpje te bepalen en het ziet er leuk uit voor de foto, voor de rest is er nog geen enkele interactie mogelijk d.m.v. knoppen of modules. Het echte programmeerwerk moet nog beginnen 😉

Kleine update tussendoor: Het basismenu en de structuur is min of meer al geprogrammeerd. Alleen de invullingen van de menuonderdelen moeten er nog bij komen, maar het meeste daarvan kan pas als alles netjes op een print zit. Zie filmpje van de menustructuur. Ik heb slechts 2 van de 4 knoppen nog maar aangesloten voor deze test.

Update 16-12-2013

Gister nog een stukje gewerkt aan het menu, eerder de invulling daarvan. De I2C interface werkt gelukkig ook prima met de nieuwe LCD microcontroller en de datasnelheid is iets van 9,1/9,2 kBps (= ~73kb/s). Lijkt niet snel, maar voor 5 microcontrollers die met elkaar praten is het zat. Het is alleen lastig werken met alles zo los op een breadboard, dus het is een beetje wachten op die printplaat nu eigenlijk.

Vanmiddag ga ik een stukje werken aan die kist. De inlegplaat kan nu in principe al bewerkt worden. De maten zijn grootendeels al afgetekend, moet alleen nog een geschikt decoupeerzaagbladje halen voor de lexaanplaat.20131216_093422
Zoals je ziet, een warboel met kabels.. En dit is nog maar een klein stukje van wat er allemaal aangesloten gaat worden uiteindelijk :’) Dat blokje hout is om die kleine knopjes een beetje bij elkaar te houden, ze vallen steeds of glijden uit mn handen bij het indrukken, dus dat blokje hout heeft dat tijdelijk zo even opgelost 🙂
Update 16-12-2013

De inlegplaat is voor ongeveer 50% af. Dat is goed nieuws, omdat de boel nu ergens op begint te gaan lijken, zie het resultaat tot nu toe:
20131216_142843
Eerste schroefgaten geboord (3), zodat de lijmklemmen er af kunnen

20131216_150855
De rest van de schroefgaten geboord, schroeven en moeren bevestigd; paste allemaal perfect.

20131216_150944
Onderkant van het paneel. Het venster voor de printplaat en de ‘Biochemische payload’ is ook al op maat (moet nog even geschuurd worden).

20131216_150912
Kleine close-up

20131216_160431
Speakergat gezaagd, speaker geplaatst.

20131216_160511
Zelfde speaker, achterkant. Mijn decoupeerzaagskills zijn niet de beste, maar hij pastte prima, en de rubberen seal van deze speaker dichtte alle randen netjes af; binnen de marges dus 🙂 . Klein detail: De speaker is een waterdichte jachtspeaker van Visaton. Gewoon simpele dingen, behalve dus het feit dat ze waterdicht zijn, wat belangrijk is voor dit project.

20131216_160906
Resultaat kist tot nu toe. Die verfvlekken van die kist, maken het of juist charmant of spuuglelijk… Ben er over aan het twisten. Iets voor de opdrachtgever om te schilderen of juist niet. (om het authentiek te laten)

De witte laag over de plaat is de beschermlaag van de lexaanplaat, die blijft er nog op zitten tot ik klaar ben met alle verspanende bewerkingen. Het kriebelt wel steeds om hem er af te trekken 😛
Tot zo ver de update.

^ Naar Boven || Volgende – (Pagina 2 – Vervolg updates) >