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.
Revision 5:c024e3b15ca0, committed 2013-07-29
- Comitter:
- icenyne
- Date:
- Mon Jul 29 19:51:02 2013 +0000
- Parent:
- 4:0b2084fce8c7
- Commit message:
- Modified RGB values to be calculated by different frequency sin waves. Angle and RGB values print to serial console. Added some comments, too.
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Feb 19 23:47:40 2013 +0000
+++ b/main.cpp Mon Jul 29 19:51:02 2013 +0000
@@ -1,21 +1,38 @@
#include "mbed.h"
+#include "math.h" // include math.h to get sin function
PwmOut r (LED_RED);
PwmOut g (LED_GREEN);
PwmOut b (LED_BLUE);
+float lr, lg, lb; // temp variables for printing current values
+const float pi = 3.1415927; // create a constant to use for value of pi
+
+Serial PC(USBTX,USBRX); // define serial port for outputting RGB values
+
int main() {
+
+ PC.baud(115200); // set baud rate for serial port
+
r.period(0.001);
g.period(0.001);
b.period(0.001);
while (true) {
- for (float i = 0.0; i < 1.0 ; i += 0.001) {
- float p = 3 * i;
- r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0);
- g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p);
- b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0);
- wait (0.0025);
+ for (float i = 0.0; i < 60*pi ; i += 0.001) {
+
+ lr = (1+sin(2*i))/2; // calculate values for RGB based on different
+ lg = (1+sin(3*i))/2; // frequency sin waves. This should give a nice
+ lb = (1+sin(5*i))/2; // smooth transistion between colors and a
+ // somewhat non repeating color sequence
+
+ r = lr; // send RGB values to LED PWMs
+ g = lg;
+ b = lb;
+
+ PC.printf("%f %f %f %f\r\n", i, lr, lg, lb); // output to console
+
+ wait (0.0025); // some delay so we can see the changes
}
}
}
\ No newline at end of file