Met deze self-paced online cursus bouw je een eerste, eigen Retro Game speelkast. Je krijgt de basiscomponenten voor je eerste prototype, waarna je verder je eigen versie kunt ontwerpen.

Let op: Als student hoef je niet alles te lezen, maar deze dingen zijn wel belangrijk: In sessie 0 zie je hoe je eerst voor jezelf de titels bekijkt om een planning te maken. Daar maak je ook je eigen keuze wat je zelf wilt (en kunt) overslaan, en wanneer je klaar wilt zijn met de serie. Spring meteen naar sessie 0: https://junioriot.nl/cursus-retro-arcade-game/#s0

Cursusblad – Junior IOT Retro Game Arcade kast met de Arduino Nano

De voorbereiding is onderdeel van deze cursus: je volgt straks eerst de introductie electronica en Arduino Nano. Zo ontdek je de Arduino Nano en wat je hier zelf mee kunt bouwen. Voor de labs gebruik je daarbij de Arduino Bag of Fun van Junior IOT, welke voor deze cursus wordt aangevuld met een passende uitbreiding.

Inhoud: Deze aanvulset bestaat uit een model van de arcade kast, en een extra buzzer. Je ontdekt zelf wat je hiermee moet doen.

Nadat je op deze manier een stevige basis hebt opgebouwd, bouw je zelf de electronica en software voor een arcade spel. Voor de kast van de speelmachine ontvang je misschien zelfs een prototype om jouw eerste versie te bouwen. We dagen je uit om zelf een eigen ombouw voor je game station te engineeren.

De modules die jou ondersteunen bij deze cursus:

Samen technologie ontdekken met Junior IOT en ROCvF

Hoe werkt deze lessenserie? Een online Junior IOT cursus geeft je vakgerichte lessen en labs om zelfstandig of samen technologie te ontdekken. Een docent of coach helpt je de informatie en de spullen te vinden, en de vaktechnische informatie haal je zelf uit onze online beschrijvingen.

Een overzicht van de onderwerpen voor ROCvF bij Junior IOT: https://junioriot.nl/author/rocvf/

Voor de samenwerking met Junior IOT en ROCvF hebben we enkele afspraken gemaakt: https://junioriot.nl/rocvf-cursusmateriaal/

Doelen voor deze cursus

Als student bij de opleiding bij ROCvF wil je met deze cursus voortgang realiseren voor een aantal doelen of KD-aspecten:

(Wordt nog ingevuld in overleg met ROC)

Je eigen planning maken

Dit is een self-paced cursus. Dat betekent dat je zelf bepaalt hoe snel je hier doorheen loopt. De lessen en labs voor de Arduino worden ook op scholen gegeven als keuzevak met een studiebelasting van 200 uur per keuzedeel.

Een cursus bestaat uit ongeveer 20 sessies. De eerste 10 sessies zijn voor de Arduino Nano, en dan volgen nog 10 sessies voor jouw onderwerp. Op een traditionele opleiding doen we deze 20 sessies in ongeveer 5 à 6 maanden. Elke sessie kost een leerling dan meestal ongeveer 4 uur op school en 4 uur thuis.

Self-paced, dat betekent dat je sneller door de lessenserie mag gaan. Natuurlijk betekent dit dat je er per week dan meer tijd in steekt. Ik ben benieuwd wat jij kiest. Even serieus: je bent pas écht begonnen als je je eerste blink programma naar de Arduino hebt gestuurd.

Je hebt tijdens deze cursus hulp van je coach/docent. Die controleert voordat je begint of je planning voldoet aan de verwachtingen binnen jouw opleiding. Zorg ervoor dat je hierover regelmatig overlegt met je coach/docent.

Je eigen logboek bijhouden

Je spreekt met je coach/docent ook af hoe je jouw resultaten bijhoudt in je logboek. Het is belangrijk om te weten hoe vaak je in je logboek jouw vorderingen laat zien. Hierover heb je regelmatig contact om af te stemmen en bij te sturen.

Uitleg en uitdaging aangepast aan wat jij wilt!

Op je eigen snelheid maak je kennis met elk onderdeel waar je mee zult gaan werken. Bij de labs, de uitvoerende opdrachten, kan je alle spullen meer dan één keer gebruiken. Sommige opdrachten helpen je met een duidelijke uitleg, en andere opdrachten geven wat meer uitdaging. Jouw opleiding heeft al een serie opdrachten voor je klaargezet in de keuzes geel, oranje en paars.

We vertellen meer over deze kleuren op: https://junioriot.nl/rocvf-cursusmateriaal/#uitdaging

