4 – bit Piano

November 22, 2015 § Leave a Comment

Hi folks, I’ve been working on lab 6 of the Embedded Systems – Shape the World course. Here is my 4-bit piano in all it’s glory:

The algorithm uses periodic interrupts that steps through the profile a sound wave (32 steps in this case). The interrupt period for each step vary depending on the pitch we would like to play. The faster the period, the higher the pitch. The buttons from left to right correspond to C, D, E, F notes respectively.

This lab really made me think about how electric keyboards are made and programmed. A lot of work must have been made to digitally profile numerous instruments, I also imagine the programming to be very sophisticated to play multiple notes simultaneously. I wonder if periodic interrupts are used in general electric keyboards similarly to this lab, and if so, whether or not interrupts are nested in another to superimpose different pitches together to play several notes simultaneously?

Anyways, on to the next lab.

Learning ARM Cortex M4 – TM4C123G

November 12, 2015 § Leave a Comment

Embedded Systems Shape the World Lab 5

Embedded Systems Shape the World – Lab 5 – Traffic & Pedestrian Lights

I found an excellent course teaching an introduction to embedded systems. It is called Embedded Systems – Shape the World and the course uses the ARM TM4C123G microcontroller for their labs. I came late to the party, as the course has already ended, and I couldn’t wait until it restarted in January 2016, so I decided the dig up old lectures, and labs, and just started doing them on my own.

I came across this course while I was interested in expanding my knowledge in embedded systems into something beyond a hobby. After building a self-balancing robot on an arduino platform, I quickly realized that arduinos are pretty limited in performance, flexibility, and is expensive compared to alternative microcontrollers. A quick comparison between the ARM TM4C123G vs the arduino Uno will reveal that the TM4C123G out performs the arduino in many aspects, and guess what. What the article doesn’t tell you is that the TM4C123G is way cheaper too!

In the version I’m taking, EE319K, I’m glad the first 4 labs had to be done in assembly language. It really helped me understand what was really going on when C code was executed.

I just completed lab 5, building a Finite State Machine in C to emulate traffic and pedestrian lights. Check this out:

Where Am I?

You are currently viewing the archives for November, 2015 at Wilfrid Ngo.