For my very first dive into embedded systems, I decided to purchase and practice programming an Arduino Uno micro controller. This little guy has a 16 MHz Atmega328 processor and only 32 KB of flash memory to hold programs. After writing and uploading some very basic test programs to the Uno, I decided to utilize the microcontroller’s flexible modularity with other add-on components. I purchased a JY-MCU bluetooth module that is easily controlled by the Uno.
The Uno was also rigged up to digital L.E.D. light strips that can vary in colors determined by the amount of supplied voltage provided to the RGB leds through MOSFET transistors. The next goal was allow the Arduino Uno to control the color of the LED’s by manipulating voltages based on the inputs received from the Bluetooth module.
The next phase involved writing an application targeted towards Bluetooth enabled Android phones. This application allows users to select values between 0 and 255 for the RGB components of the LED strips. Every time the user alters a color value, all of the color values are transmitted as bytes through Bluetooth to the Arduino Uno. The Uno then adjusts LED voltages as necessary.
Here is a Github repository with source code for the Android application and the Arduino program: