// Neopixel #include #define PIXEL_DATA 22 #define NUMPIXELS 1 Adafruit_NeoPixel pixels(NUMPIXELS, PIXEL_DATA, NEO_GRB + NEO_KHZ800); // APDS #include "Adafruit_APDS9960.h" Adafruit_APDS9960 apds; void setup() { // Gesture sensor Serial.begin(115200); if(!apds.begin()){ Serial.println("failed to initialize device! Please check your wiring."); } else Serial.println("Device initialized!"); apds.enableProximity(true); apds.enableGesture(true); apds.enableColor(true); // RGB leds pixels.begin(); pixels.clear(); pixels.show(); } void loop() { pixels.clear(); while(!apds.colorDataReady()){ delay(5); } // Color example uint16_t r, g, b, c; apds.getColorData(&r, &g, &b, &c); Serial.print("red: "); Serial.print(r); Serial.print(" green: "); Serial.print(g); Serial.print(" blue: "); Serial.print(b); Serial.print(" clear: "); Serial.println(c); Serial.println(); delay(500); uint32_t color_detected = pixels.Color(r,g,b); pixels.fill(color_detected, 0 , NUMPIXELS); pixels.show(); delay(500); // Gesture example uint8_t gesture = apds.readGesture(); if (gesture == APDS9960_LEFT) { Serial.println("LEFT"); uint32_t magenta = pixels.Color(255,0,255); pixels.fill(magenta, 0 , NUMPIXELS); pixels.show(); } if (gesture == APDS9960_RIGHT) { Serial.println("RIGHT"); uint32_t green = pixels.Color(0,255,0); pixels.fill(green, 0 , NUMPIXELS); pixels.show(); } }