Código de iniciación para MiniBlip: LEDs+pulsador+puertoSerie

Dependencies:   PixelArray USBDevice mbed

Files at this revision

API Documentation at this revision

Comitter:
carlosgs
Date:
Mon Jan 18 16:16:09 2016 +0000
Commit message:
Initial commit

Changed in this revision

PixelArray.lib Show annotated file Show diff for this revision Revisions of this file
USBDevice.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
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 49f15045d34a PixelArray.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PixelArray.lib	Mon Jan 18 16:16:09 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/JacobBramley/code/PixelArray/#47802e75974e
diff -r 000000000000 -r 49f15045d34a USBDevice.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/USBDevice.lib	Mon Jan 18 16:16:09 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/USBDevice/#0e6b3f44926e
diff -r 000000000000 -r 49f15045d34a main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Jan 18 16:16:09 2016 +0000
@@ -0,0 +1,86 @@
+// Programa de Hola mundo
+// Animación en la matriz de LEDs, recibe input del pulsador, y escribe por el puerto serie
+
+// Enlaces útiles:
+// http://hack-miniblip.github.io/programar.html
+// https://raw.githubusercontent.com/hack-miniblip/hack-miniblip.github.io/master/Scripts/miniblip_loader.sh
+// https://github.com/hack-miniblip/hack-miniblip.github.io/blob/master/cookbook.md
+// http://hack-miniblip.github.io/esquema_minilip_pinout.png
+
+
+#include "mbed.h"
+#include "neopixel.h"
+#include "USBSerial.h"
+
+// Matrix led output pin
+#define MATRIX_PIN P0_9
+#define NLEDS 25
+
+unsigned int counter = 0;   
+USBSerial serial;
+
+DigitalIn pushbutton(P0_23); //Define pushbutton
+
+neopixel::Pixel buffer[NLEDS];
+
+neopixel::PixelArray array(MATRIX_PIN);
+
+void setPixel(int x, int y, uint8_t red, uint8_t green, uint8_t blue) {
+  if(x < 0 || x > 4 || y < 0 || y > 4) return;
+  int posicion=x+y*5;
+  buffer[posicion].red=red;
+  buffer[posicion].green=green;
+  buffer[posicion].blue=blue;
+}
+
+void updateLEDs() {
+    array.update(buffer, NLEDS);
+}
+
+void clearPixels() {
+    for(int x=0; x<5; x++)
+        for(int y=0; y<5; y++)
+            setPixel(x,y, 0,0,0);
+}
+
+
+PwmOut speaker(P0_8);
+
+int main()
+{
+    // Apagar el zumbador
+    speaker=0.0;
+    
+    // setPixel(x,y, r,g,b); // valor máximo RGB: 255
+    
+    // Poner todos los LED en verde gradualmente
+    for(int x=0; x<5; x++) {
+        for(int y=0; y<5; y++) {
+            setPixel(x,y, 0,10,0);
+            updateLEDs();
+            wait_ms(100);
+        }
+    }
+    
+    clearPixels(); // Poner a 0 la matriz actual
+    
+    // Dibujar un smiley
+    setPixel(4,1, 0,0,20); // ojos
+    setPixel(4,3, 0,0,20);
+    
+    setPixel(1,0, 0,0,20); // boca
+    setPixel(0,1, 0,0,20);
+    setPixel(0,2, 0,0,20);
+    setPixel(0,3, 0,0,20);
+    setPixel(1,4, 0,0,20);
+    
+    while(1) {
+        if (pushbutton) {
+            updateLEDs(); // Se muestra el smiley
+            serial.printf("Hola Mundo! Texto enviado por el puerto serie, a 9600 baudios\r\n");
+            wait(1);  // Espera 1 segundo  
+        }
+        
+    }
+    
+}
\ No newline at end of file
diff -r 000000000000 -r 49f15045d34a mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Jan 18 16:16:09 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/6f327212ef96
\ No newline at end of file