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
Tags:
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 .
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por