#define led 23
/*
1. Criar duas aplicações usando ESP32 e um LED
2. A aplicação deve ter uma variável para armazenar o nome da máquina/equipamento
3. O LED sinaliza que há uma falha
4. O sistema deverá informar uma sequência de eventos de "SUCESSO" e depois dessa
sequência de sucessos, uma ocorrência de falha.
5. Modifique o código para que, na segunda execução, a sequência de eventos de
“SUCESSO” e “FALHA” ocorram em tempos diferentes.
*/
int estado_led = 0;
String maquina = "maquina 1";
int tempo = 0;
int tempo_execucao = 0;
String falha = "";
void setup() { // FUNÇÃO DE CONFIGURAÇÃO
// put your setup code here, to run once:
Serial.begin(115200);//INICIALIZANDO A COMUNICAÇÃO DO ESP NA VELOCIDADE 115200
pinMode(led, OUTPUT);//SETANDO O LED (PORTA 23) COMO A SAÍDA
tempo = random(3,15);//SETANDO A VARIAVEL TEMPO COM NÚMERO RANDOMICO (INTEIRO) DE 3 A 15
}
void loop() { //FUNÇÃO REPETINDO
delay(1000); // TEMPO DE ESPERA 1 SEGUNDO
if (tempo_execucao==tempo){
digitalWrite(led, HIGH); //ESTÁ LIGANDO LED
//É NECESSÁRIO REINICIAR AS DUAS VARIAVEIS PARA OCORRER UMA FALHA NOVAMENTE
tempo_execucao=0;// REINICIALIZANDO A VARIAVEL TEMPO DE EXECUÇÃO PARA 0
tempo = random(3,15); // SETANDO OUTRO VALOR RANDOMICO PARA TEMPO
}
else {
digitalWrite(led, LOW);//ESTÁ DESLIGANDO LED
}
if (digitalRead(led)==LOW){
falha = "sucesso";
}
else {
falha = "falha";
}
falha = (digitalRead(led) ? "falha": "sucesso"); //TRAZER STATUS DO LED "LIGADO OU DESLIGADO E SETAR COMO FALHA OU SUCESSO
Serial.println(maquina);
Serial.println("Estado da maquina:"+ falha);
Serial.println("tempo execucao:"+ String (tempo_execucao)+" tempo: "+ String (tempo));
Serial.println("****************");
tempo_execucao++;// SOMANDO +1 NO TEMPO DE EXECUÇÃO
}