During my second year of EE at BCIT, I took the course ELEX 3305 (Microcontroller Systems), where we learned to program a Texas Instruments TM4C123G microcontroller in C++. We also purchased a (TI) Education Boosterpack, which is an add-on board with various analog and digital inputs/outputs, including an analog joystick, environmental and motion sensors, RGB LED, microphone, buzzer, color LCD, and more. We programmed the microcontroller in C++ and controlled it by directly manipulating the registers. Later in the course, we also wrote assembly code to do the same. This method may be considered more challenging, but it’s essential for microcontrollers lacking a library of functions for programming.
Next term (still second year), I took the course ELEX 4618 (Object Oriented Program Design). The course builds on previous programming knowledge and covers advanced C++ programming concepts, including object-oriented techniques, standard library usage, thread handling, dynamic data structures, and timing analysis. It emphasizes practical applications such as machine vision with OpenCV.
The weekly labs were the best part of the course. Some labs involved using the above hardware as a controller for our program (like games). This time we programmed the microcontroller in Energia that natively supports these TI microcontrollers and comes with a library of functions to program them without the need of manipulating the registers.
In lab 4 we were required to make an Etch-A-Sketch program, in lab 5 we were required to create a simple PONG game, and in lab 6 we were required to create either Space Invaders or Asteroids. These games are not full clones, we only had a certain number of features we were required to implement and all labs had to be completed within one week. In lab 7 we were required to port our game from Windows to Linux and run it on a Raspberry Pi (with an analog joystick connected to an ADC connected to the GPIO pins).
[…] SorterBCITcppGPIOmarwahOpenCVprojectraghavRaspberry PiShare Related Posts Texas Instruments MCU And […]