Embedded Systems Assembly

Schmitt Trigger RGB Nightlight


Our first real homework in Embedded Systems was to make a timed "nightlight" that will turn on an RGB light when a photoresistor detects the light drops below around 40 Lux. This project was an earlier project that was completely coded in Assembly language. All the timing was done manually with basic PIC commands. Circuit requirements were to pull 20 mA, wait at least .5 seconds before turning the light on, and have no change between 40 and 50 Lux. The last requirement was hard to demo, but it was able to be proven through math.

Embedded Systems Projects

Chord Piano

Sonar Range Identifier


For the 8th embedded system homework I decided to make a chord piano. Each key played a 3 note chord. A combination of major thirds and minor thirds. The notes that played were C major, D minor, D major, E minor, F major, G major, A minor, and Bb major. This taught me how to use multiple timers in conjunction with another to get a frequency output as well as how to use a summer circuit in practical audio application. Many of these assignments taught us what we need to know for the final project.




Our 9th homework had us dealing with figuring out specs on a 3rd party sonar sensor and integrating it into our project. I decided to make a trombone-like device that varies frequency based on distance. We had to go look up, interpret, and follow the specs on our sonar sensor. Unfortunately, it is a cheap overseas manufacturer so the specifications left much to be desired. Depending on the input frequency we put into the sonar sensor, the range would be determined. The range I used was 5-30 cm. While according to the specifications, this module could go up to 5 meters. However, it did not provide an accurate range throughout those 5 meters. Changing the input frequency changed the effective range in groups of 50cm to 1m max (e.g. lowering the input frequency made the sensor accurate from 1m-2m but anything before 1m was a toss up).