Você está na página 1de 14

#include <Adafruit_NeoPixel.

h>

#define LED_PIN 6
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
strip.begin();
strip.show(); // Inicializa todos os LEDs com a cor (0, 0, 0) (desligados)
}

void loop() {
// Acende os LEDs de 1 a 20 em verde
for (int i = 0; i < 20; i++) {
strip.setPixelColor(i, 0, 255, 0); // verde
}
strip.show();
delay(1000); // Aguarda 1 segundo

// Acende os LEDs de 21 a 40 em vermelho


for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0); // vermelho
}
strip.show();
delay(5000); // Aguarda 5 segundos em vermelho

// Volta para os LEDs verdes


for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // verde
}
strip.show();
delay(1000); // Aguarda 1 segundo
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 6
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
strip.begin();
strip.show(); // Inicializa todos os LEDs com a cor (0, 0, 0) (desligados)
}

void loop() {
// Acende os LEDs de 1 a 20 em verde
for (int i = 0; i < 20; i++) {
strip.setPixelColor(i, 0, 255, 0); // verde
}
strip.show();
delay(1000); // Aguarda 1 segundo

// Acende os LEDs de 21 a 40 em vermelho


for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0); // vermelho
}
strip.show();
delay(5000); // Aguarda 5 segundos em vermelho

// Volta para os LEDs verdes


for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // verde
}
strip.show();
delay(1000); // Aguarda 1 segundo
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5

#define BUTTON_PIN 3

#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool buttonState = false;

bool lastButtonState = false;

bool ledsRed = false;

void setup() {

strip.begin();

strip.show(); // Inicializa todos os LEDs com a cor (0, 0, 0) (desligados)

pinMode(BUTTON_PIN, INPUT_PULLUP);

void loop() {

// Verifica o estado do botão

buttonState = digitalRead(BUTTON_PIN);

// Se o botão foi pressionado

if (buttonState != lastButtonState && buttonState == LOW) {

// Inverte o estado dos LEDs entre verde e vermelho

ledsRed = !ledsRed;

// Se os LEDs devem ficar vermelhos

if (ledsRed) {

// Alterna os LEDs de 21 a 40 para vermelho

for (int i = 20; i < NUM_LEDS; i++) {


strip.setPixelColor(i, 255, 0, 0); // vermelho

} else {

// Se os LEDs devem ficar verdes, acende todos em verde

for (int i = 0; i < NUM_LEDS; i++) {

strip.setPixelColor(i, 0, 255, 0); // verde

strip.show(); // Atualiza os LEDs

lastButtonState = buttonState;

}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN 3
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool buttonPressed = false;


bool ledsRed = false;

void setup() {
strip.begin();
strip.show(); // Inicializa todos os LEDs com a cor (0, 0, 0) (desligados)
pinMode(BUTTON_PIN, INPUT_PULLUP);
}

void loop() {
// Verifica se o botão foi pressionado intencionalmente
if (checkButtonPress()) {
// Inverte o estado dos LEDs entre verde e vermelho
ledsRed = !ledsRed;

// Se os LEDs devem ficar vermelhos


if (ledsRed) {
// Alterna os LEDs de 21 a 40 para vermelho
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0); // vermelho
}
} else {
// Se os LEDs devem ficar verdes, acende todos em verde
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // verde
}
}

strip.show(); // Atualiza os LEDs


}
}

bool checkButtonPress() {
static unsigned long lastDebounceTime = 0;
static unsigned long debounceDelay = 100; // Intervalo de debounce em milissegundos
static int buttonState = HIGH;
static int lastButtonState = HIGH;
bool pressed = false;

int reading = digitalRead(BUTTON_PIN);

if (reading != lastButtonState) {
lastDebounceTime = millis();
}

if ((millis() - lastDebounceTime) > debounceDelay) {


if (reading != buttonState) {
buttonState = reading;

if (buttonState == LOW) {
pressed = true;
}
}
}

lastButtonState = reading;

return pressed;
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN_1 3
#define BUTTON_PIN_2 2
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB + NEO_KHZ800);

bool button1Pressed = false;

void setup() {
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // Define todos os LEDs como verde no início
}
strip.show();
pinMode(BUTTON_PIN_1, INPUT_PULLUP);
pinMode(BUTTON_PIN_2, INPUT_PULLUP);
}

void loop() {
if (digitalRead(BUTTON_PIN_1) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_1) == LOW) {
button1Pressed = true;
// Alterna para vermelho os LEDs de 21 a 40
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
}
strip.show();
}
} else if (button1Pressed) {
button1Pressed = false;
// Se o botão for solto, volta para verde
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN_1 3
#define BUTTON_PIN_2 2
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB +


NEO_KHZ800);

bool button1Pressed = false;

void setup() {
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // Define todos os LEDs como verde
no início
}
strip.show();
pinMode(BUTTON_PIN_1, INPUT_PULLUP);
pinMode(BUTTON_PIN_2, INPUT_PULLUP);
}

