Esta semana hemos tenido una clase especial:
¡¡¡todos hemos sido programadores!!!
Como en cada clase de robótica se va rotando el rol de cada alumno (jefe de proyecto, programador y constructor), durante la hora de esta semana, se ha impartido una clase especial en la que hemos asentado las funciones del programador para que, en clases sucesivas, todos los chicos tengan las capacidades necesarias para desempeñar sus funciones: conocer y manejar las instrucciones básicas de programación con Scratch que van asociadas a los actuadores y sensores de Lego Wedo.
Antes de empezar, conectamos el hub mediante el conector usb en el frontal del ordenador.
Ahora, en el Scratch, nos aparecen unas instrucciones nuevas (en la parte inferior, bajo la línea, de color azul más intenso) para el uso del motor y los sensores.
Primero hemos estudiado cómo se maneja el motor. Para ello tenemos que conocer qué parámetros podemos controlar: la potencia, la dirección de giro, además de establecer los tiempos de funcionamiento para una potencia y dirección dadas.
Ha quedado claro que para un correcto funcionamiento del motor, dentro del programa debemos primeramente definir su potencia (valor de 0 a 100) y su dirección de giro (derecha «este sentido» o izquierda «ese sentido») y después ponerlo en marcha. En caso contrario, podríamos encontrarnos con problemas por no funcionar como esperamos.
Este código, algo más desarrollado que el primero, hace girar el motor con un valor de potencia 50, hacia la derecha, durante 5 segundos, tiempo tras el cual pasa a girar hacia la izquierda, con una potencia de 70 hasta que se finalice la ejecución del programa (stop del Scratch).
Cositas a tener en cuenta:
- Si no se indica el valor de potencia, ésta, por defecto, tiene el valor de 100, el máximo que puede desarrollar.
- Cada motor tiene una potencia mínima a partir de la cual inicia su movimiento. En general, para nuestros motores de Lego, este valor oscila entre 20 y 30. Con valores inferiores nuestro motor es incapaz de realizar su movimiento de giro.
Antes de empezar a manejar el sensor de distancia, hemos comprobado su correcto funcionamiento. Para ello, tras elegir «sensor de distancia» en el Scratch, hemos habilitado la función de que aparezca en el escenario un contador que indica el valor del sensor de distancia en cada instante. Observamos que según vamos acercando un objeto al sensor el valor que éste devuelve va disminuyendo hasta llegar a su valor mínimo 0; en caso contrario, el valor va aumentando hasta alcanzar un máximo de 100.
Finalmente, hemos hemos realizado un sistema en el que hemos combinado el valor dado por el sensor de distancia con el funcionamiento del motor:
Si la distancia de un obstáculo al sensor de distancia es menor de 50 entonces nuestro motor se parará; mientras que si ese valor es 50 o superior, el motor se pondrá a girar.
Una variante de este programa es definir una dirección de giro dependiendo de la distancia del sensor al objeto u obstáculo.
Ejemplos de uso cotidiano de este pequeño sistema que dispone de un motor cuyo funcionamiento depende de la distancia pueden ser:
- Puertas de supermercados que se abren, mediante un motor, en presencia de una persona.
- Al igual que en el caso anterior, puertas de ascensores.
- Barreras de acceso a aparcamientos.
- Sistemas de aire acondicionado o calefacción que encienden su ventilador (motor con aspas) sólo cuando hay alguien presente en la habitación.
¿Se te ocurre algún otro escenario cotidiano dónde se use el sistema «motor-sensor de distancia» realizado en clase?