This project was an extensive labproject, where we work in teams programming two microcontrollers and integrating mulitple to peripherals to run a physical ping-pong game. The game consists of a motor controlling the game board rackets horisontal position with a PI controller, a servo motor which controls the rackets direction, and a solenoid which makes the racket shoot out to hit the ball. These where controlled by an ATSAM3X8E based on inputs the microcontroller got from the other microcontroller, an AVR ATmega162, over a CAN bus. These inputs where the position of a joystick, x position on a touchpad, and if the joystick button is pressed. The joystick and touchpad gave analog values which were converted to digital values using an ADC which the AVR controlled. We configured the AVR to use external SRAM memory, as well as memory mapping the ADC to a portion of it using address decoding. The joystick and touchpad were on an IO Board consisting of a pre-programmed slave microcontroller and an OLED display. The AVR communicated with these using SPI, and used the microcontroller to get the joystick button value, and the OLED display to display graphics and a user interface for the ping-pong game. For debugging, both microcontrollers used UART serial communication to communicate with the PC we were developing the system on.
-
Notifications
You must be signed in to change notification settings - Fork 2
TTK4155-Group-20-2025/Byggern
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
TTK4155 labproject
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published