void loop() {
if (digitalRead(BUTTON_PIN_1) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_1) == LOW) {
button1Pressed = true;
// Alterna para vermelho os LEDs de 21 a 40
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
}
strip.show();
}
} else if (button1Pressed) {
button1Pressed = false;
// Se o botão for solto, volta para verde
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN_1 3
#define BUTTON_PIN_2 2
#define NUM_LEDS 40

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB +


NEO_KHZ800);

bool button1Pressed = false;


bool button2Pressed = false;

void setup() {
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // Define todos os LEDs como verde
no início
}
strip.show();
pinMode(BUTTON_PIN_1, INPUT_PULLUP);
pinMode(BUTTON_PIN_2, INPUT_PULLUP);
}

void loop() {
if (digitalRead(BUTTON_PIN_1) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_1) == LOW) {
button1Pressed = true;
// Alterna para vermelho os LEDs de 21 a 40
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
}
strip.show();
}
} else if (button1Pressed) {
button1Pressed = false;
// Se o botão for solto, volta para verde
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}

if (digitalRead(BUTTON_PIN_2) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_2) == LOW) {
button2Pressed = true;
// Muda do LED 21 ao 40 para vermelho, de 1 em 1
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
strip.show();
delay(100); // Ajuste o atraso conforme desejado
if (digitalRead(BUTTON_PIN_2) == HIGH) { // Verifica se o botão
foi solto
break;
}
}
}
} else if (button2Pressed) {
button2Pressed = false;
// Se o botão for solto, volta para verde do LED 40 ao 21
for (int i = 20; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN_1 3
#define BUTTON_PIN_2 2
#define NUM_LEDS 84

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB +


NEO_KHZ800);

bool button1Pressed = false;


bool button2Pressed = false;

void setup() {
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // Define todos os LEDs como verde
no início
}
strip.show();
pinMode(BUTTON_PIN_1, INPUT_PULLUP);
pinMode(BUTTON_PIN_2, INPUT_PULLUP);
}

void loop() {
if (digitalRead(BUTTON_PIN_1) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_1) == LOW) {
button1Pressed = true;
// Alterna para vermelho os LEDs de 43 a 82
for (int i = 42; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
}
strip.show();
}
} else if (button1Pressed) {
button1Pressed = false;
// Se o botão for solto, volta para verde
for (int i = 42; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}

if (digitalRead(BUTTON_PIN_2) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_2) == LOW) {
button2Pressed = true;
// Muda do LED 21 ao 40 para vermelho, de 1 em 1
for (int i = 42; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 255, 0, 0);
strip.show();
delay(20); // Ajuste o atraso conforme desejado
if (digitalRead(BUTTON_PIN_2) == HIGH) { // Verifica se o botão
foi solto
break;
}
}
}
} else if (button2Pressed) {
button2Pressed = false;
// Se o botão for solto, volta para verde do LED 40 ao 21
for (int i = 42; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0);
}
strip.show();
}
}
#include <Adafruit_NeoPixel.h>

#define LED_PIN 5
#define BUTTON_PIN_1 3
#define BUTTON_PIN_2 2
#define BUTTON_PIN_3 4 // Novo botão
#define NUM_LEDS 84

Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, LED_PIN, NEO_GRB +


NEO_KHZ800);

bool button1Pressed = false;


bool button2Pressed = false;
bool button3Pressed = false; // Nova variável para o terceiro botão
int colorIndex = 0; // Índice para controlar as cores

void setup() {
strip.begin();
for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, 0, 255, 0); // Define todos os LEDs como verde
no início
}
strip.show();
pinMode(BUTTON_PIN_1, INPUT_PULLUP);
pinMode(BUTTON_PIN_2, INPUT_PULLUP);
pinMode(BUTTON_PIN_3, INPUT_PULLUP); // Configuração do novo botão
}

void loop() {
if (digitalRead(BUTTON_PIN_1) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_1) == LOW) {
button1Pressed = true;
// Lógica para o primeiro botão
}
} else if (button1Pressed) {
button1Pressed = false;
// Lógica para quando o primeiro botão é solto
}

if (digitalRead(BUTTON_PIN_2) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_2) == LOW) {
button2Pressed = true;
// Lógica para o segundo botão
}
} else if (button2Pressed) {
button2Pressed = false;
// Lógica para quando o segundo botão é solto
}

if (digitalRead(BUTTON_PIN_3) == LOW) {
delay(50); // debounce
if (digitalRead(BUTTON_PIN_3) == LOW) {
button3Pressed = true;
// Alterna entre diferentes cores
colorIndex = (colorIndex + 1) % 6; // 6 cores diferentes
switch (colorIndex) {
case 0:
setColor(255, 0, 0); // Vermelho
break;
case 1:
setColor(0, 255, 0); // Verde
break;
case 2:
setColor(0, 0, 255); // Azul
break;
case 3:
setColor(255, 255, 255); // Branco
break;
case 4:
setColor(255, 0, 255); // Lilás
break;
case 5:
setColor(0, 255, 255); // Ciano
break;
}
}
} else if (button3Pressed) {
button3Pressed = false;
// Lógica para quando o terceiro botão é solto
}
}

void setColor(int red, int green, int blue) {


for (int i = 0; i < NUM_LEDS; i++) {
strip.setPixelColor(i, red, green, blue);
}
strip.show();
}

Você também pode gostar