Jouw rol als deelnemer – hoe doe je dit?

Als deelnemer maak je jouw eigen planning. Je zorgt ervoor dat je op tijd de volgende oefeningen en labs uitvoert.

Deze pagina van Junior IOT geeft je een lijst van oefeningen en labs, en welke volgorde daarbij handig is. Elke link naar zo’n lab opent in een nieuwe tab in je browser. Als je klaar bent met zo’n lab sluit je dat tabblad om terug te keren naar deze lijst.

Bij veel labs zie je links naar extra informatie. Ook zie je aan het eind vaak een verwijzing naar andere labs en oefeningen. Als je wilt, mag je daar mee verder, let dan wel op dat je niet verdwaalt op de site. Je kunt altijd terug naar deze ‘hoofdlijst’ om te controleren of je de juiste labs aanklikt. Daarom helpt het dat je de sessienummers in je agenda zet.

De rol van jouw docent/coach

Jouw docent of coach helpt je de spullen te vinden. Hij of zij weet uit ervaring hoe jij als leerling comfortabel door de vaktechnische informatie in deze cursus kunt navigeren. Jouw studiekeuze en je gekozen kleur/niveau bepaalt welke ondersteuning je nodig hebt van jouw docent/coach.

Jouw docent/coach helpt je ook om zelf je voortgang in de gaten te houden. En hij/zij speelt een belangrijke rol in de beoordeling.

Bij het eindproject kan de docent/coach de rol van opdrachtgever op zich nemen. De opdrachtgever heeft een wisselend humeur. Koffie, koekjes en tijdige en beknopte informatie over het project helpen om te sturen op een goed humeur. Als je de opdrachtgever laat of onvolledig informeert, dan kan je ook vervelende verrassingen verwachten. De docent/coach zal op gezette tijden met de opdrachtgever overleggen en zal in redelijkheid bijsturen.

Game Sessie 0. De cursus verkennen en je eigen planning opstellen

Je maakt eerst een eigen planning. Dit is heel eenvoudig.

Deze lessenserie bestaat uit meerdere labs/activiteiten en een aantal aparte informatie momenten. In de beschrijving zijn alle activiteiten gesorteerd en gebundeld in een aantal sessies. Je kiest zelf hoeveel van deze sessies je per week wilt voltooien. De volgorde van de lessen en de labs is zo gekozen dat je iedere keer iets nieuws tegenkomt, je zorgt zelf dat je, wat je niet begrijpt, nog een keer herhaalt.

De meeste onderdelen in de onderdelen set zal je meer dan één keer gebruiken: eerst volgens een stap-voor-stap toelichting, en dan vaak nog een keer om een eigen variatie te maken. In deze eerste sessie verken je in het kort welke onderdelen je hebt.

Ondersteuning en andere trainingen bekijken om deze mee te nemen in de planning

Bij het maken van je planning lees je ook de titels van de sessies en opdrachten van alle ondersteuning trainingen. Vergeet niet om deze sessies mee te nemen in de planning.

Planning maken

Voordat je begint met de eerste sessie van de cursus is het belangrijk om jouw eigen planning te maken.

  • Lees de titels van de verschillende sessies van de cursus, en ook van de bijbehorende ondersteuning en trainingen. Vorm een beeld van de inhoud van de cursus.
  • Bepaal hoeveel weken je hier over wilt doen.
  • Bepaal hoeveel sessies je per week wilt inplannen.
  • Maak voor elke week in je agenda een afspraak met jezelf, zet erbij welke sessies je in die week wilt doen.
  • Vraag goedkeuring aan jouw coach/docent voor jouw planning.

Je kent jezelf: reserveer iedere week ook extra tijd om gemiste sessies van de vorige week in te halen.

Game Design én Design?

Duco van ‘Studio Maakt’ stuurt ons de twee films met het super-coole resultaat van zijn werk.

A walk around of the Arduino Nano based arcade game. The encasement was designed by Francien from Fablab Alkmaar made of lasercut 3mm. plywood. The case was decorated by Fenna and the electronics assembled by me. The Snake game library is installed here and also the 8×8 matrix library. A red acrylic panel in front of the LED matrix was added by me to improve the contrast and the esthetics. Thanx to Marco from Junior IOT, who donated the electronics.”

 

 

Eerst: Nano sessie 1 t/m 10 van de introductietraining Arduino Nano

Als voorbereiding volg je eerst sessies 1 t/m 10 van de introductiecursus voor electronica en de Arduino Nano. Het is daarbij belangrijk om extra te letten op programmeerstructuren. Besteed vooral aandacht aan de labs waarbij meer uitdaging is voor het programmeren.

