This shows you the differences between two versions of the page.
pm:prj2025:iivasciuc:cristina.margheanu [2025/05/21 08:43] cristina.margheanu |
pm:prj2025:iivasciuc:cristina.margheanu [2025/05/29 12:30] (current) cristina.margheanu |
||
---|---|---|---|
Line 25: | Line 25: | ||
| Component | Features | Purchase link | | | Component | Features | Purchase link | | ||
| Arduino Microcontroller | Main control unit – reads inputs from the joystick and generates outputs for sound and display. | [[https://www.optimusdigital.ro/ro/placi-avr/2563-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340-si-cablu-50-cm.html?search_query=Placa+de+Dezvoltare+Compatibila+cu+Arduino+UNO+%28ATmega328p+%C8%99i+CH340%29+si+Cablu+50+cm&results=7|Arduino]] | | | Arduino Microcontroller | Main control unit – reads inputs from the joystick and generates outputs for sound and display. | [[https://www.optimusdigital.ro/ro/placi-avr/2563-placa-de-dezvoltare-compatibila-cu-arduino-uno-atmega328p-i-ch340-si-cablu-50-cm.html?search_query=Placa+de+Dezvoltare+Compatibila+cu+Arduino+UNO+%28ATmega328p+%C8%99i+CH340%29+si+Cablu+50+cm&results=7|Arduino]] | | ||
- | | Analog Joystick (with 2 button) |Control for the dinosaur jump by pushing up on the first button. To control the start of the game or the restart after the game over appears, the 2nd button on the joystick must be moved to the right. | [[https://www.emag.ro/modul-joystick-compatibil-cu-arduino-uno-3874784221527/pd/D48GB9YBM/|Joystick]] | | + | | Analog Joystick (with 2 button) |Control for the dinosaur jump by pushing up on the first button. To control the start of the game or the restart after the game over appears, the 2nd button on the joystick must be moved to the right. The high score system is also controlled by the first joystick , by pushing it up in the start or game over menu. | [[https://www.emag.ro/modul-joystick-compatibil-cu-arduino-uno-3874784221527/pd/D48GB9YBM/|Joystick]] | |
| Passive Buzzer (5V) | For background sounds and melodies | [[https://emve.ro/produs/buzzer-traductor-de-sunet-semnalizator-electromagnetic-95mm-5vdc-loudity-ld-bzeg-0905/?gad_source=1&gad_campaignid=22126270764&gbraid=0AAAAAqElCLiFdhZT3E2KsIJhyV5M4DIRx&gclid=CjwKCAjw24vBBhABEiwANFG7yyEusWoOUXfgPbJtxOkUJhyCIAksTOVgP6-SABYA6FwJ5s7us0dVMhoCDjoQAvD_BwE|Buzzer]] | | | Passive Buzzer (5V) | For background sounds and melodies | [[https://emve.ro/produs/buzzer-traductor-de-sunet-semnalizator-electromagnetic-95mm-5vdc-loudity-ld-bzeg-0905/?gad_source=1&gad_campaignid=22126270764&gbraid=0AAAAAqElCLiFdhZT3E2KsIJhyV5M4DIRx&gclid=CjwKCAjw24vBBhABEiwANFG7yyEusWoOUXfgPbJtxOkUJhyCIAksTOVgP6-SABYA6FwJ5s7us0dVMhoCDjoQAvD_BwE|Buzzer]] | | ||
| LCD 16x2 I²C | Displays the game, score and obstacles in real time | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/4769-lcd-2004-cu-backlight-albastru-i-interfaa-i2c.html?search_query=lcd+i2c&results=17|LCD]] | | | LCD 16x2 I²C | Displays the game, score and obstacles in real time | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/4769-lcd-2004-cu-backlight-albastru-i-interfaa-i2c.html?search_query=lcd+i2c&results=17|LCD]] | | ||
Line 33: | Line 33: | ||
{{:pm:prj2025:iivasciuc:cirkit_design_dino.png?500|}} | {{:pm:prj2025:iivasciuc:cirkit_design_dino.png?500|}} | ||
+ | |||
+ | {{:pm:prj2025:iivasciuc:projectdino.jpg?300|}} | ||
** Pin configurations ** | ** Pin configurations ** | ||
Line 49: | Line 51: | ||
* Development environment: Arduino IDE 2.3.6 | * Development environment: Arduino IDE 2.3.6 | ||
- | * Libraries : Wire.h, LiquidCrystal_I2C | + | * Libraries : Wire.h(Used for I2C communication between Arduino and peripherals like the LCD display), LiquidCrystal_I2C(Extends LiquidCrystal to support I2C LCD screens, simplifying control and data handling), EEPROM.h - used to persist the player's high score |
Game flow: | Game flow: | ||
Line 63: | Line 66: | ||
When the left joystick is pushed up, the dinosaur character performs a jump. | When the left joystick is pushed up, the dinosaur character performs a jump. | ||
During a jump, obstacles are cleared based on the dinosaur's movement. | During a jump, obstacles are cleared based on the dinosaur's movement. | ||
+ | |||
+ | Viewing the High Score: | ||
+ | While in the Start Menu or after a Game Over, the player can push the left joystick upwards (as if jumping) to display the current high score on the LCD screen. This provides an intuitive and accessible way for the user to check their personal best without starting a new game. | ||
Scrolling World: | Scrolling World: | ||
Line 87: | Line 93: | ||
===== Obtained Results ===== | ===== Obtained Results ===== | ||
- | Code on GitHub | + | Code on GitHub : [[https://github.com/CristinaMargh/DinoLCDGame | Repository]] |
+ | |||
+ | Video: [[https://drive.google.com/drive/folders/1Wg_brmv11tL1jcmFgSj3oYv8UZ5u503E|Demo]] | ||
+ | |||
+ | ===== Bibliography and materials ===== | ||
+ | [[https://www.cirkitstudio.com/|Hardware design]] | ||
+ | |||