/*******************************************************
FIAP
Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: DISRUPTIVE ARCHITECTURES: IOT, IOB e IA
Professor: André Tritiack
Turma: 2TDSP
********************************************************
Atividade:
Hardware
Plataforma:
Placa:
Sensores / Atuadores / Dispositivos:
Código:
Versão:
Data:
Elaborado por: Vitor Rubim
*********************************************************/
// Importação de bibliotecas:
// Declaração de variáveis:
bool statusON, statusOFF;
bool flag1, flag2;
int valorCanal;
// Configurações de dispositivos:
// Botões
#define BT1 2
#define BT2 3
#define BT3 4
#define BT4 5
// LEDs
#define YELLOW 9
#define GREEN 10
#define RED 11
#define BLUE 12
// 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.println(9600);
// Configuração dos pinos de I/Os digitais:
// Input ---> botões
pinMode(BT1, INPUT_PULLUP);
pinMode(BT2, INPUT_PULLUP);
pinMode(BT3, INPUT_PULLUP);
pinMode(BT4, INPUT_PULLUP);
// Output ---> LEDs
pinMode(YELLOW, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(RED, OUTPUT);
pinMode(BLUE, OUTPUT);
questao05();
}
// Esta rotina é executada ciclicamente:
void loop() {
// questao02();
// questao03();
// questao04();
// questao05();
}
// Outras funções:
void questao02 () {
bool statusBT1, statusBT2;
statusBT1 = digitalRead(BT1);
delay(50);
if (statusBT1 == LOW) {
digitalWrite(YELLOW, HIGH);
digitalWrite(GREEN, HIGH);
} else {
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, LOW);
}
statusBT2 = digitalRead(BT2);
delay(50);
if (statusBT2 == LOW) {
digitalWrite(RED, HIGH);
digitalWrite(BLUE, HIGH);
delay(500); // para piscar
digitalWrite(RED, LOW);
digitalWrite(BLUE, LOW);
delay(500); // para piscar
}
}
void questao03 () {
statusON = digitalRead(BT1);
delay(50);
if (statusON == 1 && flag1 == 0) {
flag1 = 1;
}
if (statusON == 0 && flag1 == 1) {
flag1 = 0;
digitalWrite(RED, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(YELLOW, HIGH);
}
statusOFF = digitalRead(BT2);
delay(50);
if (statusOFF == 0 && flag2 == 0) {
flag2 = 1;
}
if (statusOFF == 1 && flag2 == 1) {
flag2 = 0;
digitalWrite(RED, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
}
}
void questao04 () {
valorCanal = analogRead(A0);
delay(50);
if (valorCanal < 300) {
digitalWrite(RED, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, HIGH);
}
if (valorCanal >= 300 && valorCanal <= 800) {
digitalWrite(GREEN, LOW);
digitalWrite(RED, LOW);
digitalWrite(YELLOW, HIGH);
}
if (valorCanal >= 800) {
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, LOW);
digitalWrite(RED, HIGH);
}
}
void questao05 () {
for (int index = 0; index < 10; index++) {
Serial.println(index);
digitalWrite(YELLOW, HIGH);
delay(500);
digitalWrite(YELLOW, LOW);
digitalWrite(GREEN, HIGH);
delay(500);
digitalWrite(GREEN, LOW);
digitalWrite(RED, HIGH);
delay(500);
digitalWrite(RED, LOW);
digitalWrite(BLUE, HIGH);
delay(500);
digitalWrite(BLUE, LOW);
}
}
// Fim