Duvida para travar o motor dc com driver ponte h l298 usando a chave fim de curso

ola ,sou leigo em projetos eletronicos ,eu estou fazendo um projeto de varal com sensor de chuva com driver ponte h e um motor dc 5v controlado pelo arduino uno e para trava o motor quando recolher totalmente e quando estender totalmente resolvi botar duas chave fim de curso um para quando recolher um para para quando estender.

mas estou tendo problemas pois eu ligo tudo certo mas estou com duvidas para fazer com que quando a chave for acionada o motor parar , alguem por favor pode me ajuda a exemplificar a programacao e a ligacao da chave para que esta pare o motor ?

agradeco a atencao 

Exibições: 964

Responder esta

Respostas a este tópico

Sr. LM, boa tarde.

mostre o esquema que está ligando tudo e anexe o seu code.

Assim será possível avaliarmos o seu problema e propor soluções.

Rui

Esta e a programação que estava usando


/*Pinagem do arduino*/
int velocidade = 3;
int IN1 = 4;
int IN2 = 5;
#include <Wire.h>
int pinoSensorUmidade = A0; //Analogico 0 para o pino do sensor de Chuva
int valorSensor = 0; // Variável do pino analógica A0 do sinal vindo do sensor
int fimdecurso1= 7;
int fimdecurso2 = 8;


void setup() {


Serial.begin(9600); //Serial
//Define os pinos como saida
pinMode(IN1, OUTPUT);
pinMode(IN2 , OUTPUT);
pinMode(velocidade,OUTPUT);
//como entrada
pinMode (fimdecurso1, INPUT);
pinMode (fimdecurso2, INPUT);

}

void loop() {

// Lê o valor do sensor e armazena em sensorValue
valorSensor = analogRead(pinoSensorUmidade);
//Envia as informacoes para o serial monitor
Serial.print(" - Valor analogico : ");
Serial.println(valorSensor);
analogWrite(velocidade,120);// velocidade do motor


if(valorSensor > 800){ //estender o varal//seco
digitalWrite(IN1, HIGH);
digitalWrite(IN2 , LOW);
delay(2000);

}
if ( digitalRead (fimdecurso1) == HIGH){//parar o motor ao chegar ao fim de curso 1
digitalWrite(IN1, HIGH);
digitalWrite(IN2 , HIGH);
digitalWrite(velocidade, HIGH);

}

if(valorSensor < 800 ){// recolher o varal
//chuva
digitalWrite(IN1, LOW);
digitalWrite(IN2 , HIGH);
delay(2000);

if ( digitalRead (fimdecurso2) == HIGH){//parar o motor ao chegar ao fim de curso 2

digitalWrite(IN1, HIGH);
digitalWrite(IN2 , HIGH);

}
}
}

Oi LM, boa tarde.

Evite posta codes na área de texto do seu tópico.

O code perde a formatação e o tópico fica extenso.

Anexe um arquivo ou poste no www.pastbin.com, e cole 

o link aqui.

Modifiquei o seu code e ele está aqui: http://pastebin.com/N2yQLxvb

Teste e de um feedback aqui.

Só não entendi, pois ele funciona automaticamente. Não vi recurso para levanta-lo

e baixa-lo manualmente.

Rui

Boa tarde.

Obrigado pela sua atenção Rui.

Eu sou novato no site , e e minha primeira vez postando uma duvida aqui ,obrigado pelo conselho .

Ta tudo funcionando direitinho agora, muito obrigado por ter consertado minha programação .

Ainda estou pensando no projeto ainda desejo incrementar mais coisas no varal .

mais uma vez muito obrigado pela atenção e por consertar minha programação.

 Tenha um ótimo dia .

Se montou seguindo o diagrama, as chaves S5/D8 e S4/D7 estão sempre conectadas no terra. 

Não terão nenhum efeito. 

Recomendo que use as chaves seguindo esse exemplo (no caso D4) 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço