/*******************************************************
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);
// inicializa();
}
bool botaoClicado = false;
// Esta rotina é executada ciclicamente:
void loop(){
// // Piscando Leds ao clicar no botão branco
// 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);
// }
botaoClicado = digitalRead(BT_branco) == LOW;
if(botaoClicado) {
Serial.println("clicado");
} else {
Serial.println("desclicado");
}
// // Fase 1: O LED verde acende (início do loop).
// Serial.println("Fase 1: Verde aceso");
// digitalWrite(LED_verde, HIGH);
// // Após 4 segundos, o LED verde apaga e o LED amarelo acende
// delay(4000);
// // Fase 2:
// Serial.println("Fase 2: Amarelo aceso");
// digitalWrite(LED_verde, LOW);
// digitalWrite(LED_amarelo, HIGH);
// // Após 2 segundos, o LED amarelo apaga e o LED vermelho acende.
// delay(2000);
// // Fase 3:
// Serial.println("Fase 3: Vermelho aceso");
// digitalWrite(LED_amarelo, LOW);
// digitalWrite(LED_vermelho, HIGH);
// // Após 4 segundos, o LED vermelho apaga e o ciclo reinicia.
// delay(4000);
// digitalWrite(LED_vermelho, LOW);
// Serial.println("=============================================");
}
// Outras funções:
void inicializa(){
// Os LEDs iniciam desligados
digitalWrite(LED_vermelho, LOW);
digitalWrite(LED_amarelo, LOW);
digitalWrite(LED_verde, LOW);
// A mensagem "Inicializando" aparece no terminal Serial
Serial.println("Inicializando...");
// Aguarda 3 segundos para iniciar o loop
delay(3000);
}