Touch LED tabell (7 / 7 steg)
Steg 7: LED Touch tabellen
Slutliga kod:
#include < CapacitiveSensor.h >
#include < Adafruit_Neopixel.h >
#define PIXEL_PIN 6 / / digitalt IO pin ansluten till NeoPixels.
#define PIXEL_COUNT 28 int showType; Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); CapacitiveSensor tapper = CapacitiveSensor (2, 4);
void setup() {tapper.set_CS_AutocaL_Millis(0xFFFFFFFF); / / stänga av autocalibrate på kanal 1 - bara som ett exempel Serial.begin(9600); strip.begin(); strip.show(); / / initiera alla pixlar till "off
}
void loop() {lång total1 = tapper.capacitiveSensor(30);
om (total1 > = 2000) {om (showType > 9) {showType = 0; startShow(showType);} annat {startShow(showType); showType ++;}}
Serial.Print("\t"); tabbtecken för felsökningsfönstret avstånd Serial.print("\t"); Serial.Print(total1); avtrycken sensoren utgång 1 Serial.print("\n");
}
void startShow(int i) {
Switch (i) {fall 0: colorWipe (remsa. Color(0, 0, 0), 50); Svart/på semester.
fall 1: colorWipe (remsa. Color(255, 0, 0), 50); Röd semester.
fall 2: colorWipe (remsa. Color(255, 96, 0), 50); Orange semester.
fall 3: colorWipe (remsa. Color(255, 255, 0), 50); gul behöver hjälp semester.
fall 4: colorWipe (remsa. Color(0, 255, 0), 50); grön semester.
fall 5: colorWipe (remsa. Color(0, 0, 255), 50); blå semester.
mål 6: colorWipe (remsa. Color(38, 222, 220), 50); Teal semester.
fall 7: colorWipe (remsa. Color(75, 0, 13), 50); Lila semester.
mål 8: colorWipe (remsa. Color(255, 0, 255), 50); Rosa semester.
mål 9: colorWipe (remsa. Color(252, 253, 253), 50); vit
} }
int lightCycle = 0;
Fyll prickar en efter den andra med en färg void colorWipe (uint32_t c, uint8_t vänta) {för (uint16_t jag = 0; jag < strip.numPixels(); i ++) {strip.setPixelColor (i, c); strip.show(); delay(wait);}}
Ange ett värde 0 till 255 att få ett färgvärde. Färgerna är en övergång r - g - b - tillbaka till r. uint32_t hjul (byte WheelPos) {WheelPos = 255 - WheelPos; om (WheelPos < 85) {return strip. Färg (255 - WheelPos * 3, 0, WheelPos * 3); } else om (WheelPos < 170) {WheelPos-= 85; retur strip. Färg (0, WheelPos * 3, 255 - WheelPos * 3); } annat {WheelPos-= 170; return strip. Färg (WheelPos * 3, 255 - WheelPos * 3, 0); } }