Descarga la aplicación para disfrutar aún más
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; } }
Compartir