A program to control an RGB LED using PWM outputs from the RenBED.
main.cpp@2:c9141fc3900d, 2016-04-15 (annotated)
- Committer:
- RenBuggy
- Date:
- Fri Apr 15 08:38:19 2016 +0000
- Revision:
- 2:c9141fc3900d
- Parent:
- 1:403bf5e66837
.;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RenBuggy | 0:f4b16c0de4df | 1 | /********************************************************* |
RenBuggy | 1:403bf5e66837 | 2 | *RenBED_RGB_PWM * |
RenBuggy | 0:f4b16c0de4df | 3 | *Author: Elijah Orr * |
RenBuggy | 0:f4b16c0de4df | 4 | * * |
RenBuggy | 0:f4b16c0de4df | 5 | *A program that changes the colour of an RGB LED by * |
RenBuggy | 0:f4b16c0de4df | 6 | *changing the duty cycle of PWM outputs to the colour * |
RenBuggy | 0:f4b16c0de4df | 7 | *cathodes of the LED. * |
RenBuggy | 0:f4b16c0de4df | 8 | *********************************************************/ |
RenBuggy | 0:f4b16c0de4df | 9 | |
RenBuggy | 0:f4b16c0de4df | 10 | /* include the mbed library made by mbed.org that contains |
RenBuggy | 0:f4b16c0de4df | 11 | classes/functions designed to make programming mbed |
RenBuggy | 0:f4b16c0de4df | 12 | microcontrollers easier */ |
RenBuggy | 0:f4b16c0de4df | 13 | #include "mbed.h" |
RenBuggy | 0:f4b16c0de4df | 14 | |
RenBuggy | 0:f4b16c0de4df | 15 | /* Set up 3 pins as PWM out to control the colour |
RenBuggy | 0:f4b16c0de4df | 16 | cathodes of the RGB LED */ |
RenBuggy | 0:f4b16c0de4df | 17 | PwmOut Red(PWM5); |
RenBuggy | 0:f4b16c0de4df | 18 | PwmOut Green(PWM7); |
RenBuggy | 0:f4b16c0de4df | 19 | PwmOut Blue(PWM6); |
RenBuggy | 0:f4b16c0de4df | 20 | |
RenBuggy | 0:f4b16c0de4df | 21 | /* the main function is where a program will begin to execute. */ |
RenBuggy | 0:f4b16c0de4df | 22 | |
RenBuggy | 0:f4b16c0de4df | 23 | /**************************************************************** |
RenBuggy | 0:f4b16c0de4df | 24 | * Function: main() * |
RenBuggy | 0:f4b16c0de4df | 25 | * * |
RenBuggy | 0:f4b16c0de4df | 26 | * Sequences an RBG LED connected to the RenBED * |
RenBuggy | 0:f4b16c0de4df | 27 | * * |
RenBuggy | 0:f4b16c0de4df | 28 | * Inputs: none * |
RenBuggy | 0:f4b16c0de4df | 29 | * * |
RenBuggy | 0:f4b16c0de4df | 30 | * Returns: none * |
RenBuggy | 0:f4b16c0de4df | 31 | ****************************************************************/ |
RenBuggy | 0:f4b16c0de4df | 32 | int main() |
RenBuggy | 0:f4b16c0de4df | 33 | { |
RenBuggy | 0:f4b16c0de4df | 34 | /* open a for loop with no parameters to start an infinite loop */ |
RenBuggy | 0:f4b16c0de4df | 35 | for(;;){ |
RenBuggy | 0:f4b16c0de4df | 36 | Red = 0.7; /* Duty cycle on red pin set to 70% so red is on 30% of the time */ |
RenBuggy | 0:f4b16c0de4df | 37 | Green = 0.4; |
RenBuggy | 2:c9141fc3900d | 38 | wait_ms(3000); /* wait for 3000 ms (3 seconds) */ |
RenBuggy | 0:f4b16c0de4df | 39 | Red = 1; /* Duty cycle set to 100% to turn red off */ |
RenBuggy | 1:403bf5e66837 | 40 | Blue = 0; /* Duty cycle set to 0% to turn blue fully on */ |
RenBuggy | 0:f4b16c0de4df | 41 | wait_ms(3000); |
RenBuggy | 0:f4b16c0de4df | 42 | Green = 1; |
RenBuggy | 0:f4b16c0de4df | 43 | wait_ms(3000); |
RenBuggy | 0:f4b16c0de4df | 44 | Red = Green = Blue = 1; |
RenBuggy | 0:f4b16c0de4df | 45 | wait_ms(3000); |
RenBuggy | 0:f4b16c0de4df | 46 | Blue = 0; |
RenBuggy | 0:f4b16c0de4df | 47 | wait_ms(3000); |
RenBuggy | 0:f4b16c0de4df | 48 | } |
RenBuggy | 0:f4b16c0de4df | 49 | } |
RenBuggy | 0:f4b16c0de4df | 50 | |
RenBuggy | 0:f4b16c0de4df | 51 |