2. Listos
Módulos electrónicos
En esta sección vamos a aprender los módulos que están integrados en la placa:
- Botón
- Led RGB
- Buzzer
- Sensor Infrarrojos
- Sensor de luz
Fuente : Modificado de http://makeblock.es
Botón
RETO
Realizar un programa que salga un mensaje al apretar el botón de mBot.
Solución
Con mBlock5 puedes utilizar o el código de la derecha o el de la izquierda
Utilizaremos la técnica VARIABLES GLOBALES, creamos una variable global MENSAJE, ver https://libros.catedu.es/books/robotica-educativa-con-mbot/page/programacion-mblock
Y en el objeto oso panda
Con mBlock3 era
Pregunta tonta: ¿por dónde sale el mensaje?
El botón es un elemento de interacción a tener en cuenta, aunque como veremos más adelante es más útil usar el teclado del PC.
Siempre es típico que el primer programa en un curso de programación sea un "Hola Mundo" pero lo hemos personalizado
LED RGB
Los LED que hay montados en la placa permiten poner los 3 colores básicos a distintas tonalidades, desde 0 hasta 255, que podemos mezclar
RETO
Realizar un programa que al apretar en el teclado.. * 'a' se encienda el rojo * 's' se encienda el verde * 'd' se encienda el azul
Solución
En mBlock5 lo tienes aquí https://planet.mblock.cc/project/3261360
En mBlock3
Ahora usa el teclado de tu ordenador, pulsa las teclas a s y d
¿No funciona?
Puede ser que mBot se quede enganchado con algún código anterior, y no lo tengas en modo VIVO
Buzzer
Este simpático zumbador nos da algo de juego, podemos cambiar la nota como la duración, vamos a probarlo:
Reto
Realizar una sirena, es decir, que suene un tono un segundo por ejemplo, y otro tono diferente durante otro segundo, y así sin parar. Para complicarlo más, sólo hará la sirena si pulsamos la tecla espacio. Para pararlo hay que pulsar el círculo rojo que hay al lado de la bandera.
Solución
En mBlock5 lo tienes aqui https://planet.mblock.cc/project/3261365
En mBlock3
Aquí podemos conseguir un tono creciente
Y para los más frikis ;) ...
De http://juegosrobotica.es/musica-con-mbot/
Si alguien lo hace, por favor que lo cuelgue en el muro !
Mando a distancia y sensor IR
El sensor de IR puede recibir del mando números, letras A-D, flechas y el botón configuración. Ojo: El mando no es exclusivo de un robot, es decir, los demás robots del aula reciben las misma información, lo importante es apuntar el mando a los sensores del robot y no a otro:
Fuente: Tutorial de http://makeblock.es
Para comprobar si tu mando funciona, es muy fácil (válido para todos los mandos, incluso el de TV) enfoca con tu móvil y aprieta a ver si se enciende la luz. La cámara de los móviles es sensible al IR
Reto
Vamos que puedes hacerlo bailar !! con el mando a distancia, tienes que controlar sus movimientos, flecha arriba adelante, flecha atrás retrocede.... botón central (el de la rueda dentada) que pare.
Solución
Con mBlock 5 se puede en vivo o cargar. Lo tienes aquí https://planet.mblock.cc/project/3263253
Con mBlock 3 sólo se puede cargar, no en vivo

