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

Files at this revision

API Documentation at this revision

Comitter:
bikeNomad
Date:
Fri Jan 03 15:45:56 2014 +0000
Parent:
26:ac5d0e18c7b6
Child:
28:dbe551a3dd64
Commit message:
made rainbows change with accelerometer.

Changed in this revision

MMA8451Q.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA8451Q.lib	Fri Jan 03 15:45:56 2014 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/emilmont/code/MMA8451Q/#c4d879a39775
--- 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 ++;