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     
#define NUM 4      
#define B_IZQ 13   
#define B_ENTER 15 
#define B_DER 23   

#include 

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

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM, NEO, NEO_GRB + NEO_KHZ800);

void setup() {
    pixels.begin();
    pixels.setBrightness(5);
    pinMode(B_IZQ, INPUT);
    pinMode(B_ENTER, INPUT);
    pinMode(B_DER, INPUT);
}

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);
    } else if (B_ENTER_EST == LOW) {
        setColor(0, 255, 0);
    } else if (B_DER_EST == LOW) {
        setColor(0, 0, 255);
    }
}

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 Neofan 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     
#define NUM 4      
#define B_IZQ 0    
#define B_ENTER 15 
#define B_DER 13   

#include 

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

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUM, NEO, NEO_GRB + NEO_KHZ800);

void setup() {
    pixels.begin();
    pixels.setBrightness(5);
    pinMode(B_IZQ, INPUT);
    pinMode(B_ENTER, INPUT);
    pinMode(B_DER, INPUT);
}

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);
    } else if (B_ENTER_EST == LOW) {
        setColor(0, 255, 0);
    } else if (B_DER_EST == LOW) {
        setColor(0, 0, 255);
    }
}

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​odigo Simple

Codigo con Funciones