This shows you the differences between two versions of the page.
pm:prj2025:iotelea:stefan.basaram [2025/05/26 20:02] stefan.basaram [Software Design] spelling errors |
pm:prj2025:iotelea:stefan.basaram [2025/05/26 20:43] (current) stefan.basaram added results and references |
||
---|---|---|---|
Line 43: | Line 43: | ||
* [[https://www.emag.ro/baterie-philips-longlife-9v-1-blister-6f22l1b-10/pd/DRC1LKBBM/? utm_campaign=share_product&utm_source=mobile_dynamic_share&utm_medium=android|9V Battery]] + [[https://www.optimusdigital.ro/ro/fire-fire-mufate/896-fir-pentru-baterie-de-9v.html|Adapter]] - Allows the console to be used without being tethered to a computer. | * [[https://www.emag.ro/baterie-philips-longlife-9v-1-blister-6f22l1b-10/pd/DRC1LKBBM/? utm_campaign=share_product&utm_source=mobile_dynamic_share&utm_medium=android|9V Battery]] + [[https://www.optimusdigital.ro/ro/fire-fire-mufate/896-fir-pentru-baterie-de-9v.html|Adapter]] - Allows the console to be used without being tethered to a computer. | ||
* Cables [[https://www.optimusdigital.ro/ro/fire-fire-mufate/885-set-fire-tata-tata-10p-10-cm.html|male-male]] and [[https://www.optimusdigital.ro/ro/fire-fire-mufate/92-fire-colorate-mama-tata-40p.html|male-female]] | * Cables [[https://www.optimusdigital.ro/ro/fire-fire-mufate/885-set-fire-tata-tata-10p-10-cm.html|male-male]] and [[https://www.optimusdigital.ro/ro/fire-fire-mufate/92-fire-colorate-mama-tata-40p.html|male-female]] | ||
- | * [[https://www.bitmi.ro/electronica/breadboard-400-puncte-pentru-montaje-electronice-rapide-10633.html|Breadboard]] - Used for wiring together the display and player inputs, as well as powering the passive buzzer. | + | * [[https://www.bitmi.ro/electronica/breadboard-400-puncte-pentru-montaje-electronice-rapide-10633.html|Breadboard]] - Used for wiring together the display, player inputs and the buzzer. |
{{pm:prj2025:iotelea:stefan.basaram:schema_electrica_consola.png?750 }} | {{pm:prj2025:iotelea:stefan.basaram:schema_electrica_consola.png?750 }} | ||
Line 64: | Line 64: | ||
|::: | ::: | A1 <- VRy | ::: | | |::: | ::: | A1 <- VRy | ::: | | ||
|::: | Digital | D4 <- SW | Button press state can be read digitally | | |::: | Digital | D4 <- SW | Button press state can be read digitally | | ||
- | |Passive buzzer | Digital (PWM) | D3 -> Buzzer | The use of PWM enables adjusting the volume of the buzzer, along with its tone | | + | |Passive buzzer | Digital (PWM) | D3 -> Buzzer | The use of PWM enables adjusting the volume of the buzzer, along with its tone | |
Line 152: | Line 152: | ||
If the head of the snake occupies the same position as one of its body, the snake is killed and one of the player's lives is taken. If the player has not run out their 3 lives, they may continue playing from the point just before the collision occured, with the game resuming upon the player's next input. | If the head of the snake occupies the same position as one of its body, the snake is killed and one of the player's lives is taken. If the player has not run out their 3 lives, they may continue playing from the point just before the collision occured, with the game resuming upon the player's next input. | ||
+ | When all lives are exausted, an animation is played which shows how large the snake had grown before it died. | ||
== Asteroids == | == Asteroids == | ||
Line 163: | Line 164: | ||
In **updateLoop()**, the currently active paddle is moved by the joystick. The paddle is not terribly big, however it moves very fast. If the ball collides with the paddle, the ball is reflected and control is passed to the other paddle. The speed of the ball increases over time.\\ | In **updateLoop()**, the currently active paddle is moved by the joystick. The paddle is not terribly big, however it moves very fast. If the ball collides with the paddle, the ball is reflected and control is passed to the other paddle. The speed of the ball increases over time.\\ | ||
If the ball goes past the paddle, the player loses a life. If the player has not run out their 3 lives, they get to keep playing with the last speed of the ball preserved and starting from the losing paddle. | If the ball goes past the paddle, the player loses a life. If the player has not run out their 3 lives, they get to keep playing with the last speed of the ball preserved and starting from the losing paddle. | ||
+ | |||
+ | ===== Results ===== | ||
+ | * [[https://youtube.com/shorts/Nj0hMh7GVlk?feature=share|Prototype video]] | ||
+ | |||
+ | ===== References ===== | ||
+ | * [[https://www.arduino.cc/en/Guide/ArduinoUno/#upload-the-program| Getting started with Arduino]] | ||
+ | * [[http://www.wayoda.org/arduino/ledcontrol/|LED Control Library for LED Display Matrices]] | ||
+ | * [[https://forum.arduino.cc/t/avrdude-ser-open-cant-set-com-state-for-com3-failed-uploading-uploading-error-exit-status-1/1131626/18|Driver fix by ptillisch for the Arduino model used here]] | ||
+ | * [[https://xantorohara.github.io/led-matrix-editor/#42844a0035153377|LED Matrix Editor]] | ||