Inhoudsopgave:

Octarine: een kleurafstemmingsspel met WS2812 RGB-leds - Ajarnpa
Octarine: een kleurafstemmingsspel met WS2812 RGB-leds - Ajarnpa

Video: Octarine: een kleurafstemmingsspel met WS2812 RGB-leds - Ajarnpa

Video: Octarine: een kleurafstemmingsspel met WS2812 RGB-leds - Ajarnpa
Video: Dota 2 Guides Octarine Core interactions 2024, November
Anonim
Octarine: een kleurafstemmingsspel met WS2812 RGB-leds
Octarine: een kleurafstemmingsspel met WS2812 RGB-leds

Octarine, de kleur van magie. Het was levendig en gloeiend en het was het onbetwiste pigment van de verbeelding, want waar het ook verscheen, het was een teken dat louter materie een dienaar was van de krachten van de magische geest. Het was de betovering zelf.

Maar Rinzwind had altijd gedacht dat het er een soort groenpaars uitzag.

- Terry Pratchett - De kleur van magie

Alle kleuren zijn betoverd en je moet ze één voor één bevrijden. Drie magische spreuken zullen je helpen bij je zoektocht.

PS In dit project gebruik ik veel binaire operatoren en binaire maskers, zodat het door computerwetenschappers kan worden gebruikt voor het onderwijzen van Booleaanse logica op een grappige, gegamificeerde manier.

Benodigdheden

1x Arduino Nano/Uno of ander compatibel bord. Het project gebruikt eigenlijk 5 digitale pinnen en minder dan 6 KB geheugen. Dus op Attiny85 gebaseerd bord zou ook goed moeten werken.

4x tactiele knoppen. Als u wilt, kunt u in plaats daarvan sensorknoppen gebruiken.

1x WS2812 LED strip of bar met 8 aanstuurbare RGB LED's.

1x breadboard of PCB-prototyping board als je dat liever hebt.

Breadboard jumper draden.

Stap 1: Spelregels

Spelregels
Spelregels

De game-interface is voorzien van 8 RGB-LED's. Het doel is om ze allemaal met dezelfde kleur te laten glanzen. Het is rood in de eerste "wereld", oranje in de tweede, geel in de derde, enz.

Er zijn 3 hoofdknoppen. Elk van hen verandert de kleuren van vier LED's volgens binair masker. De eerste knop heeft bijvoorbeeld masker 11110000. Dit betekent dat deze van kleur verandert van de eerste vier LED's. Er is ook een "Shift"-knop die een masker omkeert. Als de speler op de Shift+First-knop drukt, is het masker 00001111 en worden de vier laatste LED's beïnvloed. Kleuren worden cyclisch veranderd.

De bijgevoegde afbeelding beschrijft alle maskers.

Stap 2: Ontwerp van niveaus

Ontwerp van niveaus
Ontwerp van niveaus

Het spel bestaat uit "werelden" met elk acht subniveaus. De eerste wereld is "Rood", en alle LED's hier kunnen zich in slechts twee toestanden bevinden: leeg en rood. In elk subniveau worden meer shuffle-stappen toegepast, zodat de moeilijkheidsgraad geleidelijk toeneemt. Wanneer je een wereld passeert (d.w.z. alle subniveaus), red je de volgende kleur. Dus in de tweede ("Oranje") wereld hebben alle LED's drie toestanden: leeg, rood en oranje. Dat wil zeggen, elke volgende wereld is uitdagender dan de vorige.

Wat gebeurt er in de 8e ("Octarine") wereld … nou … pure magie.

Stap 3: Het circuit

Het circuit
Het circuit

Het hangt af van het specifieke bord dat je gebruikt, maar ik raad ten zeerste aan om een externe voeding voor LED's te gebruiken.

Ik gebruikte pinnen 2, 3, 4 en 5 voor knoppen. Als u een andere microcontroller of pinnen gebruikt, vergeet deze dan niet in de programmacode aan te passen.

Stap 4: De code

De code
De code

Hier vindt u mogelijk de nieuwste versie van de broncode.

Stap 5: Testen

Testen
Testen

Stap 6: Dus, wat nu?

Dus wat nu?
Dus wat nu?

Het is je misschien opgevallen dat de game eigenlijk geen 8e (Octarine) wereld heeft. Het is met opzet gemaakt. Magie … is niet iets dat precies moet worden gereproduceerd.

Ik moedig je aan om je eigen 8e wereld te bouwen. U kunt de speler bijvoorbeeld een regenboogkleurige reeks laten rangschikken in plaats van zwart-wit of cellen implementeren met veranderende kleuren. Het is aan u. Doe je eigen magie op je eigen manier.

Aanbevolen: