/*******************************************************
FIAP
Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: DISRUPTIVE ARCHITECTURES: IOT, IOB e IA
Professor: André Tritiack
Turma: 2TDSP
********************************************************
Atividade: Aula 02 - Entradas e Saídas
Hardware
Plataforma: Arduino
Placa: Arduino UNO
Sensores / Atuadores / Dispositivos:
- Botões
- LEDs
Código: Teste
Versão: v1.0
Data: 27/02/2024
Elaborado por: Vitor Rubim
*********************************************************/
// Importação de bibliotecas:
// Declaração de variáveis:
// bool statusBT;
// Configurações de dispositivos:
#define BT_azul 3
#define BT_branco 2
#define LED_verde 12
#define LED_amarelo 10
#define LED_vermelho 8
/*
Botões:
0 (LOW ou false) ------> botão pressionado.
1 (HIGH ou true) ------> botão liberado.
LEDs:
0 (LOW ou false) ------> LED apagado.
1 (HIGH ou true) ------> LED aceso.
*/
// Esta rotina só é executada na inicialização:
void setup() {
// Inicialização da porta de comunicação serial
// com baud rate de 9600 bits/s (padrão para Arduino UNO)
Serial.begin(9600);
// Configuração dos pinos de I/Os digitais:
// Entradas ---> Botões
pinMode(BT_branco, INPUT_PULLUP);
pinMode(BT_azul, INPUT_PULLUP);
// Saídas ---> LEDs
pinMode(LED_vermelho, OUTPUT);
pinMode(LED_amarelo, OUTPUT);
pinMode(LED_verde, OUTPUT);
}
// Esta rotina é executada ciclicamente:
void loop() {
// Cria duas variáveis booleanas.
bool bt1, bt2;
/*
Se o botão branco estiver pressionado:
Os três LEDs devem piscar simultaneamente
(ligados por 300ms, desligados por 1 segundo)
*/
bt1 = digitalRead(BT_branco);
if(bt1 == LOW){ // Botão branco ativado!!
digitalWrite(LED_verde, HIGH);
digitalWrite(LED_vermelho, HIGH);
digitalWrite(LED_amarelo, HIGH);
delay(300);
digitalWrite(LED_verde, LOW);
digitalWrite(LED_vermelho, LOW);
digitalWrite(LED_amarelo, LOW);
delay(1000);
}
/*
Se o botão azul estiver pressionado:
Os LEDs verde e vermelho se alternam em
intervalos de 350 ms (com LED amarelo apagado).
*/
bt2 = digitalRead(BT_azul);
if(bt2 == LOW){ // Botão azul ativado!!
digitalWrite(LED_verde, HIGH);
delay(350);
digitalWrite(LED_verde, LOW);
digitalWrite(LED_vermelho, HIGH);
delay(350);
digitalWrite(LED_vermelho, LOW);
}
}