Inhoudsopgave:
Video: Arduino Project // Simon Says (met straffe gevolgen): 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Hoi!
Dit is een zeer beginnersvriendelijke instructable, omdat dit eigenlijk ook mijn eerste Arduino-project is. Ik heb dit project gemaakt om te slagen voor de cursus die ik momenteel volg, genaamd If This Then That.
In deze Instructable laat ik je zien hoe je je eigen Simon Says-spel kunt maken met een strafgevolg met behulp van de Arduino. Ik heb ervoor gekozen om een strafgevolg toe te voegen om het spel wat meer pit te geven; het geeft de gebruiker meer interactie met de Arduino in plaats van alleen de lichten te volgen en op de knoppen te drukken.
Het strafgevolg bestaat uit het indrukken van de druksensor door de gebruiker. De arduino reageert op de druk die de gebruiker heeft gegeven en op basis van de druk laat de arduino een rode of groene LED oplichten. Als de rode LED oplicht, betekent dit dat de speler een aftrekpunt krijgt, als de groene LED oplicht, gebeurt er niets. Je kunt het spel gewoon resetten en opnieuw spelen.
Met een whiteboard marker kun je op het systeem zelf aangeven hoeveel aftrekpunten je hebt. Dit geeft je ook een beetje die extra interactie met het ontwerp van het project.
Stap 1: MATERIALEN
Misschien wil je eerst de materialen voor jezelf halen. Ik had een elektronicakit gekocht en wilde de items en gereedschappen die in die kit zaten alleen gebruiken omdat ik niet meer elektronica wilde kopen. Voel je vrij om zelf iets leuks toe te voegen.
Gebruikte artikelen:
- Arduino Uno (1x)
- Broodplank (1x)
- LED's (4x en indien mogelijk in verschillende kleuren, omdat het het spel kleurrijker maakt)
- PCB-drukknop (4x, 6x6mm maat)
- 200 ohm weerstanden (4x)
- 10K ohm weerstanden (5x)
- Druksensor (1x)
- Set breadboard jumperdraden
- Perf/Stripbord (1x)
- Foamboard (wit)
- Acetaatfolie
- Washi tape
- Wattenschijfjes
- Schilderachtige tape
- Lijm
Gebruikte hulpmiddelen:
- Soldeerbout
- Snijders
- Striptang
- Lasersnijder
- Stanley mes
Stap 2: STEL UW CODE IN
Voordat ik zelf begon te programmeren, heb ik wat andere Simon Says-games opgezocht die gebaseerd zijn op de arduino. Ik heb deze vergeleken bij het coderen. Ik heb deze als referentie gebruikt:
- Instructable met een schema en code I. De code wordt niet uitgelegd, dus als je niet bekend bent met programmeren, kan dit moeilijk in één keer te begrijpen zijn.
- Instructable met schema en code II
- Instructable met schema en code III
Het spel is verdeeld in drie afzonderlijke staten: de START-status, de PLAY-status en de GAMEOVER-status. Dit is als een cirkel die zich elke keer herhaalt wanneer je het spel speelt. De rest van de uitleg van de code vind je hier.
Ik gebruikte een timer voor het strafgevolg. Het houdt bij hoe lang de sensor druk heeft. Met if/else-statements hangt het van uw druk af of de rode LED of de groene LED oplicht.
int onGameOver(){ //Serial.print(millis());
Serieel.print(" - ");
Seriële.println(timer);
als (analoog lezen (A0) > 0)
{ //Timer zetten we op 2 seconden if (!setOnce)
{ Serial.println("geklikt.");
setOnce = waar;
timer = millis() + 2000; } }
if (millis() > timer && setOnce)
{ //Timer afgelopen
Serial.println("afgelopen.");
blinkOnce = onwaar; setOnce = onwaar;
return (analogRead (A0) < 512 ? 2: 1); } }"
Stap 3: SCHEMA
Gebruik je breadboard om een prototype van je spel te maken. Houd er rekening mee dat het breadboard is aangesloten.
Je hebt waarschijnlijk gemerkt dat veel breadboards cijfers en letters hebben die op verschillende rijen en kolommen zijn gemarkeerd, maar deze hebben geen ander doel dan je te begeleiden bij het bouwen van je circuit. Als u het rijnummer weet van de verbinding die u probeert te maken, is het veel eenvoudiger om een draad op dat nummer aan te sluiten in plaats van honderd keer te controleren.
Afgezien van horizontale rijen, hebben breadboards meestal zogenaamde stroomrails die verticaal langs de zijkanten lopen.
Stap 4: SOLDEREN
Omdat ik niet het risico wilde nemen dat mijn project letterlijk uit elkaar zou vallen in de tijd dat mijn leraren me zouden beoordelen (ik moet ook met het openbaar vervoer reizen), kies ik ervoor om mijn project ook te solderen in plaats van het aan te houden het broodplankje.
Ik heb het circuit niet in kaart gebracht, omdat ik niet wist hoe ik de symbolen en zo moest gebruiken, maar als je dat doet en je vindt dat een betere methode voor jezelf voordat je gaat solderen, is dat ook goed.
Ik bestudeerde mijn prototype op mijn breadboard en zorgde ervoor dat ik precies begreep wat er op mijn breadboard gebeurde. Ik maakte de verbindingen en hield in gedachten dat de negatieve kant moet aansluiten op de positieve kant.
Ik heb opgeschreven welke pin naar welke LED / knop / draad / sensor ging en deze bij de hand hield toen ik soldeerde. Op een gegeven moment zul je waarschijnlijk erg gefrustreerd raken door de hoeveelheid draden die je hebt. Wat ik deed was opschrijven wat de functie van de draad was en naar welke pin hij zou gaan op schilderstape en deze om de draad wikkelde, zodat het duidelijker zou zijn waar alle verschillende draden voor waren.
Zorg ervoor dat alles is aangesloten en je bent klaar om te gaan!
Maar een tip die ik je wil geven, is om je breadboard waar je je prototype op hebt gemaakt bij je te houden tijdens het solderen, zodat je het als referentie kunt gebruiken als je niet zeker weet wat je aan het doen bent. Ik heb veel medestudenten gewoon hun prototype uit elkaar zien halen en vervolgens vergeten hoe ze bepaalde dingen met elkaar verbonden hebben.
Stap 5: VERPAKKING
Ik wilde een kubus hebben die mijn Arduino bedekt. Ik maakte een kubus in Illustrator en ging deze lasersnijden. Als materiaal kies ik voor foamboard, dat vind ik makkelijk te bewerken en een stevige materiaalsoort. Omdat elke lasersnijder anders is, zou je zelf de snelheid en het vermogen van de laser willen controleren, afhankelijk van de dikte van je materiaal.
De twee gewone vierkanten worden de boven- en onderkant van de kubus, de rest blijft aan de zijkant plakken. Daar kun je lijm voor gebruiken. Er is één kant die korter is dan de andere, dat komt omdat je je usb-kabel van je arduino uit deze kubus kunt steken en op je laptop kunt steken als je wijzigingen wilt aanbrengen of het spel wilt aanzetten.
Ik heb gewoon de zijkanten in elkaar geschoven en gelijmd voor extra veiligheid. Ik heb als laatste de bovenkant van de kubus gelijmd omdat ik de kubus wilde vullen met wattenschijfjes waar de arduino op kon rusten. Ik plakte mijn perf / stripboard aan de bovenkant van de kubus nadat ik een Stanley-mes had gebruikt om de cirkels uit te snijden waar de LED's eruit zouden springen, de vierkanten waar mijn knoppen zouden worden ingedrukt en de plaats waar mijn druksensor eruit zou kunnen springen en wees klaar om te worden ingedrukt.
Gebruik de wastape om je acetaatfolie boven de LED's te plakken en je eigen Simon Says-spel is good to go!
Aanbevolen:
Verbeterde 'Simon Says'-code: 3 stappen
Verbeterde 'Simon Says'-code: een bijgewerkt 'Simple Simon'-project. Met name gemakkelijker om te werken met software-implementatie
Simon Says Game: 13 stappen
Simon Says Game: Welkom bij mijn Simon Says-spel!! Dit hardnekkige spel helpt je om een Simon Says-spel op tinkercad te maken
Simon Says Game met Arduino - Ajarnpa
Simon Says Game met Arduino: DIY Simon Says Game met Arduino, ik zal je laten zien hoe je een Simon Says-spel maakt met een Arduino, het is heel eenvoudig, ik klaag Arduino Nano aan, abonneer je op mijn YouTube-kanaal
Geheugenspel met aanraking (Simon Says) - Als dit dan dat: 6 stappen (met afbeeldingen)
Geheugenspel met aanraking (Simon Says) - Als dit dan dat: ik heb een geheugenspel gemaakt met zelfgemaakte touchpads en een neopixelring voor een schoolproject. Deze game is vergelijkbaar met Simon Says, behalve dat veel vormen van input en feedback (geluiden en lichteffecten) in de game anders zijn. Ik heb geluiden geprogrammeerd van Su
Interactief Simon Says-spel: 5 stappen
Interactive Simon Says Game: Ik weet niet precies meer hoe dit spel evolueerde, maar de belangrijkste motivatie erachter is om de cognitieve verwerking en aandacht te verbeteren door de spelers te laten focussen op een reeks drumslagen en die reeks vervolgens te herhalen. Spelers kunnen ofwel dans-dans