Ola pessoas;

estou com uma pequena dificuldade aqui.

Tentei fazer isso via porta serial sem o arduino com a ajuda de um amigo aqui do Garagem mas não estou conseguindo.

apesar de não saber muita coisa de C++ eu consigo me virar com as instalações elétricas.

Então o caso é esse.

encontrei um Sketch para arduino parecido com o que eu preciso e estou tentando adaptar ele.

char leitura;
#define rele 8

void setup()
{
Serial.begin(9600); //Inicializa comunicação Serial

pinMode(rele, OUTPUT); //Seta o pino indicado por rele como saída

digitalWrite(rele,LOW); //Mantem rele desligado assim que iniciar o programa
}
void loop() {

while (Serial.available() > 0) //Verifica se há conexão com a serial
{

leitura = Serial.read(); //Lê o dado vindo da Serial e armazena na variável leitura
//Se a variável leitura for igual a 'l' ou 'L' ela liga rele
if (leitura == 'l' || leitura =='L'){// As duas || é a operação booleana OU
digitalWrite(rele,HIGH);
}
/* _____________________________________________________________

NESTE PONTO EU PRECISO QUE TENHA UMA PAUSA DE 1 SEGUNDO
DEPOIS DESLIGUE O RELE
--- digitalWrite(rele, LOW)
SEM PRECISAR DE OUTRO COMANDO OU UMA NOVA LEITURA DA SERIAL
E VOLTE PARA O INICIO DO LOOP AGUARDANDO O COMANDO NOVAMENTE.

____________________________________________________________________ */
}
Serial.println(leitura);
}

no final onde eu escrevi com letras maiúsculas é onde eu preciso da ajuda.

eu preciso que o rele forneça um pulso de energia de um segundo e depois fique desligado ate ser chamado novamente.

Agradeço ai pela ajuda.

Exibições: 176

Responder esta

Respostas a este tópico

Se entendi é só um delay();

Vide: https://www.arduino.cc/en/Reference/Delay

digitalWrite(rele,HIGH);

delay(1000);

digitalWrite(rele,LOW);

Obrigado amigo
Isso sera o suficiente, o restante do codigo está correto?
E o comando "L" que chega pela serial tem mesmo que ser só ima letra ou pode ser uma palavra tipo "Ligar"?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço