Week 23 · Flipperlab C: score-sensoren

Een flipperkast zonder punten is gewoon een knikkerbaan. Deze week leert de kast de bal op te merken. Iedereen bouwt en vergelijkt drie detectieprincipes — een microswitch met veerdraad, een IR-poortje en contactplaatjes van aluminiumfolie — en kiest er beargumenteerd één (of meer) voor het eigen speelveld. In de software verschijnt de score-variabele, en we lossen meteen het beruchtste probleem van elke zelfbouwkast op: waarom telt hij soms dubbel?

LPD 17 · 20 · 12 module C: 40 XP · logboek: 10 XP

Lesdoelen

Lesverloop (5 lesuren)

BlokDuurFaseWat gebeurt er
115 minInstapDemo: de leerkracht rolt een bal over een microswitch met een simpele teller zonder ontdendering — het scherm toont 3 punten voor 1 passage. Vraag aan de klas: hoe kan dat? (Het antwoord bewaren we voor blok 4.)
135 minInstructieDe drie principes op het bord, telkens met de vraag "wat sluit hier het contact / onderbreekt hier het licht?": microswitch (bal duwt een hendel of veerdraad in), IR-poortje (bal onderbreekt een onzichtbare lichtstraal), contactplaatjes (stalen kogel overbrugt twee folie-strips en is zélf de schakelaar). Aansluiten gebeurt telkens zoals de drukknop van week 11.
250 minZelfstandigSensor 1 bouwen: microswitch met veerdraad op het testplankje, poortje waar de bal doorheen rolt. Aansluiten op pin 7 en testen met het leesblok in de seriële monitor: zie je 0 → 1 → 0 bij elke passage?
350 minZelfstandigSensor 2 en 3 bouwen: het IR-poortje (zender en ontvanger recht tegenover elkaar, uitlijnen!) op pin 6 en de folie-plaatjes (twee strips met 2 mm tussenruimte, koperplakband naar de pinnen) op pin 5. Elke sensor apart testen via de monitor.
450 minZelfstandigDe scoreteller programmeren: variabele score, +10 per trigger, tonen via de seriële monitor. Eerst zónder ontdendering (zie het probleem van de instap zelf!), dan mét: een wachttijd van 0,3 s na elke trigger. Test: telt hij nu exact 1× per passage?
535 minOnderzoekDe vergelijkingstest: per sensor 10 balpassages, noteer het aantal correct getelde. Vergelijkingstabel invullen (betrouwbaarheid, prijs, moeilijkheid) en de keuzevraag beantwoorden: welk principe komt waar op jóuw speelveld?
515 minAfsluitingLogboek: vergelijkingstabel + keuze met argument + "wat is ontdenderen in één zin?". Plankje labelen en bij de modules van week 21-22 leggen. XP-moment.

Instructie: drie manieren om een bal te zien

1 · De vergelijking

Geen enkel principe is "het beste" — ze zijn goed in iets anders. Dit is de tabel die je zelf gaat invullen met je eigen metingen:

MicroswitchIR-poortjeFoliecontact
Werkt metelke balelke balalleen stalen kogel
Prijs±€ 1±€ 2,50bijna gratis
Moeilijkheidgemiddelduitlijnen!makkelijk
Betrouwbaar?… /10… /10… /10
Remt de bal?een beetjeneenee

De rij "betrouwbaar?" vul je in met je test van 10 passages. Typische uitkomst: de microswitch wint op betrouwbaarheid, het IR-poortje op balsnelheid, de folie op prijs — maar alleen mét stalen kogel (week 22!).

2 · Score tellen + ontdenderen

Het hart van je kast-software. De laatste regel — wacht 0,3 seconden — is de ontdendering: zolang die wacht loopt, kan dezelfde balpassage niet nóg eens tellen.

Scoreteller met ontdendering (sensor op pin 7)
wanneer Arduino Uno opstart
zet score op 0
herhaal voortdurend
wacht tot lees digitale pin 7 = 1
verander score met 10
schrijf score naar seriële monitor
wacht 0.3 seconden

Let op de plaats van "zet score op 0": één keer, vóór de lus. In de lus zou hij je score elke ronde wissen — dé klassieker uit het Blokkenboek (puzzel 3 en denkvraag 4).

Waarom telt hij dubbel? (Het antwoord op de instap) Twee oorzaken. Eén: de metalen contacten in een schakelaar trillen bij het sluiten een paar milliseconden na — de Arduino is zó snel dat hij elke tril als een nieuwe druk ziet. Dat heet dender (Engels: bounce). Twee: een trage bal houdt de sensor lang genoeg ingedrukt om de lus meerdere keren te doorlopen. Beide los je op met dezelfde truc: na één telling een korte blokkeertijd (0,2 à 0,5 s) waarin triggers genegeerd worden. Te kort = dubbeltellen blijft; te lang = een snelle tweede bal telt niet. 0,3 s is een prima startwaarde — ontdenderen dus.

Opdrachten

Kernopdracht (iedereen)

  1. Bouw de microswitch met veerdraad (pin 7) en test via de monitor.
  2. Bouw het IR-poortje (pin 6) en lijn zender en ontvanger uit.
  3. Bouw de folie-contactplaatjes (pin 5, stalen kogel).
  4. Programmeer de scoreteller: +10 per trigger, score op de monitor.
  5. Voeg de ontdendering toe (wacht 0,3 s) en toon het verschil.
  6. Test elke sensor met 10 passages en vul de vergelijkingstabel in.
  7. Kies je sensor(en) voor jouw speelveld — met argument in het logboek.

Basis-pad

Eén sensor volledig in orde is genoeg: de microswitch met veerdraad, mét werkende scoreteller en ontdendering. Het IR-poortje en de folie mogen bij een klasgenoot bekeken en in de tabel ingevuld worden op basis van diens test. Zelfde keuzevraag in het logboek.

Uitbreidingen

  • Puntenzones: twee sensoren met verschillende waarden — de bumper geeft +50, de doorgang +10 (als-blokken per pin).
  • Blokkeertijd-onderzoek: test 0,1 / 0,3 / 0,8 s ontdendering met snelle ballen — welke waarde mist er geen en telt er geen dubbel?
  • Combo-teller: raak twee sensoren binnen 2 seconden en verdien bonuspunten (variabele + vergelijking).

Materiaal deze week

Leerkracht-hoek
Side quests die hier mooi bij passen Debug-Detective (leerkracht saboteert een sensoropstelling: ontdendering weggehaald of pull-down los) · Verslaggever (de sensorvergelijking als testrapport) · Print-Dokter (houdertje voor het IR-poortje geprint en passend gekregen).
Week 22 · Flipperlab B: de launcher Week 24 · Flipperlab D: show & scorebord