/* * Ejemplo de control de Neopixels para las placas KitMaker y Neofan de FANIOT. * Este programa enciende una tira de Neopixels conectada al pin 27 y cambia los colores entre rojo, verde y azul. * * Para usar este código, debes instalar la librería Adafruit NeoPixel: * En el Arduino IDE, ve a Sketch -> Incluir Librería -> Administrar Bibliotecas... * Busca "Adafruit NeoPixel" y haz clic en instalar. */ #define NEO 27 // Definimos el pin del Neopixel, en este caso es el 27. #define NUM 4 // Definimos el número de Neopixels, en este caso es 4. #include // Incluimos la librería Neopixel // Creamos un objeto de tipo Adafruit_NeoPixel Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM, NEO, NEO_GRB + NEO_KHZ800); /* * La función setup() se ejecuta una vez al encender o resetear la placa. */ void setup() { // Inicializamos la librería Neopixel pixels.begin(); // Ajustamos el nivel de brillo en un 20% (0-255) pixels.setBrightness(51); } /* * La función loop() se ejecuta continuamente en un ciclo. */ void loop() { // Encendemos los Neopixels en rojo setPixelsColor(255, 0, 0); // Usamos la función para establecer el color rojo delay(2000); // Esperamos 2 segundos // Encendemos los Neopixels en verde setPixelsColor(0, 255, 0); // Usamos la función para establecer el color verde delay(2000); // Esperamos 2 segundos // Encendemos los Neopixels en azul setPixelsColor(0, 0, 255); // Usamos la función para establecer el color azul delay(2000); // Esperamos 2 segundos } /* * Función para establecer el color de todos los Neopixels * * Parámetros: * - int r: valor de rojo (0-255) * - int g: valor de verde (0-255) * - int b: valor de azul (0-255) */ void setPixelsColor(int r, int g, int b) { // Recorremos todos los Neopixels utilizando un bucle for. // El bucle for se utiliza para repetir una acción un número específico de veces. // En este caso, recorremos desde 0 hasta NUM-1 (es decir, todos los Neopixels). for (int i = 0; i < NUM; i++) { // Establecemos el color RGB en el Neopixel i pixels.setPixelColor(i, pixels.Color(r, g, b)); } // Enviamos la actualización de color a todos los Neopixels pixels.show(); }