LED Strip
Simon Says

Geïntegreerde Proef - Project 4

Jarid Vreysen 6ICW  |  2025–2026
Begeleiders:
Christophe Gratessolle & Frank Meyers

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

Een volledig werkend geheugenspel bouwen op een Arduino Uno met een WS2812B LED-strip van 300 LEDs. De strip is verdeeld in vier zijden van elk 75 LEDs, elk met een eigen kleur. Via vier drukknoppen herhaalt de speler de getoonde reeks. Elke ronde wordt de reeks met één stap verlengd - tot maximaal 20 rondes.
📷

Foto's

Arduino en breadboard opstelling LED-strip opgerold en verlicht in blauw
🔧

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:

Boven – Rood LEDs 0 – 74
Rechts – Geel LEDs 75 – 149
Onder – Blauw LEDs 150 – 224
Links – Groen LEDs 225 – 299
🎮

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 GitHub
💻

Software

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


Meneer Meyers wil volgend jaar verder werken aan dit prototype met de nieuwe lichting 6ICW-leerlingen. Mogelijke uitbreidingen: scorebord via seriële verbinding, versnelling van de reeks bij hogere rondes, en permanente opslag van de hoogste score.

Zo zou het eindresultaat er uitzien

Visualisatie eindresultaat LED Strip Simon Says