2. Listos

Módulos electrónicos

En esta sección vamos a aprender los módulos que están integrados en la placa:

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

blocks.png

Y en el objeto oso panda

mbotl-boton2.png

Con mBlock3 era

embedded-image-snKETvoE.png
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

mbot1-teclas-color.pngEn 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

mbot-teclaespacio-pitido.png

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

mbot1-mando.png

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)

mbot1-luz1.png

El programa en el dispositivo OSO PANDA (hay que ir al + de abajo, e instalar la extensión BROADCAST)

mbot1-luz2.png

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

mbot1-marchanocturna.png

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

robotpolilla.png

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:

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:

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

mbot-corral.png

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

mbot-mealejo.png

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)

via GIPHY

Matriz Led

Con este simpática matriz, tenemos mucho juego, podemos hacer un dibujo, texto, valores numéricos ...

pantalla.png

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

mbot-sonrioymealejo.png

En mBlock3



Qué simpático ¿no?

via GIPHY

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