Je kunt daarnaast ook deze sessies nog bekijken:

Game Sessie 1. Hoe doe je productontwerp. Onderzoek en verkenning van het matrix display.

Natuurlijk heb je alle labs af van de introductie in Arduino, anders maak je de ontbrekende labs eerst voordat je aan deze sessie begint. In de komende sessies werk je telkens aan twee delen van je project.

  • Productontwerp.
  • Labs om de belangrijkste onderdelen nog beter te leren kennen.

Productontwerp, hoe ging dat ook alweer: https://junioriot.nl/electronica-arduino-cursus/#s10

Extra: We doen alsof je nu zelf een robot gaat ontwerpen. Voor je ontwerp noteer je nu de volgende onderdelen:

  • Een beknopte titel en pitch, bijvoorbeeld “een Snake spel”.
  • Functioneel ontwerp, wat moet het doen. Bijvoorbeeld “De speler stuurt met een joystick een slang over het scherm. De slang wordt telkens iets langer. De slang mag niet tegen zichzelf botsen. Na drie levens is de speler af.”

In deze sessie controleer je nog een keer extra of je deze labs goed beheerst. Doe de labs:

Extra uitdaging: Bekijk daarna de dappere avonturen van je voorgangers. Dit zijn verslagen van projecten die nog niet helemaal af waren. Als je tijd hebt, dan kan je deze labs proberen na te spelen.

Bedenk bij elk avontuur welke vaardigheden jij nog nodig hebt om verder te komen dan je voorgangers.

Game Sessie 2. Pixels die doen wat jij wilt

Productontwerp, hoe ging dat ook alweer: https://junioriot.nl/electronica-arduino-cursus/#s10
Voor je ontwerp noteer je nu de volgende onderdelen:

  • Technisch ontwerp, welke techniek componenten heb je nodig.
  • Planning welke expertise en vaardigheden je nodig hebt.

Je gaat aan de slag met de afzonderlijke onderdelen, als een soort bewijs dat het werkt. Daarvoor eerst de matrix, waarbij je elke pixel vertelt wat die voor jou moet doen.

In het lab van de led matrix van Ties zie je dat de afbeelding ‘hardcoded’ is. Daarmee blijft de code in dat voorbeeld lekker beknopt, maar voor ons speelveld is het handiger om een array te gebruiken. Herken je deze opmerking in de code?

De code in het voorbeeld van Maarten geeft aan hoe je een speelveld kunt opbouwen met variabelen in het geheugen.

  • Lab, met variabelen zelf een pixel ‘in een rondje’ over het scherm laten bewegen. De pixel stapt over het scherm in 12 stappen volgens de wijzers van de klok. Voeg hier dan ook een secondewijzer aan toe: (nog te beschrijven)

Game Sessie 3. Spel ontwerpen en beschrijven

Je hebt nu zelf een aantal oefeningen uitgevoerd. Nu kun je zelf een spel bouwen, want je kunt nu best goed toveren met de matrix. Dit betekent dat je een eigen ontwerp kunt maken, waarbij je niet het gehele spel hoeft te ‘googelen’.

  • Bedenk welk spel je wilt maken. Deze stap doe je echt zonder te programmeren. Gebruik vooral schetsen op papier.
  • Welke losse (software) onderdelen herken je in je spel ontwerp? Denk eens aan:
    • Score of puntentelling.
    • Speelveld.
    • Action figure.
    • Interactie van de gebruiker (joystick).
  • Voor elk van deze spel onderdelen telt dat je deze acties wilt: in memory houden, aanpassen, afbeelden.
  • De spel onderdelen hebben ook een interactie met elkaar, bijvoorbeeld: de joystick beweegt het mannetje op het scherm, of het mannetje loopt tegen de bal aan. Welke interacties horen bij het spel?

Welke hardware wil je gebruiken in je spel? Misschien je joystick, buttons, led matrix, flippers van de servo, je NeoPixel ledstrip?

Game Sessie 4. Proof-of-concept per spel onderdeel

Je hebt nu duidelijk wat jouw wens betekent voor de techniek van je machine. Per onderdeel controleer je nu of je erin gelooft dat je alles echt kunt gaan bouwen:

  • Welke onderdelen van je product of ontwerp zijn eigenlijk lastiger dan je dacht?

Werk verder aan je product:

  •  Je probeert nu, aan het begin van je ontwikkeltraject, eerst de meest onzekere dingen te behandelen. Zo kan je nu nog handige keuzes maken.
  • Voor elk los (software) onderdeel in je machine ontwerp maak je een proof-of-concept: Je laat hiermee zien dat de software zou kunnen werken. De verschillende onderdelen hoeven nog niet samen in één programma te zitten.
  • Voor elk hardware onderdeel maak je een proof-of-concept: Hiermee laat je zien dat de samenwerking tussen je hardware onderdeel en de Arduino werkt.

