Paso 7: La mesa táctil de LED
Código final:
#include < CapacitiveSensor.h >
#include < Adafruit_Neopixel.h >
#define PIXEL_PIN 6 / pin IO Digital conectado a la NeoPixels.
#define PIXEL_COUNT 28 int showType; Tira de Adafruit_NeoPixel = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); Recolector de CapacitiveSensor = CapacitiveSensor (2, 4);
void setup() {tapper.set_CS_AutocaL_Millis(0xFFFFFFFF); / / desactivar autocalibrate en canal 1 - apenas como un ejemplo Serial.begin(9600); strip.begin(); strip.show(); / / inicializar todos los píxeles a ' apagado
}
void loop() {largo total1 = tapper.capacitiveSensor(30);
Si (total1 > = 2000) {si (showType > 9) {showType = 0; startShow(showType);} else {startShow(showType); showType ++;}}
Serial.Print("\t"); carácter de tabulación para la ventana de depuración, separación de Serial.print("\t"); Serial.Print(total1); salida del sensor impresión 1 Serial.print("\n");
}
void startShow(int i) {}
interruptor (i) {caso 0: colorWipe (de la tira. Color(0, 0, 0), 50); Negro/de rotura;
caso 1: colorWipe (de la tira. Color(255, 0, 0), 50); Rotura del rojo;
caso 2: colorWipe (de la tira. Color(255, 96, 0), 50); rotura de naranja;
caso 3: colorWipe (de la tira. Color(255, 255, 0), 50); amarillo necesita ayuda rotura;
caso 4: colorWipe (de la tira. Color(0, 255, 0), 50); descanso verde;
caso 5: colorWipe (de la tira. Color(0, 0, 255), 50); rotura azul;
caso 6: colorWipe (de la tira. Color(38, 222, 220), 50); Rotura del trullo;
caso 7: colorWipe (de la tira. Color(75, 0, 13), 50); Rotura de púrpura;
caso 8: colorWipe (de la tira. Color(255, 0, 255), 50); Rotura del color de rosa;
caso 9: colorWipe (de la tira. Color(252, 253, 253), 50); Blanco
} }
ciclo de luz int = 0;
Llene los puntos uno tras otro con un colorWipe vacío de color (uint32_t c, uint8_t espera) {para (uint16_t i = 0; i < strip.numPixels(); i ++) {strip.setPixelColor (i, c); strip.show(); delay(wait);}}
Un valor de 0 a 255, para obtener un valor de color de entrada. Los colores son una transición r - g - b - a r. rueda de uint32_t (bytes WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos < 85) {vuelta tira. Color (255 - WheelPos * 3, 0, WheelPos * 3); } else if (WheelPos < 170) {WheelPos-= 85; tira de vuelta. Color (0, WheelPos * 3, 255 - WheelPos * 3); } else {WheelPos-= 170; tira de vuelta. Color (WheelPos * 3, 255 - WheelPos * 3, 0); } }