//piness de los botones para selecccionar el piso
const int botonPiso1=2
const int botonPiso2=3
const int botonPiso=4
//pines del driver del motor
const int motorPin1=8;//Entrada A
const int motorPin2=9;// Entrada B
//variable para almacenar el piso actual
int pisoActual=1;//el ascensor empieza en el piso 1
void setup() {//configurar los pines de los botones como entrada
pinMode(botonPiso1,INPUT_PULLUP);
pinMode(botonpiso2,INPUT_PULLUP);
pinMode(botonPiso3, INPUT_PULLUP);
//configurar los pines del motor de salida
pinMode(motorPin1, OUTPUT)
pinMode(motorPin2,OUTPUT)
//inicciar el puerto serie para depuracion
Serial.begin(9600);
}
void loop() {
//leer el estado de los botones
if (digitalRead(botonPiso1)==LOW) {
moverAscensor (1)
}
else if (digitalRead(botonPiso2)==LOW) {
moverascensor(2)
}
else if (digitalRead(botonPiso3)==LOW){
moverAscensor(3)
}
void moverAscensor(int pisodestino)
{
if (pisoDestino >piso actual) {
//subir el ascensor
Serial.parseInt("subiendo...");
digitalWrite(motorPin1,HIGH);
digitalWrite(motorPin2,LOW);
delay(2000);//ajustar el tiempo para llegar al piso
}
else if(pisoDestino<pisoActual){
//bajar el ascensorr
Serial.println("Bajando...");
digitalWrite(motorPin1,LOW);
digitalWrite(motorPin2, HIGH);
delay(2000);// ajustar el tiempo para llegar al piso
}
//detener el motor cuando llegue al piso
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
//actualizar el piso actual
pisoActual=pisoDestino;
Serial.println("ascensor en el piso" + string(pisoactual));
}