A collaborative project with Per Arne Kjelsvik
Course content: Design of embedded computer systems. Computer architectures and system components for embedded and industrial applications. Microcontrollers and specialized microprocessors. Parallel and serial bus systems. Datacommunication in industrial environments. Analog/digital interfaces.
Project: In this course, we had a large term project where we created a computer controlled electromechanical ping pong game. The main challenge was to assemble the hardware components and develop the software for the microcontrollers, making a fully functional embedded computer system that enabled us to play a refreshing game of ping pong! The project was divided into nine parts, that we did more-or-less on a week-to-week basis:
- Part 1 - Initial assembly of microcontroller and RS-232
- Part 2 - Address decoding and external RAM
- Part 3 - A/D converting and joystick input
- Part 4 - OLED display and user interface
- Part 5 - SPI and CAN controller
- Part 6 - CAN-bus and communication between nodes
- Part 7 - Controlling servo and IR
- Part 8 - Controlling motor and solenoid
- Part 9 - Completion of the project and extras
Part 1 - part 5 were done on node 1
, which consisted of our "main board", with Atmega162, and the USB multifunction card.
And here's a more detailed view of the board in node 1
itself
Part 6 - part 8 were mostly done on node 2
, which consisted of a PCB with several useful components, and an Arduino Mega 2560 (Atmega2560)
We also needed a relay circuit for the solenoid on the ping pong board, and a filter for the IR-sensors.
Part 9 is where we finalized the project. This meant completing node 1
and node 2
as well as their interaction. Also, we added node 3
, which consisted of a Genuino UNO. The node was used to play wonderful music with a piezo buzzer.
Part 9 is where we were able to add creative ideas to the project and additional features. Here are the features we added to the project:
- Varying difficulty: Different tuning of PID-controller (position).
- Creative use of display: Scrolling text horizontally, adaptive menu and other advanced features.
- Sound:
Game over
sound, several music tunes, playable during game play, adjustable volume (potentiometer). - EEPROM: Used to save high scores in-between gaming sessions.
Finally, a very short demo of the system (in Norwegian). This was shot minutes after the presentation, right before we had to disassemble the whole system. The video is therefore quite rushed, so don't expect too much quality-wise.
Press the picture below to play the video (opens in a new tab)