/*******************************************************
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:
Versão: 1.0
Data: 27/02/24
Elaborado por: Vitor Rubim
*********************************************************/
// Importação de bibliotecas:
// Declaração de variáveis:
// 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:
// Entrada ---> 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);
inicializa();
}
// Esta rotina é executada ciclicamente:
void loop() {
// Fase 01: O LED verde acende
Serial.println("Fase 01: LED verde");
digitalWrite(LED_verde, HIGH);
delay(4000); // Aguarda 4 segundos
// Fase 02: O LED amarelo acende.
Serial.println("Fase 02: LED amarelo");
digitalWrite(LED_verde, LOW);
digitalWrite(LED_amarelo, HIGH);
delay(2000); // Aguarda 2 segundos
// Fase 03: O LED amarelo apaga e o vermelho acende.
Serial.println("Fase 03: LED vermelho");
digitalWrite(LED_amarelo, LOW);
digitalWrite(LED_vermelho, HIGH);
delay(4000); // Aguarda 4 segundos
digitalWrite(LED_vermelho, LOW); // Apaga o LED vermelho
}
// Outras funções:
void inicializa() {
// Ao ligar, os LEDs iniciam desligados e a mensagem "Inicializando" aparece no terminal Serial.
digitalWrite(LED_vermelho, LOW); // Desliga o LED
digitalWrite(LED_amarelo, LOW);
digitalWrite(LED_verde, LOW);
// Log no terminal
Serial.println("Inicializando...");
// Aguarda três segundos
delay(3000);
}
// Fim