A real-time Space Invaders game developed in C using an ATmega1284 microcontroller. The game leverages a synchronous task scheduler for smooth gameplay and integrates display, input, and audio peripherals.
- Real-time gameplay using a synchronous task scheduler for smooth and responsive controls.
- LCD graphics rendering on a HiLetgo 1.44" SPI display with optimized SPI communication for efficient frame updates.
- Joystick controls for player movement and shooting.
- 2×18 LED display to track score and remaining lives.
- PWM-driven audio feedback via a passive buzzer for dynamic sound effects when winning, losing, or shooting.
- ATmega1284 Microcontroller
- HiLetgo 1.44" SPI LCD Display
- Joystick module
- 2×16 LED Display
- Passive Buzzer
- Written in C
- Synchronous task scheduler for multitasking
- SPI communication for LCD rendering
- PWM audio generation for buzzer feedback
- Connect the microcontroller to the SPI LCD, joystick, LED display, and buzzer as per the wiring diagram.
- Compile the C code using your preferred AVR toolchain.
- Upload the program to the ATmega1284 microcontroller.
- Use the joystick to move the player character and shoot enemies.
- Track your score and remaining lives via the LED display.
- Optimized SPI communication ensures smooth frame rendering without flicker.
- PWM audio is used to provide immersive sound effects during gameplay.
- Designed for embedded systems coursework and demonstration of real-time task scheduling in C.
This project is for educational purposes and demonstration of embedded systems concepts.