Projeto 15
Relé
Projeto 15 - Relé
Código (download)
// Projeto 15 - Relé
// O relé abre o circuito ao fim de "duracao" milissegundos
#define botao 5
#define rele 6
int estado;
unsigned long duracao = 4000;
void setup()
{
Serial.begin(9600);
pinMode(botao, INPUT);
pinMode(rele, OUTPUT);
}
void loop()
{
estado = 0;
digitalWrite(rele, LOW);
Serial.println("O circuito está aberto.");
Serial.println("Pressione o botão para fechar o circuito.");
while(estado == 0)
{
estado = digitalRead(botao);
}
Serial.println("O circuito está fechado.");
digitalWrite(rele, HIGH);
delay(duracao);
}
Código (download)
// Projeto 15 - Relé com a função millis()
// O relé abre o circuito ao fim de "duracao" milissegundos ou quando se pressiona o botão
#define botao 5
#define rele 6
int estado;
unsigned long t_inicial;
unsigned long delta; // Intervalo de tempo que será comparado à "duracao"
unsigned long duracao = 4000;
void setup()
{
Serial.begin(9600);
pinMode(botao, INPUT);
pinMode(rele, OUTPUT);
digitalWrite(rele, LOW);
}
void loop()
{
estado = 0;
delta = 0;
Serial.println("O circuito está aberto.");
Serial.println("Pressione o botão para fechar o circuito.");
while(estado == 0)
{
estado = digitalRead(botao);
}
Serial.println("O circuito está fechado.");
Serial.println("Pressione o botão para abrir o circuito ou aguarde!...");
delay(500);
t_inicial = millis();
estado = 0;
while(estado == 0 && delta < duracao)
{
digitalWrite(rele, HIGH);
estado = digitalRead(botao);
delta = millis() - t_inicial;
}
Serial.println(delta);
Serial.println(estado);
digitalWrite(rele, LOW);
delay(500);
}