#include #define PIN 7 #define NUMPIXELS 16 Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); void setup() { pixels.begin(); Serial.begin(9600); } void loop() { if (Serial.available() > 0) { char command = Serial.read(); if (command == 'L') { arcoiris(); } else if (command == 'O') { apagar(); } } } void arcoiris() { for (int i = 0; i < NUMPIXELS; i++) { pixels.setPixelColor(i, Wheel(map(i, 0, NUMPIXELS-1, 0, 255))); } pixels.show(); } void apagar() { for (int i = 0; i < NUMPIXELS; i++) { pixels.setPixelColor(i, pixels.Color(0, 0, 0)); // Apagar todos los NeoPixels } pixels.show(); } uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { return pixels.Color(255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; return pixels.Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return pixels.Color(WheelPos * 3, 255 - WheelPos * 3, 0); }