Jugando con la maqueta y Makecode
- LED AMARILLO
- NEOPIXEL
- PIR SENSOR MOVIMIENTO
- LCD DISPLAY
- PUERTA
- VENTANA
- LLUVIA CIERRO LA VENTANA
- DHT11
- MOTOR
- GAS
- Exensiones
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
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/S31244-36562-66788-32342
¿va mal? ¿no tiene libertad de movimientos?
Porque no le has puesto un pilar. Mira https://libros.catedu.es/books/smart-home-para-microbit/page/un-pilar
Ante un atasco, suelen estropearse los servos. Son muy baratos, lo que cuesta es montarlos.
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
Con una diferencia, no vamos a llegar al tope de apertura 180º pues tropieza con la pared, con 150º es suficiente y la ventana a esos grados esta totalmente abierta
https://makecode.microbit.org/S97837-07871-42459-70030
Ante un atasco, suelen estropearse los servos. Son muy baratos, lo que cuesta es montarlos.
LLUVIA CIERRO LA VENTANA
Vamos ahora a hacer un programa que si el sensor detecta lluvia, que cierre la ventana
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
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
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
Exensiones
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