Para la realización de ejercicios de diseño y conexión de circuitos electrónicos controlados por Microbit utilizaremos el simulador educativo Tinkercad.
El simulador de circuitos de Tinkercad es una herramienta en línea gratuita que permite diseñar, simular y probar circuitos electrónicos sin necesidad de hardware físico. Permite la simulación de circuitos electrónicos programables con dispositivos Arduino y recientemente Microbit.
Además el simulador incluye un extenso listado de componentes electrónicos que incorporar a la simulación:
El acceso a la aplicación se realizar desde la página Tinkercad.com
Pulsando en la opción Iniciar sesión o Registrarse. Si se ha elegido “iniciar sesión” se debe elegir el tipo de cuenta que se va a utilizar: alumnado, educadores, clase o cuentas personales.
Una vez se ha accedido al espacio personal en Tinkercad podemos elegir entre múltiples opciones orientadas a la docencia, con las que poder compartir contenido con el alumnado o plantear aprendizajes o desafíos.
En esta ocasión, vamos a realizar un uso personal del simulador, por lo que elegimos “Diseños”. Dentro de diseños tendremos la posibilidad de hacer diseños en 3D, hacer diseños de circuitos o hacer diseños de programación por bloques. Si seleccionamos la opción circuitos veremos los diferentes circuitos que hayamos diseñado.
Si pulsamos crear y posteriormente elegimos circuito, crearemos una nueva simulación de un circuito electrónico.
Al crear el nuevo diseño, encontramos la zona de diseño vacía. Por este motivo debemos añadir el componente principal del diseño, en este caso Microbit. Para ello elegimos el menú “Starters > Microbit”.
Del listado de opciones, elegiremos “Placa de pruebas”, y a continuación añadimos el diseño inicial al simulador.
Una vez se ha diseñado el circuito electrónico, podemos realizar la programación de la placa o placas MIcrobit incluidas en el diseño. El código se desarrolla a partir de bloques de código que se unen formando el programa.
El código generado en formato bloques también puede mostrarse traducido a código Python, similar al que se genera en Microbit Makecode o Microbit Python Editor.
A continuación se muestran algunos consejos y recomendaciones para el uso del editor y simulador de circuitos Tinkercad.
1. Crear una cuenta de profesor: Si aún no tienes una, regístrate en Tinkercad. Es importante que selecciones el rol de Educador o Profesor al crear tu cuenta.
2. Crear una clase: Desde el panel de control, ve a la sección de Clases y haz clic en Crear una clase nueva.
3. Configurar la clase: Dale un nombre a la clase, selecciona el nivel educativo y la materia.
4. Añadir estudiantes: Puedes agregar a tus alumnos de varias maneras:
Por nombre de usuario o alias (nickname): Escribe un nombre o un apodo para cada estudiante. Tinkercad generará un nombre de usuario que el estudiante usará para entrar.
A través de Google Classroom: Si usas Google Classroom, puedes sincronizar tus clases directamente.
Usando un enlace de clase: Tinkercad te proporciona un enlace que puedes compartir con tus estudiantes para que se unan a la clase de forma autónoma.
5. Gestionar el progreso de los alumnos: Como educador, puedes ver el trabajo de tus estudiantes, dejarles comentarios, notas y hacer correcciones dentro de la plataforma.
Acceder a la clase: El estudiante debe usar el enlace de clase proporcionado por el profesor o introducir el código de la clase en la página de Tinkercad para unirse. Si el profesor creó un alias, el estudiante debe usarlo para acceder.
Ir a la sección de Circuitos: En el panel de control de Tinkercad, el estudiante debe seleccionar Circuitos en el menú lateral.
Iniciar un nuevo proyecto: Hacer clic en Crear un nuevo circuito.
Diseñar el circuito: Utilizar la interfaz de arrastrar y soltar para añadir componentes como LEDs, resistencias, placas de prueba (protoboard) y microcontroladores (Arduino, Micro:bit).
Conectar los componentes: Unir los componentes con cables virtuales. Tinkercad facilita la conexión mostrando los puntos de conexión.
Programar (si es necesario): Para proyectos con microcontroladores, el estudiante puede usar el editor de código integrado. Puede programar con bloques, Python o C++ (Arduino).
Simular el circuito: Pulsar el botón de Simular para probar el funcionamiento del circuito en tiempo real. Esto permite al estudiante ver si su diseño funciona correctamente antes de construirlo físicamente.
Guardar y compartir: El proyecto se guarda automáticamente en la nube. Los estudiantes pueden compartir el proyecto con su profesor para su revisión.
Conexiones incorrectas: Es muy común confundir los pines de la placa de expansión o conectarlos al componente equivocado. Asegúrate de que las conexiones de pines digitales (P0, P1, P2), analógicos o de alimentación (3V, GND) estén alineadas con el componente correcto.
Solución: Revisa el diagrama del circuito y las etiquetas de los pines. En Tinkercad, pasa el ratón sobre los pines para ver su función.
Polaridad invertida: Los componentes electrónicos como los LEDs y los condensadores electrolíticos son sensibles a la polaridad. Conectarlos al revés (ánodo a GND y cátodo a 3V) hará que no funcionen.
Solución: Siempre conecta el ánodo (la pata más larga del LED) al pin digital o de alimentación y el cátodo (la pata más corta) a tierra (GND) a través de una resistencia.
Falta de resistencia: Los LEDs necesitan una resistencia para limitar la corriente y evitar que se quemen. Un error habitual es conectar el LED directamente a la fuente de alimentación.
Solución: Siempre intercala una resistencia de 220Ω (o similar) entre el pin de salida y el ánodo del LED.
Problemas con el simulador: A veces, la simulación puede detenerse o no funcionar correctamente debido a la complejidad del circuito. Esto puede ocurrir si se utilizan demasiados componentes o el código es muy largo.
Solución: Intenta simplificar el circuito o divide el código en funciones más pequeñas. Reiniciar la simulación también puede solucionar problemas temporales.
Error de sintaxis en el código: Cuando se utiliza la programación de texto (JavaScript o Python), un simple error de tipeo, una coma fuera de lugar o un punto y coma faltante puede detener la simulación. Este tipo de error no ocurre si se utiliza la opción de programación por bloques.
Solución: Revisa cuidadosamente el código en busca de errores. El editor de código de Tinkercad suele marcar estos errores con una línea roja.
En los siguientes ejemplos se van a utilizar las luces LED disponibles en Tinkercad. Podemos elegir dos tipos de luces:
LED de un solo color, y cuya programación se realiza con salida digital (bajo - alto)
LED RGB que permite la combinación de luz roja, verde y azul de diferentes tonalidades y cuyo funcionamiento necesita una salida analógica (con valores entre 0 y 255)
Las luces LED se conectan en la placa de montaje conectando la pata “cátodo” a la toma de tierra (GND) y la pata “ánodo” (la que está inclinada) a través de una resistencia al puerto de salida de la Microbit.
En el siguiente diseño se han conectado 3 luces led: rojo, verde y azul a los puertos 0, 1 y 2 respectivamente.
A continuación se ha diseñado el siguiente código para encender durante 1 segundo cada luz según se pulse el botón A (led rojo), botón B (led verde) y boton A+B (led azul). El encendido se realiza cambiando la salida digital del puerto a “ALTA” y el apagado a “BAJA”.
Si ejecutamos la simulación podemos ver el funcionamiento.
De igual forma se puede añadir un LED RGB que permite definir valores para los colores rojo, verde y azul con valores entre 0 (mínimo color) y 255 (máximo color).
Para este ejemplo conectamos cada pata de color directamente a uno de los puertos de la Microbit, concretamente el pin rojo al puerto 0, el pin azul al puerto 1 y el pin verde al puerto 2. La pata cátodo del LED RGB se conecta a una resistencia y a la toma de tierra.
El código de funcionamiento es similar a la luz LED, pero en esta ocasión se asignan valores analógicos entre 0 y 255. Para completar el funcionamiento se van a utilizar variables para el valor de cada color comenzando en 0 en incrementando el valor en 10 con cada pulsación de botón: botón A para rojo, botón B para azul y botón A+B para verde. Al superar el valor máximo (255) se vuelve a comenzar de 0.
Si ejecutamos la simulación del circuito podemos comprobar su funcionamiento y cómo cambia el color del LED según las pulsaciones de los diferentes botones.
Los botones son los principales componentes de entrada. Al igual que ocurre con las luces LED, tenemos varios tipos de pulsadores. En este apartado veremos el funcionamiento de dos tipos de pulsadores:
El pulsador para valores digitales (encendido y apagado).
El potenciómetro para valores analógicos (cualquier valor entre un valor mínimo 0 y un valor máximo 1023 según la posición del indicador).
En el caso de utilizar un potenciómetro, su conexión es muy sencilla, un pin se conecta al valor máximo (+), otro pin se conecta al valor mínimo (GND o -), y el pin del medio es la salida del potenciómetro según el valor asociado a la posición de la rueda.
Para esta conexión, vamos a crear un código muy sencillo, que muestre por pantalla de la Microbit el valor de entrada obtenido del potenciómetro.
Si comprobamos la simulación, podemos ver el funcionamiento del potenciómetro en la pantalla de la Microbit.
En el caso de pulsadores, la conexión se realiza con los dos terminales de un lado (a o b), conectando un terminal al valor máximo (+) y el otro terminal a una resistencia y al valor mínimo (GND o -). Entre el pulsador y la resistencia se conecta el cable que tendrá el valor digital del pulsador y que se conecta al pin de la Microbit.
En este ejemplo se han conectado dos pulsadores a los puertos 0 y 2 de la Microbit. Añadiremos el siguiente código para que al presionar el pulsador conectado al pin 0 se muestre una cara feliz en la Microbit, y al presionar el pulsador conectado al pin 2 se muestre una cara triste.
Finalmente ejecutamos la simulación y comprobamos su funcionamiento.
Los sensores son otro elemento de entrada fundamental en el circuito electrónico, ya que nos permiten obtener información del entorno. En esta ejemplo probaremos 3 sensores ambientales:
Sensor de temperatura: tiene una lectura analógica con valor de 119 para una temperatura de -40º y 541 para una temperatura de 125º.
Sensor de luz (fotorresistor): tiene una lectura analógica pero únicamente proporciona un valor 0 o 1 según haya luz (valor 1) o no haya luz (valor 0).
Sensor de humedad: tiene una lectura analógica con valor 11 para nada de humedad y valor 817 para valor máximo de humedad.
Para añadir el sensor de temperatura, se conecta un pin a la toma con tensión (+), otro pin a la toma tierra (GND o - ) y el pin central a la placa Microbit.
El código para su utilización, se realiza la lectura analógica del puerto, convirtiendo el valor que proporciona el sensor (119 y 541) al valor de temperatura asociado (-40º y 125º).
La conexión del fotorresistor es similar a la de un pulsador en la que un pin se conecta a tierra, y el otro pin se conecta a la tensión máxima con una resistencia. En la unión del fotorresistor y la resistencia se añade el cable que conecta el circuito al pin de la Microbit.
La entrada de información del sensor se realiza con valores analógicos entre 1016 (valor mínimo de luz) y 344 (valor máximo de luz). Es recomendable realizar una conversión a los valores con los que queramos trabajar, por ejemplo 0-100.
El sensor de humedad se conecta de forma similar a sensor de temperatura, aunque la disposición de los pines es algo diferente. El pin que indica “Potencia” se conecta a “+”, el pin que indica “Tierra” se conecta a “-” o GND y el pin que indica “Señal” se conecta al pin de la Microbit.
La entrada de información del sensor se realiza con valores analógicos entre 11 (valor mínimo de humedad) y 817 (valor máximo de humedad). Es recomendable realizar una conversión a los valores con los que queramos trabajar, por ejemplo 0-100.
En este apartado vamos a probar los sensores de distancia y movimiento. El simulador de circuitos de Tinkercad nos ofrece dos tipos de sensores:
Sensor PIR: es un sensor de movimiento que se activa con el movimiento de un objeto en su campo de detección. El valor que muestra al detectar movimiento es una señal digital ALTA mientras que el valor de reposo es una señal digital BAJA.
Sensor de distancia: es un sensor que calcula la distancia respecto a objetos u obstáculos utilizando una señal “sónar”, esto es, un emisor emite una señal que es detectada por un sensor eco. El tiempo que transcurre entre la emisión y la recepción permite calcular la distancia a la que se encuentra el objeto.
La conexión del sensor de movimiento PIR se realiza de forma similar a otros sensores, conectando el pin “Potencia” al valor “+”, el pin “Tierra” a “-” o “GND” y el pin “Señal” a un pin de conexión de Microbit.
La lectura del sensor se realiza con un valor digital al pin de conexión. Si el valor recibido es “alto” significa que el sensor ha detectado un movimiento en su área de detección.
Al realizar la simulación del circuito deberemos cambiar la posición del círculo para simular la detección de un movimiento.
Para la simulación de sensores de distancia, Tinkercad ofrece dos posibilidades:
Un sensor PING, en el que la señal de emisión y eco se realiza en el mismo pin.
Un sensor HC-SR04, en el que la señal de emisión y eco se realiza en pines diferentes.
Además, ambos sensores tienen un pin de potencia “+” y tierra “-” o “GND”.
Aunque el diseño de circuitos permite su conexión a la placa Microbit, el simulador de código no permite su utilización ya que no incluye el bloque de código que calcula la distancia a partir del tiempo de retraso entre la emisión y recepción de la señal sónar.
Un bloque similar está disponible para la placa Arduino, el cual podemos tomar como ejemplo de su funcionamiento.
Aunque el simulador de código de Tinkercad no permite la simulación de este tipo de sensores con Microbit, su utilización con la placa real es posible a través del entorno de desarrollo Makecode.
Los motores son los principales componentes electrónicos para convertir las señales digitales o analógicas en movimiento. El simulador de Tinkercad ofrece diferentes tipos de motor. En este apartado veremos el uso del motor de corriente continua y un servomotor:
Motor de corriente continua. Aunque aparece en el panel de Tinkercad como “motor de aficionado”, permite generar un movimiento expresado en revoluciones por minuto según el voltaje de entrada que reciba.
Servomotor. Permite realizar un giro según los grados o pulso que se defina. Podemos elegir entre tipo posicional (grados de giro hasta 180º) o continuo (revolución completa).
El motor de corriente continua genera un movimiento de rotación en el eje de movimiento según el voltaje que reciba. A mayor diferencia de potencial entre el pin negativo y positivo mayor velocidad de giro se produce.
Para conectar el motor a un circuito se puede añadir una fuente de alimentación adicional para dar mayor potencia al motor. Para controlar el paso de corriente entre la fuente de alimentación y el motor a través de la placa Microbit, usaremos un transistor NPN.
Este transistor permite el paso de corriente entre el pin colector (izquierda) al pin emisor (derecha) según el valor que se reciba en el pin base (centro). Si la base recibe un valor digital “bajo” el transistor corta el paso de corriente, mientras que si la base recibe un valor digital “alto” el transistor permite el paso de corriente. De esta forma, controlamos el funcionamiento del motor según la señal enviada del pin de la Microbit.
El código que permite el funcionamiento del motor sería el siguiente:
Si realizamos la simulación del circuito podemos ver su funcionamiento. En esta ocasión, vamos a añadir dos multímetros para conocer el valor de la señal enviada desde la Microbit y la tensión recibida en el motor.
Cuando el valor del puerto 0 es 0 v, el transistor NPN está cerrado, y en consecuencia llega al motor una señal de 0 v.
Sin embargo, cuando el valor de salida del puerto 0 es alto (3 v) el transistor NPN permite pasar el voltaje hacia el motor (2.5v)
El servomotor es un tipo de motor eléctrico que permite generar un movimiento preciso de la posición angular. A diferencia de un motor común, un servomotor puede moverse a un ángulo específico y mantenerse en esa posición sin necesidad de esfuerzo adicional.
La conexión del servomotor se realiza conectando el pin “tierra” a “-” o “GND”, el pin “potencia” a “+” o valor máximo de corriente (3v), y el pin “señal” al pin de conexión de la Microbit.
Aunque la programación de un servomotor se realiza a través de una señal analógica, el simulador de código de Tinkercad (y también Makecode) incluyen bloques de código específico para definir el giro del servomotor, indicando el grado de giro o el pulso de movimiento. En el siguiente código podemos ver un ejemplo de rotación de 0º a 180º en 4 tramos de 45º.
Al generar la simulación del código, podemos ver el movimiento del servomotor.
También se puede configurar el servomotor de tipo continuo, lo que permite realizar un movimiento giratorio continuo con una velocidad de giro determinada.
A continuación se muestran las siguientes actividades para realizar en el aula y que pueden ser incluidos en algún proyecto:
Se va a crear un pequeño programa de comunicación entre dos Microbits utilizando el simulador Tinkercad en el que se muestre la temperatura de una Microbit con luces LED.
El funcionamiento será el siguiente:
Al presionar el botón A de la Microbit1 se envía un mensaje a la Microbit2.
Al recibir el Mensaje la Microbit2, se envía de vuelta un mensaje a la Microbit1 con el valor del sensor de Temperatura.
Al recibir la temperatura la Microbit1, la temperatura se muestra por la pantalla de la microbit.
Si la temperatura es <18º se enciende el led azul, si es >25º se enciende el led rojo, y si la temperatura está entre 18º y 25º se enciende el led verde.
Abre el simulador Tinkercad circuitos. Añade la microbit con protoboard (M1) y la microbit simple (M2).
Añade los led azul, verde y rojo conectado con sus resistencias a los puertos P0, P1 y P2.
Para establecer la comunicación entre la Microbit 1 y la Microbit 2 se elige el mismo canal de radio al iniciar.
En la Microbit1 añade el siguiente código “Al presionar el botón A de la Microbit1 se envía un mensaje a la Microbit2”.
En la Microbit 2, añade el código “al recibir un mensaje por radio”, en este caso de la Microbit 1. Dentro del bloque se añade “enviar número por radio” y se incluye “el valor de temperatura”.
En la Microbit 1 se recibirá la temperatura, mostrándose por pantalla.
Al mismo bloque, añadimos el control de los diodos LED. Al recibir el mensaje, los puertos conectados P0, P1 y P2 se inician con valor “Baja” (apagado).
Modificamos la condición anterior, añadiendo una nueva condición dentro, si es >25º se enciende el led rojo (pin P2 a alta), si no, es decir si la temperatura está entre 18º y 25º, se enciende el led verde.
Prueba que funciona correctamente en el simulador.
Se va a crear un pequeño sistema electrónico que permita la composición de luz RGB a distancia según la configuración de 3 potenciómetros y aprovechando las ventajas de la comunicación por radio entre Microbits.
El funcionamiento será el siguiente:
La Microbit 1 (roja) tiene conectados 3 potenciómetros, uno definirá el color rojo, otro el color azul y otro el color verde.
En todo momento se envía el valor de los potenciómetros por radio.
La Microbit 2 (amarillo) tiene conectado un LED RGB.
Según el valor de rojo, verde y azul que reciba la Microbit 2, se iluminará el LED RGB.
Pasos a seguir
En ambas Microbits, al iniciar se determina el canal de radio a utilizar, en este caso es el canal 3.
En todo momento, se almacena el valor del potenciómetro 1 en la variable rojo, el potenciómetro 2 en la variable azul y el potenciómetro 3 en la variable verde. Los valores del potenciómetro (1-1024) se ajustan al valor máximo del LED RGB (1-255).
Se envía el número con la composición de los 3 valores, para ello el valor rojo se multiplica por 1000000, el valor azul por 1000, y los tres valores se suman. El número enviado será el equivalente a este esquema 000000000.
En la Microbit 2, al recibir un número por radio se descompone en los valores rojo (dividir entre 1000000), azul (dividir entre 1000) y verde (resto).
En todo momento, los valores de las variables rojo, azul y verde se envían como valores analógicos por los puertos de la Microbit 0, 1 y 2 respectivamente.
Al ejecutar la simulación, podremos observar cómo al girar cada uno de los potenciómetros de la Microbit1 hacen que el LED RGB de la Microbit 2 cambie de color.
Se va a ampliar el funcionamiento de los sensores ambientales en un huerto escolar para su control a distancia por otra Microbit.
El funcionamiento será el siguiente:
La Microbit 1 (roja) estará conectada a los sensores ambientales temperatura, luz y humedad.
La Microbit 2 (verde) se conectará a la Microbit 1 para obtener la información de los sensores.
Ambas Microbit seleccionarán el mismo canal de radio al iniciar (3 en este ejemplo).
La Microbit 2 solicita la información a la Microbit 1 al pulsar sus botones: el botón A solicita información de temperatura (solicitud nº 1), el botón B solicita información de luz (solicitud nº 2) y el botón A+B solicita información de humedad (solicitud nº 3).
La Microbit 1 al recibir el mensaje de petición, según el tipo de solicitud muestra un mensaje indicando el tipo, consulta el correspondiente sensor y envía el valor obtenido, indicando en el mensaje el tipo de valor (“t”, “l” o “h”).
La Microbit 2 al recibir el valor lo muestra por pantalla, indicando previamente el tipo de sensor utilizado.
En ambas Microbits añade el grupo de conjunto de radio al iniciar.
En la Microbit 2, al pulsar botón A enviar número por radio 1, al pulsar botón B se envía número 2 y al pulsar botón A+B se envía número 3.
En la Microbit 1, al recibir número por radio:
Si el número es 1: se muestra el mensaje “T?” y se envía el valor analógico del sensor P2 haciendo la correspondiente conversión de valores (119 - 541 a -40 - 125).
Si el número es 2: se muestra el mensaje “L?” y se envía el valor analógico del sensor P1 haciendo la correspondiente conversión de valores (1016 - 344 a 0 - 100).
Si el número es 3: se muestra el mensaje “H?” y se envía el valor analógico del sensor P0 haciendo la correspondiente conversión de valores (11 - 817 a 0 - 100).
En la Microbit 2, al recibir un mensaje por radio con clave:
Si la clave es “t”: se muestra el mensaje “temp:” y el valor recibido.
Si la clave es “l”: se muestra el mensaje “luz:” y el valor recibido.
Si la clave es “h”: se muestra el mensaje “hum:” y el valor recibido.
Al ejecutar la simulación podemos observar el funcionamiento del sistema de control remoto de los sensores ambientales.
Se va a generar una modificación de la actividad anterior, en la que se utilizará el sensor de humedad para realizar un sistema de riego automático y que pueda ser gestionado por control remoto. Se va a incluir un potenciómetro para determinar el umbral en el que se activa el riego, y se conectará a un servomotor para la apertura o cierre del caudal de agua.
El funcionamiento será el siguiente:
La Microbit 1 (roja) tiene la conexión al sensor de humedad (P0), al servomotor (P1) y al potenciómetro (P2).
Ambas Microbits utilizarán el mismo canal de radio (1).
El sistema está configurado por defecto en modo automático. En este modo automático, la Microbit 1 constantemente lee el valor del sensor de humedad y del potenciómetro y se guardan en variables previa conversión de valor a escala 0-100.
Si el valor de humedad es mayor que el valor umbral, se muestra un gráfico en la pantalla LED de la Microbit 1 de dicho valor. También se envía por radio a la Microbit 2 que muestra el mismo gráfico por pantalla. Como el riego está desactivado se gira el servo a 0º.
Si el valor de humedad es menor que el valor umbral, en la Microbit 1 se muestra un mensaje de riego, se envía por radio el valor 0 y se gira el servo a 90º. En este caso la Microbit 2 recibe el valor 0 y muestra el mensaje de riego por pantalla.
La Microbit 2 puede cambiar el modo de riego a Manual pulsando el botón A. En este caso se muestra por pantalla “M” y se activa el riego (servomotor a 90º). Si se pulsa el botón B se vuelve a pasar al modo automático mostrando el mensaje que corresponda y dejando el servomotor abierto (90º) o cerrado (0º) según el valor de humedad y el valor umbral.
Al iniciar la Microbit 1, se selecciona el canal de radio (1 en este caso), se inicializa la posición del servomotor a 0º (cerrado) y se inicializa la variable “automático” a valor 1. Al iniciar la Microbit 2, se selecciona el mismo canal de radio que la Microbit 1.
La Microbit 1 en todo momento:
Si tiene el valor automático:
toma el valor de humedad del sensor y lo almacena en la variable humedad convirtiendo su valor a escala 0-100.
toma el valor umbral del potenciómetro y lo almacena en la variable umbral convirtiendo su valor a escala 0-100.
si la humedad es menor que el umbral:
se muestra el mensaje de riego.
se envía el mensaje 0.
se gira el servomotor a 90º (abierto).
si la humedad es mayor que el umbral:
se muestra el gráfico con el valor de humedad..
se envía el mensaje con el valor de humedad.
se gira el servomotor a 0º (cerrado).
Si no tiene el valor automático (está en modo manual):
se envía por radio el valor -1.
se muestra el mensaje “M”
se gira el servomotor a 90º (abierto).
Si se recibe un mensaje de texto:
si el mensaje es “manual”:
se cambia el valor de la variable automático a “0”.
si el mensaje es “automático”:
se cambia el valor de la variable automático a “1”.
En la Microbit 2, si se pulsa el botón A se envía el mensaje “manual”. Si se pulsa el botón B se envía el mensaje “automático”.
Al recibir por radio un valor numérico:
si el valor es 0 (riego) se muestra el mensaje de riego.
si el valor es -1 (modo manual) se muestra el mensaje “M”.
en cualquier otro caso, se muestra el gráfico con el valor recibido.
Al realizar la simulación se observa el funcionamiento del sistema al aumentar el valor de humedad y modificar el valor umbral del potenciómetro.
También se puede comprobar el funcionamiento del cambio del modo automático a manual con la microbit remota.
Se va a desarrollar un sistema de detección de intrusos por sensor de movimiento, y su correspondiente control a distancia.
El funcionamiento será el siguiente:
Ambas Microbit seleccionarán el mismo canal de radio al iniciar (1 en este ejemplo).
La Microbit 1 (roja) se conecta al sensor de movimiento. Se añade un zumbador piezoeléctrico y un pulsador.
La Microbit 1 activa o desactiva la alarma a través del pulsador. Si la alarma está activa se muestra por pantalla ✓ y si está desactivada se muestra ✕.
Si la alarma está activa y el sensor detecta movimiento se genera un mensaje de aviso en el led de la Microbit y un sonido en el timbre.
Si la alarma no está activa, no se genera ningún aviso aunque el sensor de movimiento genere señal de detección.
La Microbit 2 (verde) puede activar la alarma pulsando A, y desactivar la alarma pulsando B.
En la Microbit 2, si se pulsa A+B se genera sonido de alerta durante 3 segundos, sin importar si la alarma está activa o si se ha detectado movimiento. En este caso el mensaje por pantalla y el sonido es diferente a la alarma generada por movimiento.
En todos los casos, la pantalla de la Microbit 1 y la Microbit 2 muestran la misma información.
Al iniciar la Microbit 1 se elige el canal de radio (valor 1 por ejemplo) y se inicializa la variable “encendido” con valor 0 (apagado).
En todo momento,
si está apagado (encendido = 0) y se pulsa el pulsador, se cambia el valor de encendido a 1, se muestra el mensaje por pantalla (✓), y se envía el valor 1 por radio.
si por el contrario, el sistema está encendido (encendido = 1) y se pulsa el pulsador, se cambia el valor de encendido a 0, se muestra el mensaje por pantalla (✕), y se envía el valor 0 por radio.
De forma paralela, en (otro) todo momento,
si el sistema está encendido:
si se recibe señal del sensor de movimiento: se muestra mensaje de alerta, se envía por radio el valor 2, y se emite por el puerto P1 el tono 400 durante 3 segundos.
si no se recibe señal de movimiento, se muestra el mensaje por pantalla (✓).
Además se va a añadir la funcionalidad remota, de forma que si recibe de la Microbit 2 un mensaje numérico:
si el valor es 0: se desactiva el sistema y se muestra el mensaje por pantalla (✕).
si el valor es 1: se activa el sistema y se muestra el mensaje por pantalla (✓).
si el valor es 2: se genera una alarma de forma manual, mostrando un mensaje de alerta por pantalla y se emite por el puerto P1 el tono 200 durante 3 segundos.
En la Microbit 2, si se pulsa el botón A se muestra el mensaje de sistema activo y se envía el mensaje “1”. Si se pulsa el botón B se muestra el mensaje de sistema inactivo y se envía el mensaje “0”. Si se pulsan los botones A+B se muestra el mensaje de alarma manual y se envía el mensaje “2”.
De igual forma, al recibir por radio un valor numérico:
si el valor es 0: se muestra el mensaje de sistema inactivo
si el valor es 1: se muestra el mensaje de sistema activo
si el valor es 2: se muestra el mensaje de alerta durante 3 segundos y se vuelve a mostrar el mensaje de sistema activo.
Al probar la simulación del sistema, se puede comprobar el correcto funcionamiento del encendido y apagado del sistema.
Y también se puede comprobar la correcta detección de movimiento y la generación del mensaje de alerta.
Se va a desarrollar un sistema de control de una puerta automática, que detecte el movimiento de una persona con un sensor de movimiento, y abra la puerta girando un servomotor. El sistema puede ser activado y desactivado con los botones de la Microbit, y también controlado con una Microbit remota.
El funcionamiento será el siguiente:
La Microbit 1 (roja) controla el sistema electrónico, mientras que la Microbit 2 (verde) hace de control remoto. Ambas Microbit utilizarán el mismo canal de radio para su comunicación.
Inicialmente el sistema está bloqueado (X), no permitiendo la apertura de la puerta. Al pulsar el botón A de la Microbit 1, el sistema pasa a modo activo (-), mientras que al pulsar el botón B de la Microbit 1, el sistema pasa de nuevo a modo inactivo o de bloqueo (X).
Si el sistema está en modo activo y se detecta movimiento se abre la puerta (⬆) durante 5 segundos y se vuelve a cerrar (-). La apertura de la puerta supone girar el servomotor a 180º, mientras que el cierre de la puerta supone girar el servomotor a 0º.
La Microbit 2 permite activar el sistema pulsando el botón A, desactivar el sistema pulsando el botón B, y realizar una apertura de emergencia de la puerta pulsando el botón A+B.
En la Microbit 2 (verde) se inicia la ejecución eligiendo el canal de radio a utilizar para la comunicación con la Microbit 1.
Si se pulsa el botón A (sistema encendido), se envía el número 1.
Si se pulsa el botón B (sistema apagado), se envía el número 2.
Si se pulsa el botón A+B (apertura de emergencia), se envía el número 3.
En la Microbit 1 (roja) se inicia la ejecución del programa determinando el canal de radio a utilizar (por ejemplo el canal 1), de define la variable “encendido” con valor 0, se muestra el mensaje “X” por pantalla y se gira el servo a 0º (posición puerta cerrada).
Al pulsar el botón A, se cambia la variable “encendido” a valor 1, y se muestra el mensaje por pantalla “-”. El servo se gira 0º( porque aunque el sistema esté encendido la puerta sigue cerrada).
Al pulsar el botón B, se cambia la variable “encendido” a valor 0 (sistema apagado), se muestra el mensaje “X” y se gira el servo 0º (puerta cerrada).
En todo momento:
Si el sistema está encendido:
Si el sensor detecta movimiento (es decir, si el valor de lectura digital del pin 0 es “alta”):
Mostrar el mensaje “⬆”, girar el servo 180º y esperar 5 segundos.
En cualquier otro caso (con el sistema activo no se ha detectado movimiento):
Mostrar el mensaje “-” y girar el servo 0º.
También se va a añadir la funcionalidad de mando a distancia. Para ello, al recibir un número por radio:
Si el número es 1: se cambia la variable encendido a 1 y se muestra el mensaje “-”.
Si el número es 2: se cambia la variable encendido a 0 y se muestra el mensaje “X”.
si el número es 3 (apertura de emergencia): se muestra el mensaje “⬆”, se gira el servo 180º, se espera 5 segundos y se vuelve a cerrar a 0º mostrando el mensaje “X”. (Este mensaje permanecerá si el sistema estaba previamente desactivado, o cambiará inmediatamente a “-” si el sistema estaba previamente activo).
Si probamos la simulación del sistema comprobamos que la apertura de la puerta se produce correctamente cuando el sistema está activado y se detecta movimiento con el sensor PIR.
Se va a diseñar un sistema de control remoto de un brazo robótico articulado a través del movimiento y rotación de la Microbit remota. Se moverán de forma automática tres servomotores correspondientes a los ejes X, Y y Z y un servomotor de apertura y cierre de la pinza.
El funcionamiento será el siguiente:
La Microbit 1 (verde) recibirá el movimiento de la Microbit 2 (roja) y convertirá esta información en movimiento de los 4 servomotores conectados a ella.
El giro del eje X (pitch) de la Microbit 2 se convertirá en el movimiento entre 0 y 180º del servomotor 2 conectado a la Microbit 1.
El giro del eje Y (roll) de la Microbit 2 se convertirá en el movimiento entre 0 y 180º del servomotor 3 conectado a la Microbit 1.
El giro del eje Z (rotación) de la Microbit 2 se convertirá en el movimiento entre 0 y 180º del servomotor 4 conectado a la Microbit 1.
Al pulsar el botón A de la Microbit 2, se producirá el cierre de la pinza, girando 90º el servomotor 1 conectado a la Microbit 1.
Al pulsar el botón B de la Microbit 2, se producirá la apertura de la pinza girando 0º el servomotor 1 conectado a la Microbit 1.
La Microbit 1 (verde) y la Microbit 2 (roja) seleccionan el mismo canal de radio al iniciar la ejecución.
La Microbit 1 además inicializa la posición de los servomotores 2, 3 y 4 a 90º con 1 segundo de espera para completar cada movimiento.
Si recibe el mensaje “mano” y el valor es 1 gira el servo 1 a 90º. Si por el contrario el valor es 0 gira el servo 1 a 0º.
Si recibe el mensaje “x” gira el servo 2 según el valor recibido, realizando previamente la conversión de valores de -180º a 180º del sensor a valores de 0º a 180º de posición del servo 2.
Si recibe el mensaje “y” gira el servo 3 según el valor recibido, realizando la misma conversión que con el eje “x”.
Si recibe el mensaje “z” gira el servo 4 según el valor recibido, realizando la conversión de valores de 0 a 360º del sensor de brújula a valores de 0º a 180º de posición del servo 3.
En la Microbit 2, en todo momento se envía el mensaje “x” para el valor “pitch” del sensor de rotación, el mensaje “y” para el valor “roll” del sensor de rotación y el mensaje “z” para el valor de brújula.
De igual manera, al pulsar A se envía el mensaje “mano” con valor 1, y al pulsar el botón B se envía el mensaje “mano” con valor 0.