Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEFINICIN DE LA PROPUESTA:
Se propone, a un alumnado de cuarto de ESO o de Primero de Bachillerato, el control de
un ascensor de cuatro plantas. (Desde la planta baja a la tercera). El funcionamiento ser el
propio de un ascensor: Cuando se llame desde una planta acudir a ella.
El ascensor, que se montar fsicamente, dispondr de cuatro pulsadores para realizar la
llamada desde cada una de las plantas. Para la deteccin de planta utilizaremos un rel Reed
en cada una de ellas, convenientemente situado sobre la estructura de madera del ascensor.
Tambin se colocar estratgicamente un pequeo imn, en el propio ascensor, que ir
activando los rel Reed a su paso por cada una de las plantas.
Como salida utilizaremos un pequeo motor de corriente continua, con una caja
reductora, al que haremos girar en los dos sentidos de rotacin. Mediante una cuerda y una
pequea polea haremos subir o bajar la cabina.
El control de todo el sistema se llevara a cabo mediante la placa microcontroladora Arduino.
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
PIN 7
PIN 8
PIN 9
Y las salidas:
PIN 12
PIN 13
CIRCUITO ELCTRICO
Para cada una de las entradas se ha realizado el siguiente montaje:
El interruptor que aparece en el esquema representa en unos casos al pulsador y en otros a los
contactos del rel reed que corresponda.
Para las salidas (Pines 12 y 13) emplearemos este otro montaje:
PROGRAMA
/* ascensor de 4 plantas; */
int n = 0;
//contador para inicializacin
int llamada = 0;
// hay llamada?
int cual = 0;
//desde donde se llama
int posicion = 2; //donde est el ascensor
//piso 0
//piso 1
//piso 2
//piso 3
void setup() {
// los PINES 2 a 5 son las llamadas de plantas 0 a 3;
// los PINES 6 a 9 son los detectores de planta 0 a 3;
// PINES 12 y 13 (0, 0) Motor parado, (1, 0) Motor sube, (0, 1) Motor baja
for (n = 2; n < 11; n++ ) {
pinMode (n, 1);
}
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
}
void loop() {
int x;
while (hayLlamada () == 0);
//mientras no haya llamada espera a que llamen
x=hayLlamada();
switch (x){
case 2: motorBaja (6); break; //llaman de planta baja
case 3:
//llaman 1 planta
if (posicion < 3) {motorSube (7);}
else motorBaja (7); break;
case 4:
//llaman 2 planta
if (posicion < 4) {motorSube (8);}
else motorBaja (8); break;
case 5: motorSube (9); break; //llaman de ltima planta
}
}
COMENTARIOS AL PROGRAMA
En el setup de programan los pines 2 a 9 como entradas. Los pines 12 y 13 sern salidas.
Habr que inicializar primeramente el ascensor a la planta baja.
En el bucle se esperar a que haya una llamada devolviendo el nmero de Pin al que ha de
subir o bajar.
Tras comprobar si ha de subir o bajar se harn las llamadas a las funciones motorSube o
motorBaja. Las funciones motorSube y motorBaja recibirn el nmero de Pin hasta el que han
de moverse y harn lo propio con el ascensor, hasta que la lectura de ese Pin se ponga a nivel
alto. Lo que significar que el ascensor ha llegado a la planta. Entonces detendrn el motor.