Buenas tardes gente del foro, estoy en un proyecto para controlar el giro de un motor dc, para implementarlo en un elevador, mi idea es utilizar botones n/a para activar el motor (asi el elevador suba) e incluir sensores ir, emisor-receptor a los niveles de cada piso, para eso estoy intentando armar el codigo en el ide de arduino.
He empezado por experimentar con puros botones n/a y n/c, para despues implementar el concepto en el edificio a escala y ya con los ir. Uno de los inconvenientes que he encontrado es el enclavamiento del boton, (cuando presiono el boton y lo suelto y el motor sigue en movimiento) aunque crei haberlo solucionado con un else if despues del if que activa el motor, pero tampoco me funciona al 100, ya que solo para el giro cuando va hacia uno de los lados. Espero alguien me pueda corregir y aconsejarme en el codigo.
Gracias por su tiempo.
/*Control de relay*/
int relay = 10;
int relay2 = 11;
int boton = 9;
int boton2 = 3;
int botonp1 =3;
int botonp2 =4;
int cont = 0;
void setup() {
pinMode(relay, OUTPUT);
pinMode(relay2, OUTPUT);
pinMode(boton, INPUT);
pinMode(boton2, INPUT);
pinMode(botonp1, INPUT);
pinMode(botonp2, INPUT);
}
void loop() {
if (digitalRead (9) == HIGH){
digitalWrite ( relay, HIGH);
digitalWrite ( relay2, LOW);
}
else if (digitalRead (3) != HIGH){
digitalWrite ( relay, LOW);
digitalWrite ( relay, LOW);
}
if (digitalRead (7) == HIGH){
digitalWrite ( relay2, HIGH);
digitalWrite ( relay, LOW);
}
else if (digitalRead (4) != HIGH){
digitalWrite ( relay, LOW);
digitalWrite ( relay, LOW);
}
}