Simple 8x8 LED Matrix controller which interfaces with a Processing GUI over serial to display sketches

Dependencies:   Multi_WS2811 mbed

Fork of Multi_WS2811_test by Ned Konz

Revision:
27:88c2abdf5eb9
Parent:
25:751c89f7e654
Child:
28:dbe551a3dd64
diff -r ac5d0e18c7b6 -r 88c2abdf5eb9 main.cpp
--- a/main.cpp	Thu Jan 02 19:44:43 2014 +0000
+++ b/main.cpp	Fri Jan 03 15:45:56 2014 +0000
@@ -2,6 +2,9 @@
 #include "WS2811.h"
 #include "Colors.h"
 #include "TSISensor.h"
+#include "MMA8451Q.h"
+
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
 
 // per LED: 3 * 20 mA = 60mA max
 // 60 LEDs: 60 * 60mA = 3600 mA max
@@ -21,6 +24,8 @@
 Timer timeRunning;
 
 TSISensor touchSensor;
+MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
+
 Ticker touchTicker;
 float touchPercentage;
 unsigned frames;
@@ -107,13 +112,15 @@
 
     for (;;) {
         unsigned running = timeRunning.read_us();
-        float hueShift = running / rainbowPeriod;
+        // float hueShift = running / rainbowPeriod;
         if (!printed && running >= 10000000U) {
             pc.printf("%u frames in %u usec = %u frames / sec\r\n", frames, running, frames * 1000000 / running);
             printed = true;
         }
-        showRainbow(lightStrip1, sat, brite, hueShift);
-        showRainbow(lightStrip2, sat, brite, hueShift + 0.5);
+        float xyz[3];
+        acc.getAccAllAxis(xyz);
+        showRainbow(lightStrip1, sat, brite, xyz[0]);
+        showRainbow(lightStrip2, sat, brite, xyz[1]);
         WS2811::startDMA();
 
         frames ++;