buenas noches, lo que pasa es que tengo un inconveniente en la programacion y es que en la programacion ingresa a los dos primeros if pero el el if que le pido que sense la posicion del ascensor no lo detecta, me pueden ayudar
#define E1 10 // activa el Pin para motor
#define I1 8 // Control pin 1 para motor
#define I2 9 // Control pin 2 para motor
#define P1 2 // Control pin pulsador primera planta
#define P2 3 // Control pin pulsador segunda planta
#define P3 4 // Control pin pulsador tercera planta
#define S1 5 // Control pin sensor primera planta
#define S2 6 // Control pin sensor segunda planta
#define S3 7 // Control pin sensor tercera planta
const int ledPin = 11; //control pin para controlar los leds
int PULSADOR_1 = 0; //variables para controlar el estado de los pulsadores de cada planta
int PULSADOR_2 = 0;
int PULSADOR_3 = 0;
int SENSOR_1 = 0; //variables para controlar el estado de los sensores de cada planta
int SENSOR_2 = 0;
int SENSOR_3 = 0;
void setup(){
pinMode(I1, OUTPUT);//MOTOR
pinMode(I2, OUTPUT);//MOTOR
pinMode(E1, OUTPUT);//MOTOR
pinMode(P1, INPUT);//PULSADOR
pinMode(P2, INPUT);//PULSADOR
pinMode(P3, INPUT);//PULSADOR
pinMode(S1, INPUT);//SENSOR
pinMode(S2, INPUT);//SENSOR
pinMode(S3, INPUT);//SENSOR
pinMode(ledPin, OUTPUT);//LED CABINA
}
void loop()
{
digitalWrite(ledPin, HIGH);
delay(10);
PULSADOR_1=digitalRead(2); //lee el estado del pin 2 asignado para la planta primera
PULSADOR_2=digitalRead(3); //lee el estado del pin 3 asignado para la planta segunda
PULSADOR_3=digitalRead(4); //lee el estado del pin 4 asignado para la planta tercera
SENSOR_1=digitalRead(5); //lee el estado del pin 5 asignado para la planta primera
SENSOR_2=digitalRead(6); //lee el estado del pin 6 asignado para la planta segunda
SENSOR_3=digitalRead(7); //lee el estado del pin 7 asignado para la planta tercera
if(PULSADOR_1==HIGH) //si se pulsa el boton de la primera planta
{
if(SENSOR_2==HIGH) // y la planta actual es la segunda, el ascensor baja
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, LOW); // Arrancamos para BAJAR
digitalWrite(I2, HIGH);
if(SENSOR_1==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
if(SENSOR_3==HIGH) //si esta la cabina en la planta tercera el ascensor baja mas timempo
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, LOW); // Arrancamos para BAJAR
digitalWrite(I2, HIGH);
if(SENSOR_1==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
}
else if(PULSADOR_2==HIGH) //si pulsamos el boton de la planta segunda
{
if(SENSOR_1==HIGH) //y la planta actual es la primera
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, HIGH); // Arrancamos para SUBIR
digitalWrite(I2, LOW);
if(SENSOR_2==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
if(SENSOR_3==HIGH) //y la planta actual es la tercera
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, LOW); // Arrancamos para BAJAR
digitalWrite(I2, HIGH);
if(SENSOR_2==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
}
else if(PULSADOR_3==HIGH) //si pulsamos el boton de la tercera planta
{
if(SENSOR_2==HIGH)// y la planta actual es la segunda
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, HIGH); // Arrancamos para SUBIR
digitalWrite(I2, LOW);
if(SENSOR_3==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
if(SENSOR_1==HIGH) //y la planta actual es la primera
{
digitalWrite(E1, HIGH); // Activamos Motor
digitalWrite(I1, HIGH); // Arrancamos para SUBIR
digitalWrite(I2, LOW);
if(SENSOR_3==HIGH){
digitalWrite(E1, LOW); // Paramos Motor
}
}
}
}