Een timer-reactiespel gebouwd met een Raspberry Pi, een drukknop en een pull-up weerstand. Stop de timer zo dicht mogelijk bij de doeltijd — 10 pogingen, een scoreboard en eeuwige roem.
Dit is een klein project gemaakt voor het vak programmeerwetenschappen. De opdracht was om een eigen twist te geven aan een spelletje waarbij je een timer zo dicht mogelijk bij 10 seconden moet pauzeren.
In deze versie krijg je telkens een ander doelgetal. Je speelt 10 rondes en elke ronde krijg je een score van 1 tot 99, afhankelijk van hoe dicht je bij de doeltijd zat. Na alle rondes geef je je naam in en verschijn je op het scoreboard.
Scores worden opgeslagen in een JSON-bestand zodat ze bewaard blijven na het afsluiten van het programma. Bij een dubbele naam wordt automatisch de hoogste score bewaard.
Stop de timer zo dicht mogelijk bij de opgegeven doeltijd. Hoe preciezer, hoe hoger je score.
Input via een echte drukknop op het breadboard, aangesloten op GPIO 14 van de Raspberry Pi.
10 pogingen per speler. Scores worden bijgehouden in een JSON-bestand, inclusief highscore-systeem.
Een 10 kΩ weerstand zorgt voor een stabiel signaal en voorkomt zwevende spanning op de input-pin.
Centrale verwerkingseenheid. Voert het pygame-spel uit en verwerkt de input van de drukknop.
ControllerDe spelersinterface. Indrukken pauzeert de timer. Heeft een LED om visuele feedback te geven.
InputVerbindt alle componenten zonder te solderen. De voeding loopt via de plus- en minrail.
VerbindingPull-up weerstand tussen 5V en GPIO 14 voor een stabiel en betrouwbaar ingangssignaal.
ElektronicaVerbindingsdraden tussen Raspberry Pi, breadboard en drukknop. Wit, groen en rood gekleurd.
BedradingRandapparatuur voor de Raspberry Pi. De monitor toont het spel, het toetsenbord voor naarinvoer.
Periferie| Pin | Functie | Verbinding |
|---|---|---|
| Pin 2 (5V) | Voeding | Plus-rail breadboard |
| Pin 6 (GND) | Aarding | Min-rail breadboard |
| Pin 8 (GPIO 14) | Signaallijn | Witte draad → knop |
De weerstand staat tussen de 5V-voeding en GPIO 14. Bij rust houdt hij de ingang hoog (5V). Wanneer de knop ingedrukt wordt, loopt de stroom via de groene draad naar de min — GPIO 14 leest dan laag (0V). Zo is de toestand altijd duidelijk en stabiel.
Druk op de knop om de lopende timer te stoppen. Hoe dichter bij de doeltijd, hoe hoger je score.
Elke ronde krijg je een ander doelgetal. Je weet dus niet altijd exact op hoeveel seconden je moet mikken.
Je score daalt naarmate het verschil tussen jouw tijd en de doeltijd groter wordt. Perfecte stop = 99.
Scores blijven opgeslagen in een JSON-bestand. Bij een dubbele naam wordt automatisch de hoogste score bewaard.
Tekent het spelvenster, toont de timer en verwerkt de weergave van score en boodschappen.
WeergaveMeet de verstreken tijd via time.time(). Gebruikt voor de timer en debounce-logica.
Leest de toestand van de drukknop via GPIO 14. Configuratie in BCM-modus met pull-up.
Hardware I/ODe code werd grotendeels gegenereerd door AI (Claude) met aanpassingen door de leerling: het aantal rondes, het highscore-systeem en de min/max timerduur werden zelf aangepast en verfijnd.
| Datum | Activiteit | Tijd | Locatie | Project |
|---|---|---|---|---|
| 15 dec 2025 | Programma geplaytest, gedebugged. LCD-scherm geïnstalleerd. | 3 lesuren | School | reactie game |
| 16 dec 2025 | Knop geïnstalleerd, doosje gemaakt (nog niet gelijmd). Laatste versie geüpdate. Geplaytest. | 4 lesuren | School | reactie game |
| 20 apr 2026 | Logbook aangevuld en gestyled + begonnen aan voorwoord. | 2 lesuren | School | bundel |
| 21 apr 2026 | Logbook aanvullen + extra knikkers gaan halen. | 1 lesuur | School | bundel |
| 23 apr 2026 | Voorwoord afgemaakt. | 20 min | School | bundel |
Dit project was mijn eerste ervaring met de Raspberry Pi. Naast de technische kant — hoe GPIO werkt, waarom je een pull-up weerstand nodig hebt, en hoe je een breadboard aansluit — heb ik ook geleerd hoe ik beter kan prompten bij AI. Het was een eenvoudig maar leerrijk project dat mijn kennis van elektronica opfrist en me een stevige basis geeft voor complexere Raspberry Pi-projecten in de toekomst.