Search the Sound Game

by JoshuaBastiaans in Circuits > Arduino

134 Views, 0 Favorites, 0 Comments

Search the Sound Game

IMG_20230516_212240.jpg

In dit project heb ik een minigame gemaakt met de arduino. Ik heb mijn inspiratie vooral gehaald uit de kleine spelcomputertjes die je kon krijgen bij een happy meal of als extra's bij je boodschappen. Deze games waren vaak heel simpel maar bleven leuk voor uren. Ik heb geprobeerd zo simpel mogelijk mijn eigen minigame in elkaar te zetten.

Ik heb een game gemaakt waar je als speler opzoek naar het geluid bent. Het doel is ook heel simpel, zoek het geluid. Zodra je dichtbij genoeg bent scoor je een punt. Zodra je 4 punten hebt, heb je gewonnen.

In dit project heb ik mijzelf uitgedaagd om met de mogelijkheden die ik had het meest vermakelijke spel te maken. Ik heb verschillende concepten gemaakt en uiteindelijk deze volledig uitgewerkt. Met deze configuratie van componenten kunnen overigens eindeloos veel games worden bedacht en gemaakt.

Supplies

Elektrische Componenten:

  • Arduino Uno
  • 4x (groene) LEDs
  • 4x 160Ω Transistors
  • Joystick module
  • Speaker module
  • Kabels om alles te verbinden

Behuizing:

  • 3D Printer
  • Filament

3D Printen

Deze files zijn de behuizing voor de game. Het is een soort doosje met meerdere lagen wat er voor zorgt dat alle componenten makkelijk passen/wisselbaar zijn mocht er wat fout gaan.

Elektriciteit Schema/Bouwen

Circuit.png
IMG_20230511_150452.jpg
IMG_20230516_223034.jpg

Dit is het elektriciteit schema. In plaats van een breadboard heb ik voor het project een printplaatje gebruikt om te kunnen solderen. Ook heb ik wat foto's toegevoegd van de opbouw zelf.

Code

De code voor de Arduino. Hieronder zal ik het belangrijkste stukje code uitleggen:


  // Read the joystick X and Y axis values and map them to the range of 0-255

  xValue = map(analogRead(xPin), 0, 1023, 0, 255);

  yValue = map(analogRead(yPin), 0, 1023, 0, 255);


  // Update the player's position based on the joystick values

  playerX = constrain(playerX + 0.002 * map(xValue, 0, 255, -1, 1), 0, 10);

  playerY = constrain(playerY + 0.002 * map(yValue, 0, 255, -1, 1), 0, 10);


  // Calculate the distance between the player and the sound

  distance = sqrt(pow(playerX - soundX, 2) + pow(playerY - soundY, 2));


en voor het geluid:

  do {

    soundX = random(0, 10);

    soundY = random(0, 10);

  } while (abs(soundX - playerX) < 3 && abs(soundY - playerY) < 3);  // Keep generating new coordinates if they are too close to the player's


Hierdoor creeër je de illusie dat de speler op een grid zit te spelen en stuur je de speler met geluid naar de bron van het geluid.

Downloads