Pulsadores y Neopixeles

Da tu primer paso en el mundo de la programación con nuestras placas KITMAKER 1.0 y KITMAKER 2.0 
En esta actividad, programarás una tira de Neopixels para cambiar entre rojo, verde y azul según el botón presionado, explorando entradas y salidas.

El código proporcionado es totalmente funcional para ambas placas, ofreciéndote una experiencia sencilla y accesible para comenzar a crear tus propias ideas.


¡Empecemos!

​       ​Ide Arduino


  • Este código está escrito en C++ y está diseñado para ejecutarse en nuestra placa KITMAKER 1.0 y KITMAKER 2.0

/*
 * Ejemplo de control de Neopixels con botones para la placa KitMaker de FANIOT.
 * Este programa enciende una tira de Neopixels conectada al pin 27 y cambia los colores entre rojo, verde y azul
 * según el botón presionado (izquierdo, central o derecho).
 */

#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.
#define B_IZQ 13 // Definimos el Pin del botón Izquierdo.
#define B_ENTER 15 // Definimos el Pin del botón Central.
#define B_DER 23 // Definimos el Pin del botón Derecho.

#include <​Adafruit_NeoPixel.h> // Incluimos la librería Neopixel

int B_IZQ_EST = 0;
int B_ENTER_EST = 0;
int B_DER_EST = 0;

// Creamos el objeto de tipo Adafruit_NeoPixel
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM, NEO, NEO_GRB + NEO_KHZ800);

// La función setup() se ejecuta una sola vez al inicio
void setup() {
    pixels.begin();
    pixels.setBrightness(5);
    pinMode(B_IZQ, INPUT);
    pinMode(B_ENTER, INPUT);
    pinMode(B_DER, INPUT);
}

// La función loop() se ejecuta repetitivamente
void loop() {
    B_IZQ_EST = digitalRead(B_IZQ);
    B_ENTER_EST = digitalRead(B_ENTER);
    B_DER_EST = digitalRead(B_DER);

    if (B_IZQ_EST == LOW) {
        setColor(255, 0, 0); // Rojo
    } else if (B_ENTER_EST == LOW) {
        setColor(0, 255, 0); // Verde
    } else if (B_DER_EST == LOW) {
        setColor(0, 0, 255); // Azul
    }
}

/*
 * Función para establecer el color de toda la tira de Neopixels
 */
void setColor(int r, int g, int b) {
    for (int i = 0; i < NUM; i++) {
        pixels.setPixelColor(i, pixels.Color(r, g, b));
    }
    pixels.show();
}
        

/*
 * Ejemplo de control de Neopixels con botones para la placa KITMAKER de FANIOT.
 * Este programa enciende una tira de Neopixels conectada al pin 27 y cambia los colores entre rojo, verde y azul
 * según el botón presionado (izquierdo, central o derecho).
 */

#define NEO 27 // Definimos el pin del Neopixel.
#define NUM 4 // Definimos el número de Neopixels.
#define B_IZQ 0 // Pin del botón Izquierdo.
#define B_ENTER 15 // Pin del botón Central.
#define B_DER 13 // Pin del botón Derecho.

#include <​Adafruit_NeoPixel.h> // Incluimos la librería Neopixel

int B_IZQ_EST = 0;
int B_ENTER_EST = 0;
int B_DER_EST = 0;

// Creamos el objeto de tipo Adafruit_NeoPixel
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM, NEO, NEO_GRB + NEO_KHZ800);

// La función setup() se ejecuta una sola vez al inicio
void setup() {
    pixels.begin();
    pixels.setBrightness(5);
    pinMode(B_IZQ, INPUT);
    pinMode(B_ENTER, INPUT);
    pinMode(B_DER, INPUT);
}

// La función loop() se ejecuta repetitivamente
void loop() {
    B_IZQ_EST = digitalRead(B_IZQ);
    B_ENTER_EST = digitalRead(B_ENTER);
    B_DER_EST = digitalRead(B_DER);

    if (B_IZQ_EST == LOW) {
        setColor(255, 0, 0); // Rojo
    } else if (B_ENTER_EST == LOW) {
        setColor(0, 255, 0); // Verde
    } else if (B_DER_EST == LOW) {
        setColor(0, 0, 255); // Azul
    }
}

/*
 * Función para establecer el color de toda la tira de Neopixels
 */
void setColor(int r, int g, int b) {
    for (int i = 0; i < NUM; i++) {
        pixels.setPixelColor(i, pixels.Color(r, g, b));
    }
    pixels.show();
}
        


​         ​  ​ArduinoBlocks

  • Este código está escrito en un lenguaje visual basado en bloques, utilizado comúnmente en plataformas como ArduinoBlocks o similares. Está diseñado para facilitar la programación en placas Arduino mediante una interfaz gráfica.


Código Simple

Código con Funciones