/*******************************************************
FIAP
Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: DISRUPTIVE ARCHITECTURES: IOT, IOB e IA
Professor: André Tritiack
Turma: 2TDSP
********************************************************
Atividade: Aula 03 - Exercícios
Hardware
Plataforma: Arduino
Placa: Arduino UNO
Sensores / Atuadores / Dispositivos:
LEDs e botões
Código: AULA_03
Versão: v1.0
Data: 05/03/2024
Elaborado por: André Tritiack
*********************************************************/
// Importação de bibliotecas:
// Declaração de variáveis:
// Configurações de dispositivos:
#define BT_branco 2
#define BT_azul 3
#define LED_verde 12
#define LED_amarelo 10
#define LED_vermelho 8
/*
Botão:
0, LOW ou false -----> botão ativado.
1, HIGH ou true -----> botão desativado.
LED:
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 (INPUT) - botões:
pinMode(2, INPUT_PULLUP);
// pinMode(BT_branco, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
// Saídas (OUTPUT) - LEDs:
pinMode(8, OUTPUT);
pinMode(10, OUTPUT);
pinMode(12, OUTPUT);
}
// Esta rotina é executada ciclicamente:
void loop(){
/*Se o botao branco estiver pressionado: os três LEDs devem piscar simultaneamente
(ligados por 300ms, desligados por 1 segundo)*/
if(digitalRead(BT_branco) == LOW){
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 botao azul estiver pressionado:
os LEDs verde e vermelho se alternam em intervalos de 350ms
(com LED amarelo apagado)*/
bool x = digitalRead(BT_azul);
if (x == LOW){
digitalWrite(LED_verde, HIGH);
delay(350);
digitalWrite(LED_verde, LOW);
digitalWrite(LED_vermelho, HIGH);
delay(350);
digitalWrite(LED_vermelho, LOW);
}
}
// Outras funções: