Logo Studenta

A3 - DOCUMENTAÇÃO

¡Estudia con miles de materiales!

Vista previa del material en texto

DOCUMENTAÇÃO 
 
 Link do projeto no Tinkercad: 
 
 
 
 
Código Completo: 
 
Obs: adicionar biblioteca – AutomaCasa – na pasta do Arduino. 
 
#include <Wire.h> 
 
 
 
 
EAETI – Escola de Arquitetura, 
Engenharia e TI 
Alunos: 
 
 
Disciplina: Microprocessador e 
Microcontrolador 
Curso: Engenharia da Computação Turma: 
Professor (a): Modelo de Prova: AV3 
 
#define LIGAR HIGH 
#define DESLIGAR LOW 
#define ABRIR HIGH 
#define FECHAR LOW 
 
#define pinLamp1 13 
# 
 escreverDisplay(0, F("TEMPERATURA AJUSTADA:")); 
 escreverDisplay(1, String(temperatura)); 
 delay(500); 
 
 if ( temperaturaMedida <= temperaturaAr) { 
 controlarArCondicionado(LIGAR); 
 } else { 
 controlarArCondicionado(DESLIGAR); 
 } 
 
} 
 
void ajustarVelocidade(int velocidade) { 
 velocidadeCortina = (byte)velocidade; 
 escreverDisplay(0, F("VELOCIDADE AJUSTADA:")); 
 escreverDisplay(1, String(velocidadeCortina)); 
 
} 
} 
 
 
void botaoIrrigaPressionado() { 
 escreverDisplay(0, F(" IRRIGA:")); 
 botaoIrrigaStatus = !botaoIrrigaStatus; 
 if (botaoIrrigaStatus) { 
 escreverDisplay(1, "ON "); 
 contagemAtiva = true; 
 } 
 else 
 escreverDisplay(1, "OFF"); 
} 
 
 
void controlarTV(bool statusLigado) { 
 digitalWrite(pinTv, statusLigado); 
 limparDisplay(); 
 escreverDisplay(0, "TELEVISAO:"); 
 if (statusLigado) 
 escreverDisplay(1, "LIGADA"); 
 else 
 escreverDisplay(1, "DESLIGADA"); 
} 
 
void controlarArCondicionado(bool statusLigado) { 
 digitalWrite(pinAr, statusLigado); 
 limparDisplay(); 
 escreverDisplay(0, "AR CONDICIONADO:"); 
 if (statusLigado) 
 escreverDisplay(1, " LIGADO "); 
 else 
 escreverDisplay(1, " DESLIGADO "); 
} 
 
void controlarSentidoCortina(bool statusABRIR) { 
 escreverDisplay(0, "SENTIDO CORTINA:"); 
 if (statusABRIR) { 
 escreverDisplay(1, " ABRIR "); 
 digitalWrite(pinCortina1, HIGH); 
 digitalWrite(pinCortina2, LOW); 
 } else { 
 escreverDisplay(1, " FECHAR "); 
 digitalWrite(pinCortina1, LOW); 
 digitalWrite(pinCortina2, HIGH); 
 } 
} 
 
void controlarCortina(bool statusLigado) { 
 
 escreverDisplay(0, "CORTINA:"); 
 if (statusLigado) { 
 controlarSentidoCortina(sentidoCortina); 
 if (sentidoCortina == ABRIR) { 
 escreverDisplay(1, " ABRINDO "); 
 } else { 
 escreverDisplay(1, " FECHANDO "); 
 } 
 analogWrite(pinCortinaVelo, map(velocidadeCortina, VELO_MINIMA, VELO_MAXIMA, 10, 255)); 
 } else { 
 digitalWrite(pinCortinaVelo, 0); 
 digitalWrite(pinCortina1, 0); 
 digitalWrite(pinCortina2, 0); 
 escreverDisplay(1, " DESLIGADA "); 
 } 
} 
 
void controlarLamp1(bool statusAcesa) { 
 digitalWrite(pinLamp1, statusAcesa); 
 limparDisplay(); 
 escreverDisplay(0, "LAMPADA 1:"); 
 if (statusAcesa) 
 escreverDisplay(1, "ACESA"); 
 else 
 escreverDisplay(1, "APAGADA"); 
} 
 
void controlarLamp2(bool statusAcesa) { 
 digitalWrite(pinLamp2, statusAcesa); 
 limparDisplay(); 
 escreverDisplay(0, "LAMPADA 2:"); 
 
 if (statusAcesa) 
 escreverDisplay(1, "ACESA"); 
 else 
 escreverDisplay(1, "APAGADA"); 
} 
 
 
void escreverDisplay(byte linha, String msg) { 
 lcd.setCursor(0, linha); 
 lcd.print(msg); 
} 
 
void limparDisplay() { 
 lcd.clear(); 
 
} 
 
int lerTemperatura() { 
 
int leituraTemp = (analogRead(pinTemperatura)); 
float tensao = (leituraTemp * 5) / 1024.0; 
int temperatura = tensao / 0.010; 
return temperatura; 
 
} 
 
void mostrarNumero(byte num) { 
 
 switch (num) { 
 case 0: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, HIGH); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, LOW); 
 break; 
 case 1: 
 
 digitalWrite(pin7SegA, LOW); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, LOW); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, LOW); 
 digitalWrite(pin7SegG, LOW); 
 break; 
 case 2: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, LOW); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, HIGH); 
 digitalWrite(pin7SegF, LOW); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 3: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, LOW); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 4: 
 
 digitalWrite(pin7SegA, LOW); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, LOW); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 5: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, LOW); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 6: 
 
 digitalWrite(pin7SegA, LOW); 
 digitalWrite(pin7SegB, LOW); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, HIGH); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 7: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, LOW); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, LOW); 
 digitalWrite(pin7SegG, LOW); 
 break; 
 case 8: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, HIGH); 
 digitalWrite(pin7SegE, HIGH); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 case 9: 
 
 digitalWrite(pin7SegA, HIGH); 
 digitalWrite(pin7SegB, HIGH); 
 digitalWrite(pin7SegC, HIGH); 
 digitalWrite(pin7SegD, LOW); 
 digitalWrite(pin7SegE, LOW); 
 digitalWrite(pin7SegF, HIGH); 
 digitalWrite(pin7SegG, HIGH); 
 break; 
 
 } 
 
 
}

Otros materiales

Materiales relacionados

8 pag.
zona-43-tele

UTJ

User badge image

Notas para Aprender

8 pag.
zona-11-tele

UTJ

User badge image

Notas para Aprender

1 pag.
ultrasonidos - Ivan Chio

User badge image

Desafío México Veintitrés

2 pag.