Sensor Luz
El sensor Luz está situado al lado de los de IR, detecta la luz ambiente, pero también hemos experimentado que detecta la infrarroja, por lo que es sensible a la calefacción, y falsea su medida.
Fuente: Tutorial de http://makeblock.es
Reto que el panda diga la luz que hay
Vamos a creare un programa donde el objeto Panda diga la cantidad de luz que lee. La intención es ver cual es el umbral para realizar el siguiente reto
En mBlock5.0
Puedes utilizar la técnica de VARIABLES GLOBALES, que es muy fácil y lo hemos visto y explicado aquí https://libros.catedu.es/books/robotica-educativa-con-mbot/page/programacion-mblock y que sería el programa como este https://libros.catedu.es/books/arduino-con-echidna-y-mblock-scratch/page/el-ldr-en-a5 pero vamos a utilizar en este caso la técnica más sofisticada BROADCAST
El programa lo tienes aquí https://planet.mblock.cc/project/3263369
El programa en el dispositivo MBOT (hay que ir al + de abajo, e instalar la extensión BROADCAST)
El programa en el dispositivo OSO PANDA (hay que ir al + de abajo, e instalar la extensión BROADCAST)
RETO MARCHA NOCTURNA
Realizar un programa que si se apaga la luz, el robot ¡¡se pone a dar vueltas!! sino, se queda quieto:
Solución
Utilizaremos el programa anterior para saber el UMBRAL es decir, qué valor determinamos que hay luz y no hay luz, en nuestro caso por las características del aula, lo fijamos en 500, en tu caso puede ser distinto.
En mBlock5.0 lo tienes aquí https://planet.mblock.cc/project/3263444
En mBlock 3.0
Es muy espectacular hacerlo con los alumnos, se deja el aula a oscuras, se encienden todas las luces y todo baila !
No te quedes sólo con darle vueltas
El pobre tiene ganas de salir de marcha por la noche:
RETO Robot polilla
Ya sabemos que las polillas van a la luz: Realizar un programa que si hay luz entonces que vaya recto, si no hay luz que de vueltas
Solución
En mBlock 5.0 lo tienes aquí https://planet.mblock.cc/project/3263452
Se ha optado por dar un poco de potencia a la otra rueda cuando no hay luz, para que de la vuelta un poco más abierta. Puedes poner simplemente la instrucción girar (a la derecha o a la izquierda) pero si hace la vuelta abierta, va mejor.
En mBlock3, y de paso que nos diga el oso la luz
Componentes exteriores
Componentes exteriores importantes a la hora de programar y que trataremos en este curso son:
- Sensor de Línea para utilizarlo por ejemplo como sigue líneas. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 2.
- Sensor de distancia por ultrasonidos para utilizarlo por ejemplo como evita-obstáculos. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 3.
- Matriz de leds 8x16 para expresar símbolos y caracteres. Este componente no está en el kit standard mBot, pero sí en el que presta CATEDU. EN ESTE CURSO LO CONSIDERAREMOS CONECTADO EN EL PUERTO 1.
Por favor no cambies los puertos del equipo de préstamo de Catedu
Fuente de las imágenes: http://makeblock.es/
Sensor de línea
El sensor de líneas está situado en la parte inferior de mBot:
Fuente: Tutorial de http://makeblock.es
Y tiene los siguientes valores:
- 0 si detecta todo negro (en binario 00)
- 1 si detecta blanco derecha pero negro a la izquierda (01)
- 2 al revés (10)
- 3 si detecta los dos blancos (11)
Fuente: Tutorial de http://makeblock.es
Reto, la oveja en su redil
Ponemos a mBot en un recuadro blanco con el borde negro, queremos que hagas un programa que no salga nuestro robot del "redil".
Consejo: Poner velocidad baja pues si va rápido se salta la línea.
Solución
En mBlock 5.0 lo tienes aquí https://planet.mblock.cc/project/3263664
Fíjate que se ha puesto NINGUNO NEGRO de esta manera, en el momento que uno de los sensores detecte negro, dará la media vuelta
En mBlock3.0
Si no funciona bien, se salta la línea.. no trabajes en vivo, carga el programa
Sensor distancia
El sensor de distancia por ultrasonidos nos devuelve por eco la distancia en cm del objeto que se encuentra enfrente, hasta un máximo de 400 cm
Fuente: Tutorial de http://makeblock.es
Reto huir
Queremos que hagas un programa que si pongo la mano delante, que se vaya atrás. Por ejemplo a menos de 10cm.
Solución
En mblock5.0 lo tienes aquí https://planet.mblock.cc/project/3264009
Se ha utilizado una instrucción de MATRIZ LED que veremos a continuación para visualizar la distancia
En mBlock 3 Para calibrar, se ha utilizando el Panda que diga la distancia que lee (Instruccion Decir...). Está realizado el programa con mBlock3.
Fuente: Captura de pantalla mBlock. Programa: el autor.
Intenta cogerlo !!! (por delante claro)
Matriz Led
Con este simpática matriz, tenemos mucho juego, podemos hacer un dibujo, texto, valores numéricos ...
y si hacemos dos clicks nos permite poner el gráfico que queramos, incluso guardarlo en favoritos!
Reto
Realizar un programa como en anterior pero en vez de huir, que sonría. Es decir, si pongo la mano delante sale una cara sonriente.
Solución
En mBlock 5.0 lo tienes aquí https://planet.mblock.cc/project/3264027
En mBlock3
Qué simpático ¿no?
También puede ser que se ponga triste si no se pone la mano
¿No funciona?
Puede ser que mBot se quede enganchado con algún código anterior, la solución como siempre ACTUALIZAR FIRMWARE
Podemos enviar un texto, con la instrucción show face:
Esto envía en las coordenadas 0,0 la palabra CATEDU pero.... ¡¡SALE CAT!!
Claro ! no cabe!! ¿cómo lo hacemos? esto requiere más programación, hay que crear una variable X e ir ¿incrementando o decrementando la coordenada x? vamos a probar decrementando
Y ahora incrementando ¿cómo salen las letras CATEDU?
A pesar de que las capturas están con mBlock 3.0 con mBlock 5.0 es igual
Enviar la hora .... este curso es largo ¿qué hora es? que nos lo diga:
El robot no tiene reloj .. entonces ¿Quién le dice la hora?
mBot lo gobierna un Arduino, por lo tanto un micro atmel128 con reloj interno, que puede utilizarse, pero no es este caso, pues es una instrucción azul que es propio de Scratch, por lo tanto del ordenador, que no puede usarse con Upload Arduino o Cargar sino EN VIVO