Abrir y cerrar la puerta utilizando otra placa micro:bit.
Programación:
Esta propuesta requiere de dos placas microbit. Una funcionará como mando a distancia y la segunda estará colocada en la puerta y se encargará de abrirla y cerrarla.
Se recomienda realizar esta práctica para entender como funciona la comunicación por radiofrecuencia: Mensajes radio
1. Placa emisora - mando a distancia
Al presionar el botón A, envía la orden «abrir» a la placa de la puerta.
Al presionar el botón B, envía la orden «cerrar» a la placa de la puerta.
El primer paso es configurar el canal de comunicación entre la placa emisora y la placa receptora, utilizando el bloque «radio establecer grupo». Encontrarás este bloque en la sección radio (bloques rosa). Elegimos un número, el 1 por ejemplo, y ambas placas deben configurarse con el mismo número de grupo.
Para programar la acción del botón A, en la sección entrada (bloques rosa) localiza el bloque «al presionarse el botón A».
Dentro introducimos el bloque «radio enviar cadena» y enviamos la cadena abrir cuando se pulse el botón A y cerrar cuando se pulse el botón B.
2. Placa receptora - Placa control de la puerta
Igual que la placa que funciona como mando, el primer paso es establecer el mismo grupo de emisión y recepción.
A continuación cuando reciba una cadena, evaluamos su contenido. Si recibe la palabra arir mueve el motor en un sentido. Si recibimos la palabra cerrar lo mueve en el sentido contrario.
Incluir un sonido que se reproduzca mientras la puerta se abre y se cierra
Programación:
En el bloque música, dispones del bloque reproducir secuencia. Puedes indicar distintos modos de reproducción. En este caso elegimos «bucle en segundo plano». La melodía se reproduce varias veces mientras se mueve el motor.
La puerta dispone de un servomotor contínuo que para programarlo requiere de una extensión concreta.
Pulsa en extensiones:
Y selecciona la extensión servo
Aparecerá una nueva sección con bloques específicos para ordenar el movimiento del servomotor.
Abrir la puerta:
En la sección entrada (bloques rosa), localiza el bloque “Al presionar el botón A” y arrástralo a la zona de programación.
Al presionar el botón A, el motor debe moverse. En la sección Servos (bloques verdes), selecciona el bloque “continuo servo P0 corre a 50%” y arrástralo dentro del bloque “al presionar el botón A”. Así queda programado que al presionar el botón el motor se mueva. Cambia el valor 50 por 100 para que la puerta no se mueva demasiado despacio.
A continuación, indicamos durante cuánto tiempo se moverá la puerta utilizando el bloque pausa de la sección básico (bloques azules). Una vez finalizado ese tiempo, paramos el motor.
Cerrar la puerta:
Para cerrar la puerta, realizamos la misma programación con dos cambios:
En el bloque “al presionar el botón”, pulsa sobre la letra A y selecciona el botón B.
En cuanto a la velocidad de giro, introduce el signo negativo, -100 para que el motor gire en sentido contrario y en lugar de abrir la puerta, proceda a cerrarla.
Pulsa en descargar, y el programa quedará guardado en la placa microbit.
Presiona los botones A y B y comprueba que la puerta se abre y se cierra correctamente.
Precauciones:
Si el motor no gira en el sentido correcto, prueba a cambiar el signo positivo o negativo de la velocidad del motor
Si la puerta no termina el recorrido de apertura/cierre o gira más tiempo del esperado, prueba a modificar el tiempo de la pausa.
Si el motor no gira el tiempo esperado, es posible que los engranes estén muy apretados. Afloja ligeramente el tornillo para separarlos un milímetro.
Construir una puerta corredera que podamos programar con la placa micro:bit.
Construcción:
Conexión:
Para poner en funcionamiento la puerta, se precisa del siguiente material adicional
– Placa microbit.
– Cable de conexión.
– Placa de expansión.
La placa microbit será la encargada de mover el motor en función de cómo se haya programado. Para facilitar la conexión del motor a microbit, se utiliza la placa de expansión. Así toda la zona de conexiones de microbit queda duplicada con conectores dupont, y cada pin tendrá su propia conexión VCC y GND.
El servomotor consta de un conector con 3 cables:
– Marrón: GND
– Rojo: VCC
– Naranja: Pin
Y se conectará del siguiente modo:
Configuración de la placa:
Conectar la placa microbit al puerto USB del ordenador utilizando un cable Micro USB.
El sistema de programación es muy sencillo. Se basa en un lenguaje de bloques que minimiza los errores sintácticos, pudiendo poner el foco de atención en la lógica de programación.
Para configurar el idioma del software, accede al menú del engrane (esquina superior derecha), selecciona “language” y elige el idioma que desees.
El ordenador reconoce la placa microbit como si fuese una memoria externa. Puedes descargar tus programas y copiarlos en la placa utilizando el explorador de archivos, o emparejar la placa con el software para que la descarga sea directa a la placa.
Para emparejar la placa con el software, pulsa en el icono “…” junto al botón descargar
Pulsa en “connect device”. Si no tienes conectada la placa, conéctala al PC, pulsa en siguiente y luego en Pair
En la siguiente ventana pulsa sobre la placa bbc microbit y después en conectar.
Si la placa se ha podido conectar correctamente, aparecerá el siguiente mensaje:
Controlar los movimientos del coche con otra placa microbit. Tendremos en cuenta la inclinación de la placa para enviar las órdenes de movimiento al coche.
Programación:
Antes de realizar esta actividad, recomendamos realizar el ejercicio «mensajes radio» para comprender el funcionamiento del control por radiofrecuencia.
Debemos programar dos placas: Una que funcionará como mando a distancia, y otra que estará incorporada en el coche y se encarga de realizar los movimientos del coche.
Programación del mando:
Logotipo hacia abajo: Al posicionar la placa microbit con el logotipo hacia abajo, dibujamos una flecha hacia adelante y enviamos un mensaje al coche para indicarle que tiene que avanzar.
Logotipo hacia arriba: Al posicionar la placa microbit con el logotipo hacia arriba, dibujamos una flecha hacia atrás y enviamos un mensaje al coche para indicarle que tiene que retroceder.
Inclinación a la derecha:Al posicionar la placa microbit inclinada hacia la derecha, dibujamos una flecha hacia la derecha y enviamos un mensaje al coche para indicarle que tiene que girar en ese sentido.
Inclinación a la izquierda:Al posicionar la placa microbit inclinada hacia la izquierda, dibujamos una flecha hacia la izquierda y enviamos un mensaje al coche para indicarle que tiene que girar en ese sentido.
Al agitar el mando:Dibujamos un cuadrado y enviamos la orden de parar.
Programación del coche:
El coche se comunica con el mando por radiofrecuencia.
Al recibir avanza: Cuando el coche recibe la orden de avanzar, dibuja una flecha en el sentido de avance y mueve los motores. Al estar colocados un motor enfrente del otro los parámetros son contrarios, es decir, para un motor avanza con una velocidad 50 y el otro motor avanza con velocidad -50.
Al recibir retrocede: Cuando el coche recibe la orden de retroceder, dibuja una flecha en el sentido de retroceso y mueve los motores. Su velocidad será al revés que en avance. Cuando un motor se movía a 50, ahora se mueve a -50, y viceversa. Así cambiamos el sentido de giro.
Utilizamos una variable para registrar si el coche está avanzando (0) o retrocediendo. (1). Necesitamos este dato para hacer correctamente los giros, ya que la orden no es igual si estamos avanzando o retrocediendo.
Al recibir derecha: Dibujo la flecha hacia la derecha. Si estaba avanzando, paro el motor de la derecha. Si estaba retrocediendo paro el motor de la izquierda.
Al recibir izquierda: Dibujo la flecha hacia la izquierda. Si estaba avanzando, paro el motor de la izquierdo. Si estaba retrocediendo paro el motor de la derecho.
Al recibir para: Dibuja un cuadrado y detén los dos motores.
Programar el coche para que atienda a las siguientes órdenes:
Al tocar el logo, el coche avanza / retrocede.
Al presionar el botón A, el coche gira a la izquierda.
Al presionar el botón B, el coche gira a la derecha.
Al tapar el sensor de luz, el coche se para.
Programación:
Avanzar y retroceder: Para cambiar el sentido de la marcha, utilizamos el sensor de contacto del logo. Al tocarlo, el coche retrocede si estaba avanzando, o avanza si estaba retrocediendo.
Utilizamos una variable para indicar el sentido de la marcha actual. Cuando el coche avanza, la variable vale 0 y cuando el coche retrocede, la variable vale 1.
Al tocar el sensor de contacto
– Si la variable vale 0, cambia el sentido de los motores (-50 y 50), pon 1 en la variable y el coche retrocederá.
– Si la variable vale 1, cambia el sentido de los motores (50 y -50), pon 0 en la variable y el coche avanzará
Girar a la derecha: Para girar a la derecha, ponemos a 0 la velocidad del motor P2. Tenemos en cuenta si el coche avanzaba o retrocedía para que respete el sentido de giro. Para ello utilizamos la variable sentido
Girar a la izquierda: Para girar a la izquierda, ponemos a 0 la velocidad del motor P1. Tenemos en cuenta si el coche avanzaba o retrocedía para que respete el sentido de giro. Para ello utilizamos la variable sentido
Parar: Si detectamos un nivel de luz igual a cero, significa que estamos tapando la esquina superior derecha de la placa, que es donde se ubica el sensor de luz. En ese caso, detenemos ambos motores.
Activa o desactiva el motor conectado al pin que indiquemos.
Indica en qué pin has conectado el sensor de contacto
Comprueba si se ha activado el sensor de contacto. Habitualmente se utiliza dentro de un bloque condicional «si… entonces…»
Enciende o apaga el led contectado al pin que se indique.
Realiza la lectura del medidor de alcohol. Podemos utilizar el bloque con operadores matemáticos, lógicos o almacenar el valor en una variable.
Realiza la lectura del sensor ultrasonidos, aportando la distancia al objeto más cercano. Podemos utilizar el bloque con operadores matemáticos, lógicos o almacenar el valor en una variable.
Realiza la lectura del sensor de luz, aportando la distancia al objeto más cercano. Podemos utilizar el bloque con operadores matemáticos, lógicos o almacenar el valor en una variable.