Jugando con la maqueta y Makecode
- LED AMARILLO
- Extensiones
- NEOPIXEL
- PIR SENSOR MOVIMIENTO
- LCD DISPLAY
- PUERTA
- VENTANA
- LLUVIA CIERRO LA VENTANA
- SONIDO ABRE CIERRA VENTANA
- DHT11
- MOTOR
- GAS
- Tengo dos microbits: Control por radio
LED AMARILLO
Vamos a hacer este sencillo proyecto, es tan sencillo que no hace falta las extensiones anteriores.
https://makecode.microbit.org/S51000-47523-37650-37264
RETOS
RETO1: Haz que brille de forma gradual y luego baje y así sucesivamente, si no lo sabes mira:
https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-2-breathing-led
RETO2: Haz que cuando sea de noche, se encienda la luz
Es decir el llamado Interruptor Crepuscular
Pista:
- El sensor de luz lo tienes en la propia placa de microbit por aquí tienes una pista: https://libros.catedu.es/books/microbit/page/sensor-luminosidad-y-sonido
Extensiones
OPCIÓN A PONER LA EXTENSIÓN QUE NECESITEMOS EN CADA MOMENTO
Si vas a utilizar alguno de estos elementos, necesitas instalar la extensión correspondiente
- DHT11
- I2C_LCD1602
- Neopixel
Para instalarlas. En Makecode https://makecode.microbit.org/#editor vamos a Extensions
Para DHT11
Para el LCD display
Para Neopixel
OPCIÓN B : PONER LAS EXTENSIONES TODAS DE GOLPE
En Makecode https://makecode.microbit.org/#editor vamos a Extensions
Y pegamos la siguiente URL https://github.com/keyestudio2019/ks_IoT
Al pulsar Intro o dar a la lupa, aparece una extensión que instalaremos
al instalarlo se instalan tres extensiones
- DHT11
- I2C_LCD1602
- Neopixel
NEOPIXEL
Hay que tener instalada la extensión correspondiente
Vamos a jugar ahora con esta extensión. Al iniciar, configuramos los 4 leds en pin 14 y le asignamos un color aleatorio. En el bucle, van rotando:
Si pulsas al siguiente enlace, no hace falta instalar las extensiones, ya lo pone
https://makecode.microbit.org/S80703-67256-64383-19034
RETO: Que realice una secuencia de colores
Ver https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-3-6812-2x2-full-color-rgb
El NEOPIXEL SE QUEDA ENCENDIDO 😡😠😤
¿Molesta? pues es normal, se queda el sensor activado
La única manera de apagarlo es ejecutar
PIR SENSOR MOVIMIENTO
Un bucle para determinar si hay movimiento o no
La instrucción PIN lo encontramos en avanzados:
https://makecode.microbit.org/S50667-88978-39987-85757
RETOS
RETO1: que muestre lo que detecta por el puerto USB
ver https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-4-pir-motion-sensor
RETO2 que si detecta movimiento se encienda el led amarillo
ver https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-5-induction-lamp
RETO3 que si detecte que suene una alarma Pista: aquí tienes cómo hacer sonidos https://libros.catedu.es/books/microbit/page/una-pequena-melodia
LCD DISPLAY
Extensión
Para manejar el display, se necesita la extensión I2CLCD1602 (si has instalado las extensiones, https://libros.catedu.es/books/smart-home-para-microbit/page/instalando-la-extension-smart-home-para-microbit ya la tienes)
Vamos a hacer el programa anterior, pero que lo visualice el display
Si pulsas al siguiente enlace, no hace falta instalar las extensiones, ya lo pone
En la extensión de la placa micro:bit el LCD está en la dirección 039 por lo tanto tenemos que indicarlo al iniciar. En caso contrario no funciona, pues no sabría a qué dirección enviarlo.
Regular el contraste
Cuenda ejecutes el programa, gradúa el potenciómetro de atrás para ver los caracteres con el contraste adecuado
Programa
Vamos a realizar un programa que si detecta una persona salude, en caso contrario que visualice que está en reposo
Solución
https://makecode.microbit.org/S74903-63787-58066-67229
RETOS
RETO1: Visualizar por el LCD un contador de medio segundo
Solución https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-9-1602-lcd
RETO2: ¿Y si las maquetas se comunicaran entre sí y lo muestran por la pantalla del Display? Hacer un programa que si detecta presencia, envíe un mensaje tipo radio a los vecinos diciendo que han entrado
Pista: Para la comunicación por radio aquí tienes cómo hacerlo : https://libros.catedu.es/books/microbit/page/radio
PUERTA
Vamos a realizar un programa que simplemente vaya girando de 10 en 10 grados la puerta desde su valor mínimo 0º hasta el máximo 180º
https://makecode.microbit.org/S17729-92579-26017-84671
Ante un atasco, suelen estropearse los servos, el consejo es no forzarlos a 0º y 180º, sino a 10º mínimo y 170º máximo. Si se han atascado, su sustitución es barata.
RETO Realizar el mismo programa pero que sea 0 - 45 - 90 - 135 - 180
Solución https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-6-adjust-angles-of-servo
VENTANA
Hacemos igual pero con la ventana
Recuerda que el servo de la ventana, como es tipo cremallera: Los límites de tu ventana pueden ser distintos a los mostrados, si fuerzas al máximo: 0º cerrado y 180º abierto, seguramente tropezarás con la pared lateral o con la rueda dentada con el peligro de quemar el servo. Recomendamos empezar 40º cerrado y 140º abierto e ir ampliando si no se llega a cerrar o abrir
https://makecode.microbit.org/#pub:S70583-40692-95307-16024
Ante un atasco, suelen estropearse los servos, el consejo es no forzarlos a 0º y 180º, sino a 10º mínimo y 170º máximo. Si se han atascado, su sustitución es barata.
LLUVIA CIERRO LA VENTANA
Enunciado
Vamos ahora a hacer un programa que si el sensor detecta lluvia, que cierre la ventana
Definir un UMBRAL
Aquí la cuestión es ¿Cuál es nuestro umbral para determinar lo que es lluvia y lo que no es? pues el sensor es analógico no como los anteriores
En este programa definimos un umbral de 500, más de ese valor vamos a pedir que cierre la ventana
El display LCD visualiza los datos de lluvia para poder ver qué ocurre
Programa
Recuerda que el servo de la ventana, como es tipo cremallera: Los límites de tu ventana pueden ser distintos a los mostrados, si fuerzas al máximo: 0º cerrado y 180º abierto, seguramente tropezarás con la pared lateral o con la rueda dentada con el peligro de quemar el servo. Recomendamos empezar 40º cerrado y 140º abierto e ir ampliando si no se llega a cerrar o abrir
https://makecode.microbit.org/S48168-34893-12799-18989
RETO Que emita un sonido de alarma y que se visualice por el led amarillo
Si no sabes mira https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-11-rains-alarm
SONIDO ABRE CIERRA VENTANA
Enunciado
Vamos a realizar un programa que ante un sonido fuerte, abra o cierra la ventana
Solución
Utilizaremos el sensor de SONIDO DE LA MICROBIT que recuerda que sólo detecta niveles altos, no interpreta sonidos, sólo intensidades.
Para ello hay que crear una variable ABIERTO que "recuerde el estado" pues es distinto comportamiento si esta cerrada la ventana o si esta abierta
https://makecode.microbit.org/S30632-27194-13847-61862
Ojo, no alucines: La micro:bit no entiende "abre" y "cierra" sólo detecta niveles de sonido. Vamos que si gritas "Pescado fresco" también lo hace.
DHT11
Vamos a ver en esta página:
- La instalación en Makecode de la Extensión DHT11
- Programa lectura de valores temperatura y humedad DHT11 al display LCD con Makecode
- Programa lectura de valores temperatura y humedad DHT11 al puerto serie con Makecode
- Programa lectura de valores temperatura y humedad DHT11 al display LCD con Microblocks
Extensión DHT11
Para manipular DHT11 con makecode tenemos que tener la extensión correcta: Busca DHT11 en extensiones...
Instala una extensión con estas instrucciones:
Tal y como dice su página sirve tanto para DHT11 como DHT22, el DHT22 es blanco, es un poco más caro pero más preciso (tacaños !!!)
Programa lectura de valores temperatura y humedad DHT11 al display LCD con Makecode
Si pulsas al siguiente enlace, no hace falta instalar las extensiones, ya lo pone
Realizamos este programa https://makecode.microbit.org/S12731-23834-73453-08192
Como puedes ver da muchas veces el error Checksum -999
RETO: 🧠🧠🧠Cambia el programa para que cuando detecte esos valores de Checsum, simplemente el display no lo muestre, que siga mostrando el valor correcto anterior.
La solución la tienes aquí
¿Qué no sabes qué es Checksum? eso es porque no te has leído bien la página de sensores
Programa lectura de valores temperatura y humedad DHT11 al puerto serie con Makecode
A pesar de que en la página oficial propone un programa que también da error checksum, vamos a realizar esta modificación que no da ese error:
AGRADECIMIENTOS a CARMEN GARROTE mentora digital del CP Angel Sanz Briz Teruel autora de esta modificación:
Debajo del dibujo de la Micfrobit tienes el botón para ver el puerto serie:
Programa lectura de valores temperatura y humedad DHT11 al display LCD con Microblocks
CROBLOCKS que es un programa local que se descarga en https://microblocks.fun/
Se instala los drivers que por cierto son del mismo fabricante keyestudio :
Se ha añadido la librería Temperatura y Humedad DHT11.
Realizamos el siguiente programa y lo grabamos en la microbit:
¡¡ FUNCIONA PERFECTAMENTE !!! en ningún momento salta -999
Enlace al programa
MOTOR
El motor tiene un sencillo funcionamiento:
| PIN12 | PIN13 | MOTOR |
| 0 | 0 | PARADO |
| 0 | 1 | ROTACIÓN SENTIDO RELOJ |
| 1 | 0 | ROTACIÓN SENTIDO ANTIRELOJ |
| 1 | 1 | PARADO |
https://makecode.microbit.org/S96383-79923-07943-79319
RETO Lo mismo que anteriormente pero sin bucle
SOLUCIÓN https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-7-130-motor
GAS
El sensor MQ-2 es sensible a gas de combustible, incluso alcohol. Vamos a realizar un circuito que si detecta alguno de estos gases, funcione el ventilador.
Es un sensor que internamente lleva una resistencia que al calor, hace que los sensores detecten gases inflamables. Si te tocas el sensor, verás que esta caliente.
Este sensor, como todos los de este tipo, van al revés pull down, es decir cuando detectan se lee un 0 y cuando no detecta, se lee un 1
https://makecode.microbit.org/S89674-59327-62723-53770
acercamos una botella de alcohol y funciona !!!
Aunque también es sensible al butano, como podemos ver en el tutorial de Aularagon SMART HOME ESP32 https://libros.catedu.es/books/smart-home-esp32/page/project-82-dangerous-gas-alarm
RETO: Que cuando detecte el gas, que suene una alarma y el led amarillo parpadee
SOLUCIÓN https://docs.keyestudio.com/projects/KS4027-KS4028/en/latest/makecode.html#project-12-analog-gas-mq-2-sensor
Tengo dos microbits: Control por radio
¡¡ Genial !! puedes manejar la maqueta A DISTANCIA !!!
En la micro:bit suelta
- Fijar en el inicio el grupo 1 de radio que tiene que ser el mismo que la maqueta (en clase, es recomendable que cada maqueta tenga un grupo distinto o sino será un caos, el número puede ser desde 1 hasta 255)
- Si pulso A envío "derecha"
- Si pulso B envió "izquierda"
- Si pulso A+B envío "para"
https://makecode.microbit.org/S40111-22646-40846-61771
En la micro:bit de la maqueta
- Si recibo "derecha" muevo el motor según las agujas del reloj
- Si recibo "izquierda" pues al revés
- Si recibo "para" paro el motor
https://makecode.microbit.org/S27664-70538-16282-38533