Demo Day SSL using 3 microphones and KL25z
Dependencies: Multi_WS2811_Mic FastAnalogIn USBDevice mbed
main.cpp
- Committer:
- antoniorohit
- Date:
- 2014-12-09
- Revision:
- 2:3d06dcc44f2a
- Parent:
- 1:56a68eaa1129
File content as of revision 2:3d06dcc44f2a:
#include "mbed.h" #include "FastAnalogIn.h" #include "WS2811.h" #include "Colors.h" unsigned const nLEDs = 30;//MAX_LEDS_PER_STRIP; unsigned const DATA_OUT_PIN1 = 7; // PTC7 FastAnalogIn mic0(A0, 0); FastAnalogIn mic1(A1, 0); FastAnalogIn mic2(A2, 0); Serial pc(USBTX, USBRX); DigitalOut ledR(LED_RED); DigitalOut ledG(LED_GREEN); DigitalOut ledB(LED_BLUE); static void showSolidColor(WS2811 &strip, uint8_t r, uint8_t g, uint8_t b) { unsigned nLEDs = strip.numPixels(); for (unsigned i = 0; i < nLEDs; i++) { strip.setPixelColor(i, r, g, b); } strip.show(); } static void clearScreen(WS2811 &strip) { unsigned nLEDs = strip.numPixels(); for (unsigned i = 0; i < nLEDs; i++) { strip.setPixelColor(i, 0, 0, 0); } strip.show(); } int main(void) { uint16_t i = 0; uint16_t buff0[500]; uint16_t buff1[500]; uint16_t buff2[500]; char pc_read = 0; pc.baud(921600); ledR = ledG = ledB = 1; WS2811 lightStrip1(nLEDs, DATA_OUT_PIN1); lightStrip1.begin(); while (true){ pc_read = 0; for(i = 0; i < 251; i++){ buff0[i] = int(1000*mic0.read()); buff1[i] = int(1000*mic1.read()); buff2[i] = int(1000*mic2.read()); } for(i = 0; i < 251; i++){ pc.printf("%d,%d,%d\n", buff0[i], buff1[i], buff2[i]); } while(pc_read != 'Y'){ while(!pc.readable()); pc_read = pc.getc(); switch(pc_read){ case 'Y': pc.printf("Go\n"); break; case 'R': ledR = 0; ledG = 1; ledB = 1; break; case 'G': ledR = 1; ledG = 0; ledB = 1; break; case 'B': ledR = 1; ledG = 1; ledB = 0; break; case '1': clearScreen(lightStrip1); lightStrip1.setPixelColor(0, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(1, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(2, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(3, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(4, ledR*100, ledG*100, ledB*100); break; case '2': clearScreen(lightStrip1); lightStrip1.setPixelColor(5, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(6, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(7, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(8, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(9, ledR*100, ledG*100, ledB*100); break; case '3': clearScreen(lightStrip1); lightStrip1.setPixelColor(10, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(11, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(12, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(13, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(14, ledR*100, ledG*100, ledB*100); break; case '4': clearScreen(lightStrip1); lightStrip1.setPixelColor(15, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(16, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(17, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(18, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(19, ledR*100, ledG*100, ledB*100); break; case '5': clearScreen(lightStrip1); lightStrip1.setPixelColor(20, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(21, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(22, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(23, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(24, ledR*100, ledG*100, ledB*100); break; case '6': clearScreen(lightStrip1); lightStrip1.setPixelColor(25, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(26, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(27, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(28, ledR*100, ledG*100, ledB*100); lightStrip1.setPixelColor(29, ledR*100, ledG*100, ledB*100); break; default: break; } lightStrip1.show(); WS2811::startDMA(); } } }