Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:f8795d549647, 2016-04-13 (annotated)
- Committer:
- RenBuggy
- Date:
- Wed Apr 13 14:33:42 2016 +0000
- Revision:
- 0:f8795d549647
- Child:
- 1:333227007cea
Simple RGB LED control
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| RenBuggy | 0:f8795d549647 | 1 | /********************************************************* | 
| RenBuggy | 0:f8795d549647 | 2 | *RenBED_RGB * | 
| RenBuggy | 0:f8795d549647 | 3 | *Author: Elijah Orr * | 
| RenBuggy | 0:f8795d549647 | 4 | * * | 
| RenBuggy | 0:f8795d549647 | 5 | *A program that cycles through the 9 different states * | 
| RenBuggy | 0:f8795d549647 | 6 | *(including off) of a common anode RGB LED that are * | 
| RenBuggy | 0:f8795d549647 | 7 | *available via digital pin control. * | 
| RenBuggy | 0:f8795d549647 | 8 | *********************************************************/ | 
| RenBuggy | 0:f8795d549647 | 9 | |
| RenBuggy | 0:f8795d549647 | 10 | /* include the mbed library made by mbed.org that contains | 
| RenBuggy | 0:f8795d549647 | 11 | classes/functions designed to make programming mbed | 
| RenBuggy | 0:f8795d549647 | 12 | microcontrollers easier */ | 
| RenBuggy | 0:f8795d549647 | 13 | #include "mbed.h" | 
| RenBuggy | 0:f8795d549647 | 14 | |
| RenBuggy | 0:f8795d549647 | 15 | /* Set up 3 pins as digital out to control the colour | 
| RenBuggy | 0:f8795d549647 | 16 | cathodes of the RGB LED */ | 
| RenBuggy | 0:f8795d549647 | 17 | DigitalOut Red(p21); | 
| RenBuggy | 0:f8795d549647 | 18 | DigitalOut Green(p23); | 
| RenBuggy | 0:f8795d549647 | 19 | DigitalOut Blue(p22); | 
| RenBuggy | 0:f8795d549647 | 20 | |
| RenBuggy | 0:f8795d549647 | 21 | /* the main function is where a program will begin to execute. */ | 
| RenBuggy | 0:f8795d549647 | 22 | |
| RenBuggy | 0:f8795d549647 | 23 | /**************************************************************** | 
| RenBuggy | 0:f8795d549647 | 24 | * Function: main() * | 
| RenBuggy | 0:f8795d549647 | 25 | * * | 
| RenBuggy | 0:f8795d549647 | 26 | * Sequences an RBG LED connected to the RenBED * | 
| RenBuggy | 0:f8795d549647 | 27 | * * | 
| RenBuggy | 0:f8795d549647 | 28 | * Inputs: none * | 
| RenBuggy | 0:f8795d549647 | 29 | * * | 
| RenBuggy | 0:f8795d549647 | 30 | * Returns: none * | 
| RenBuggy | 0:f8795d549647 | 31 | ****************************************************************/ | 
| RenBuggy | 0:f8795d549647 | 32 | int main() | 
| RenBuggy | 0:f8795d549647 | 33 | { | 
| RenBuggy | 0:f8795d549647 | 34 | /* open a for loop with no parameters to start an infinite loop */ | 
| RenBuggy | 0:f8795d549647 | 35 | for(;;){ | 
| RenBuggy | 0:f8795d549647 | 36 | Red = 0; /* As we are controlling colour cathodes, we must pull the pin low to turn on the colour */ | 
| RenBuggy | 0:f8795d549647 | 37 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 38 | Blue = 0; /* Colours are combined by switching multiple colour pins on at once */ | 
| RenBuggy | 0:f8795d549647 | 39 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 40 | Red = 1; /* Pull the red pin high to switch it off */ | 
| RenBuggy | 0:f8795d549647 | 41 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 42 | Green = 0; | 
| RenBuggy | 0:f8795d549647 | 43 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 44 | Blue = 1; | 
| RenBuggy | 0:f8795d549647 | 45 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 46 | Red = 0; | 
| RenBuggy | 0:f8795d549647 | 47 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 48 | Red = 1; | 
| RenBuggy | 0:f8795d549647 | 49 | Blue = 0; | 
| RenBuggy | 0:f8795d549647 | 50 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 51 | Red = 0; | 
| RenBuggy | 0:f8795d549647 | 52 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 53 | Red = Blue = Green = 1; /* Switch off all colours */ | 
| RenBuggy | 0:f8795d549647 | 54 | wait_ms(1000); | 
| RenBuggy | 0:f8795d549647 | 55 | } | 
| RenBuggy | 0:f8795d549647 | 56 | } | 
| RenBuggy | 0:f8795d549647 | 57 | |
| RenBuggy | 0:f8795d549647 | 58 |