Game Sessie 5. Kan het eenvoudiger?

Nu weet je voor welke onderdelen het je ook écht lukt om ze te gebruiken, en welke niet goed lukken. Beschrijf als deel van jouw ontwerp de volgende onderdelen:

  • Integratie, hoe breng je het samen.
  • Re-design, wat laten we weg.

Ga aan de slag met jouw project:

Het realiseren van de losse proof-of-concept onderdelen duurt vaak langer dan je verwacht. Het bouwen van nieuwe dingen levert bovendien vaak onverwachte problemen op.

Bedenk hoe je verder gaat. Welke delen werken wel, en welke zijn wat lastiger? Kan je externe deskundigheid vinden om je te helpen bij de uitdagingen? Kan je het ontwerp aanpassen om de lastige dingen weg te laten, en vind je opdrachtgever dat goed?

In deze sessie voltooi je de proof-of-concept voor elk van de software- en hardware onderdelen.

Game Sessie 6. Alle electronica samen

Productontwerp, schrijf de volgende onderdelen:

  • Detail design, welke onderdelen sluit je waarop aan? Welke softwareonderdelen moet je maken en waarop reageren ze?

Extra uitdaging, maak een begroting.

  • Productie, wat hebben we nodig om te maken. Bestellijst, kostenberekening.

Ga aan de slag met jouw project:

  • Bouw alle hardwarecomponenten samen tot één systeem.
  • Combineer je softwareonderdelen tot één systeem.

Je ontdekt nu hardware- en software uitdagingen. Niet alles past in één keer bij elkaar. Als je veel problemen tegenkomt, maak dan een overzicht en kies samen met je opdrachtgever welke problemen belangrijk zijn, en welke problemen niet hinderlijk zijn voor de hoofdfunctie van het spel.

Game Sessie 6a (extra): maaktechnieken

Je product is nu zover dat je echt weet welke electronica onderdelen erin komen. Wellicht wil je een mooiere behuizing ontwerpen. Wat is er eigenlijk mogelijk? Laat je inspireren:

Game Sessie 7. Alle software samen. Maak een inbouwkast?

Het concept voor de hardware is nu redelijk compleet. De spelsoftware begint ook ergens op te lijken.

  • Werk verder aan de software van je spel.

Maken jullie een eigen behuizing?

  • Bespreek wat voor soort behuizing past bij jouw spel. Denk daarbij ook welke maak-machines jullie hebben staan, en welke machine je eventueel nog kunt aanvragen. Kies voor een haalbare uitdaging.
  • Bouw ondertussen een concept voor de behuizing.

Game Sessie 8. Bouw en afbouw

Het einde is in zicht. Alle noodzakelijke onderdelen zijn in concept compleet en werken goed samen. Staan er nog dingen op de wensenlijst, dan is dit een goed moment om ze voorzichtig toe te voegen.

Oeps, is er toch nog overleg nodig met de opdrachtgever?

Game Sessie 9. Afronden en genieten van je resultaat.

Bedenk nu ook wat je nodig hebt om je resultaten te presenteren. Zijn er dingen die nog niet werken, maak deze dan nu af. Vaak zal je nog last-minute veranderingen willen verwerken: Let op dat je geen aanpassingen introduceert die risicovol zijn voor je resultaat. Zijn er andere teams die hulp nodig hebben – als je tijd kunt vrijmaken dan is het super sportief om ze even te helpen.

Je opdrachtgever is onverwacht een weekje op vakantie. Lekker handig, zo pas voor de oplevering. Gelukkig had je jouw zaakjes goed op orde en zal de oplevering geen verassingen geven voor de opdrachtgever.

Game Sessie 10. Presentatie.

De opdrachtgever is benieuwd wat je gaat presenteren, je stuurt een kort overzicht van het resultaat. Opdrachtgever is dan wel of niet verrast en kan feedback geven als je toch met onverwachte verrassingen komt – misschien is zelfs een aanpassing nodig omdat je iets hebt gemaakt zonder overleg met de opdrachtgever!

Vaak zal je zelf nog last-minute veranderingen willen verwerken. Let op dat je geen aanpassingen introduceert die risicovol zijn voor je resultaat.

  • Laatste poets acties.
  • Presentatie en verantwoording.

Ik ben benieuwd wat jullie hebben gemaakt!

Quinten heeft een eenvoudige versie van Snake laten zien: