Skip to content

perkjelsvik/TTK4155-Byggern

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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 controller 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.

node 1

And here's a more detailed view of the board in node 1 itself

node 1 without USB multifunction card

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)

node 2

We also needed a relay circuit for the solenoid on the ping pong board, and a filter for the IR-sensors.

circuits for IR-filter and solenoid relay

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.

node 3

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)

Video demo of term project

Releases

No releases published

Packages

No packages published

Languages

  • C 97.9%
  • Objective-C 1.1%
  • Other 1.0%