Inleiding
Voor dit GIP-project stelde meneer Meyers een set WS2812B LED-strips van vijf meter ter beschikking. Na vrij experimenteren koos ik voor een klassiek Simon Says geheugenspel: de speler onthoudt een steeds langer wordende reeks kleuren en herhaalt die door op de juiste knop te drukken. De strip is opgedeeld in vier gekleurde zijden en wordt aangestuurd via een Arduino Uno.
Doel
Foto's
Hardware
- Arduino Uno + breadboard +aansluitkabels
- WS2812B LED-strip - 300 LEDs (5 meter)
- 4 drukknoppen (één per kleur)
- Externe 5 V voeding voor de strip
- FastLED library (via Arduino IDE)
Aansluiting: datakabel strip → pin 6 • drukknoppen → GND + pins 2, 3, 4, 5 (INPUT_PULLUP) • externe 5 V rechtstreeks op de strip zodat de Arduino niet overbelast wordt.
Opbouw LED-strip
De strip is verdeeld in vier zijden van elk 75 LEDs:
Werking van het spel
Elke ronde voegt de Arduino een willekeurige kleur toe aan de reeks en licht de bijbehorende zijde kort op. Daarna herhaalt de speler de reeks via de drukknoppen.
Fout: strip knippert 3× rood → reset naar ronde 1.
Gewonnen: winning-animatie, daarna automatisch reset.
Volledige code
De volledige code van dit project kun je vinden op GitHub.
Bekijk de code op GitHubSoftware
Geprogrammeerd in C++ voor de Arduino IDE met de FastLED-bibliotheek.
- zetZijdeAan() Licht één van de vier zijden op in de bijbehorende kleur
- allesUit() Zet de volledige strip uit
- toonReeks() Toont de huidige reeks stap voor stap met pauze
- wachtInvoer() Wacht op drukknop en geeft visuele feedback
- knipperRood() 3× rood knipperen als foutmelding
- gewonnen() Winning-animatie: alle zijden één voor één oplichten
Planning
| Fase | Activiteit | Status |
|---|---|---|
| Voorbereiding | Onderzoek WS2812B, FastLED library installeren, eerste LED-test | Klaar |
| Hardware | Strip opdelen in vier zijden, aansluiting breadboard + externe voeding | Klaar |
| Ontwikkeling | Basislogica Simon Says: reeks opbouwen, drukknoppen uitlezen | Klaar |
| Afwerking | Foutmelding (knipperRood), winnaar-animatie, testen op volledigheid | Klaar |
| Documentatie | Eindtesten, code opruimen, documentatie + onepager afwerken | Klaar |
Besluit & Toekomst
Resultaat
Het eindresultaat is een werkend prototype van een Simon Says spel op een Arduino Uno met WS2812B LED-strip. De basisfunctionaliteit - het tonen en herhalen van een steeds langere reeks - werkt correct. Het spel reset automatisch bij een fout en toont een animatie bij het winnen.
Uitbreidingsmogelijkheden
Zo zou het eindresultaat er uitzien