Un ejemplo de uso de la Miniblip con potenciómetro

Dependencies:   PixelArray USBDevice mbed

Fork of blip_rainbow by Alberto Piganti

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // potenciometro controla la matriz 
00002 // y buzzer al mismo tiempo envia por 
00003 // el puerto serie
00004 
00005 #include "mbed.h"
00006 #include "neopixel.h"
00007 #include "USBSerial.h"
00008 
00009 // Matrix led output pin
00010 #define MATRIX_PIN P0_9
00011 #define NLEDS 25
00012 
00013 AnalogIn   ain(P0_22);
00014 
00015 unsigned int counter = 0;   
00016 USBSerial serial;
00017 
00018 neopixel::Pixel buffer[NLEDS];
00019 PwmOut speaker(P0_8);
00020 
00021 void setPixel(uint32_t posicion, uint8_t red, uint8_t green, uint8_t blue) {
00022   buffer[posicion].red=red;
00023   buffer[posicion].green=green;
00024   buffer[posicion].blue=blue;
00025 }
00026 
00027 int main()
00028 {
00029     // Turn off miniblip buzzer
00030     speaker=0.0;
00031 
00032     serial.printf("Hello world!\n");    
00033     while(true) {   
00034         float pot = ain.read() * 50.0f;
00035         serial.printf("mini blip is alive for %i seconds.\n", counter);
00036         serial.printf("Pot: %3.3f%%\n", pot);
00037         counter++;  
00038     
00039         neopixel::PixelArray array(MATRIX_PIN);
00040         for(int i=0;i<NLEDS;i++) {
00041             setPixel(i, pot, 0, 0);
00042         }
00043         
00044         float note=500+(pot);
00045         speaker.period(1.0/note);           
00046         speaker = 50.0;
00047         
00048         array.update(buffer, NLEDS);
00049         //wait(1);    
00050 
00051     }
00052     
00053 }// miniblip led matrix demo