#include <Adafruit_NeoPixel.h>
#define PIN 4 //Pino de entrada no fita de leds
#define NUMPIXELS 3 //Quantidde de pixels
#define SW_PIN 2 // Pino da chave seletora (modo falha)
//Cria um pixel
Adafruit_NeoPixel np1p = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
//Inicializa a serial
Serial.begin(9600);
//Initicializa a bilbioteca NeoPixel
np1p.begin();
//Limpa a cor
np1p.fill(0x000000, 0, 1); //Cor, Primeiro, Quantidade
//Atualiza o pixel
np1p.show();
//Escreve uma cor
np1p.setPixelColor(0, 0xAA, 0x0F, 0xF0); //RGB
pinMode(SW_PIN, INPUT_PULLUP);
}
void loop()
{
// Verifica seletora e inicia amarelo piscante
while(!digitalRead(SW_PIN))
{
np1p.fill(0x000000, 0, 3);
np1p.show();
delay(500);
np1p.setPixelColor(1, 0xFFFF00);
np1p.show();
delay(500);
}
// Sinal vermelho
np1p.setPixelColor(0, 0xFF0000);
np1p.setPixelColor(1, 0x000000);
np1p.setPixelColor(2, 0x000000);
np1p.show();
delay(3000);
// Sinal verde
np1p.setPixelColor(0, 0x000000);
np1p.setPixelColor(1, 0x000000);
np1p.setPixelColor(2, 0x00FF00);
np1p.show();
delay(3000);
// Sinal amarelo
np1p.setPixelColor(0, 0x000000);
np1p.setPixelColor(1, 0xFFFF00);
np1p.setPixelColor(2, 0x000000);
np1p.show();
delay(1000);
}