#include <Button.h>
#define pinledvermelho 2
#define pinledamarelo 0
#define pinledverde 4
#define pinbotao 16
Button botao(pinbotao);
unsigned long tempoAtual = 0;
unsigned long tempoanterior = 0;
const unsigned long tempoespera = 1000;
int posicao = 0;
bool ativacao = 1;
void setup()
{
pinMode(pinledvermelho, OUTPUT);
pinMode(pinledamarelo, OUTPUT);
pinMode(pinledverde, OUTPUT);
pinMode(pinbotao, INPUT_PULLUP);
Serial.begin(115200); // inicializa a comunicacao serial
botao.begin();
}
void loop()
{
tempoAtual = millis();
if (tempoAtual >= tempoanterior + tempoespera)
{
Serial.println(posicao);
posicao++;
if(posicao == 3) posicao = 0;
tempoanterior = tempoAtual;
}
if(ativacao)
{
switch(posicao)
{
case 0:
digitalWrite(pinledvermelho, LOW);
digitalWrite(pinledverde, HIGH);
case 1:
digitalWrite(pinledverde, LOW);
digitalWrite(pinledamarelo, HIGH);
case 2:
digitalWrite(pinledamarelo, LOW);
digitalWrite(pinledvermelho, HIGH);
}
}
}