Botão e LED RGB
Este exemplo apresenta como usar o botão e LED RGB.
Vídeo explicativo
Dependência
Exemplo
/*
Autor: João Vitor Alvares
Versão: 1.0
Objetivo: Botão e LED RGB placa MIJ (Módulo IoT JVTECH)
*/
// Para ESP32
#include <Arduino.h> // Biblioteca nativa do ESP32
// Para o LED RGB
#include <Adafruit_NeoPixel.h> // Biblioteca Adafruit_NeoPixel-master.zip na pasta ou versão: 1.9.0 por Adafruit
// Constantes
#define NUMPIXELS 1
#define RED pixels.Color(255, 0, 0) // Vermelho
#define GREEN pixels.Color(0, 255, 0) // Verde
#define BLUE pixels.Color(0, 0, 255) // Azul
#define WHITE pixels.Color(255, 255, 255) // Branco
#define OFF_COLORS pixels.Color(0, 0, 0) // Desligado
#define MAXCOLORS 5
// Objeto LED RGB
Adafruit_NeoPixel pixels(NUMPIXELS, 2, NEO_GRB + NEO_KHZ800);
// Variaveis globais LED RGB
uint32_t cores[MAXCOLORS] = {RED, GREEN, BLUE, WHITE, OFF_COLORS};
bool flagBotao = false;
uint8_t contador = 0;
void setup(){
// Iniciar serial
Serial.begin(115200);
// Iniciar botão
pinMode(25, INPUT);
// Iniciar o LED RGB
pixels.begin();
}
void loop(){
if(!digitalRead(25)) flagBotao = true;
if(digitalRead(25) && flagBotao){
flagBotao = false;
contador++;
if(contador > 5) contador = 1;
delay(555);
}
if(contador == 1){ // Vermelho
pixels.clear();
pixels.setPixelColor(0,cores[0]);
pixels.show();
}
if(contador == 2){ // Verde
pixels.clear();
pixels.setPixelColor(0,cores[1]);
pixels.show();
}
if(contador == 3){ // Azul
pixels.clear();
pixels.setPixelColor(0,cores[2]);
pixels.show();
}
if(contador == 4){ // Branco
pixels.clear();
pixels.setPixelColor(0,cores[3]);
pixels.show();
}
if(contador == 5){ // Desligado
pixels.clear();
pixels.setPixelColor(0,cores[4]);
pixels.show();
}
}
Last updated