LED Light Show Dome

Light Dome

Source Language: Embedded C, PIC18 Assembly
Operating System: FreeRTOS -Project Site-
Source Project: MPLAB IDE
Target MCU: PIC18F4620 -Product Page-

The PIC18 runs FreeRTOS with pre-emptive multi-tasking. The PIC18 has 2 interrupts, the RTOS task switcher uses the low priority interrupt. The high priority interrupt is used by the software PWM manager which controls 5 LED's (Red, Green, Blue, White, and the LCD back-light) with 250 brightness levels. The software PWM cycle is optimized to only require a couple dozen instructions so that it can be run 10k+ times per second. There is a dedicated task which polls all the buttons, switch's, and analog potentiometers (sliders) and fires events while managing de-bounce. Another task sends output to the LCD screen, and the main task runs the lighting algorithms of the current mode.

Front panel assembly:
This controls the different modes available, colors, speed, and brightness.