Robótica Educativa Con Mbot Avanzado Introducción Pensamiento computacional Robótica y accesibilidad 1. Veamos ejemplos M1 mBot plus Siempre hay que dejar una puerta a las mentes inquietas ... Vamos a calentar motores, aún no pongamos gadgets. Repaso de mBot Este módulo es continuación del curso básico ¿te lo sabes todo? Te retamos a contestar estas preguntas Robot polilla Propuesta Realizar un programa que "siga la luz" Solución Come-dinosaurio Reto Siempre podemos interactuar con los elementos de Scratch, la siguiente propuesta el dinosaurio se mueve de izquierda a derecha pero al azar en altura. El murciélago tiene que esquivarlo ¿cómo? volando arriba o abajo pero.... con el robot Si ponemos la mano delante del sensor de ultrasonidos, vuela hacia arriba Si ponemos la mano abajo (o algo negro, o levantando simplemente el robot) vuela hacia abajo La variable COMIDO cuenta las veces que el dinosaurio toca al murciélago Solución Aquí está la respuesta[Fichero de descarga]Programa murciélago:Programa del dinosaurio: La interacción de elementos de Scratch, como este caso el dinosario y el murciélago con sensores del mBot, es un recurso para que el producto final sea totalmente interactivo con elementos físicos diferentes al teclado y ratón. En este vídeo podemos ver un ejemplo: Seguir circuito y ultrasonidos En Internet hemos encontrado el siguiente ejemplo: Reto: Se ve mejor con un vídeo Solución Extraido de Sctratch dia de NerjaEvitar caerse No aconsejamos usar el sigue-lineas como "evitar caerse" primero por la evidente probabilidad de caída y rotura, y lo segundo porque para hacerlo bien, se necesitarían dos sigue líneas para vigilar los lados, el que hizo el siguiente vídeo simplemente tuvo suerte: Nosotros lo hemos probado, y efectivamente, es necesario dos sigue-lineas para que veáis que es cierto, mirarlo Solución El programa que lo hace se puede descargar [aquí]Radar Con el sensor a distancia podemos hacer que se oiga el zumbador de forma intermitente pero con una frecuencia más rápida si el obstáculo está mas cerca. Igual que los "asistentes de aparcamiento" de los coches. Solución Matemáticas y robótica Propuesta Nivel: finales de la ESO APLICACIÓN DE LAS MATEMÁTICAS A LA ROBÓTICA Es importante que no perdamos que el mBot PUEDE INTERACCIONAR con los personajes del mBlock (o Scratch) ENRIQUECIENDO LA INTERACCIÓN El siguiente ejemplo, el fantasma se mueve verticalmente SEGUN LA DISTANCIA d DE ULTRASONIDOS y la manzana se mueve horizontalmente y la posición vertical es aleatoria: Hay dos contadores para cuantificar las manzanas ganadas o perdidas, un vídeo es la mejor muestra: Solución El programa [te lo puedes descargar aquí]## MATEMÁTICASSe ha fijado como criterio la distancia de 5cm arriba del todo (y=180) y la distancia de 40cm abajo del todo (y=-150).Tenemos que convertir la distancia d que mide el robot con la variable y con una regresión lineal y= m + n * d tenemos un sistema de ecuaciones con las dos condiciones anteriores:- -150=m+n40- 180=m+n5Resolviendo sale m=132.85 y n=-9.47 luego la ecuación de la y es y=132.85-9.47*d donde d es la distancia del sensor de ultrasonidos## Manzana## FantasmamBot en Infantil Problemas técnicos !!! Para realizar este programa , *no se puede hacer con la versión actual de mBlock * Hay que instalar la versión antigua 3.2.x que te lo puedes descargar en https://mblock.makeblock.com/ en Download - Other mBlock software ¿y que hago si ya tengo instalada la actual? Desinstalas la versión actual Instalar la 3.2.x Haces el programa mBot infantil Cuando acabes ya puedes desinstalar la 3.2.x e instalar la versión actual de mBlock Agradecimientos a Jose Miguel Guerrero que halló la solución al problema, durante años asesor TIC del CIFE Juan de Lanuza, y apasionado de estos chismes._ En infantil se puede empezar el pensamiento computacional con la programación de secuencias en movimiento. Hay robots especializados, uno de ellos es el bee bot ¿Estas interesado en el BeeBot? [Aquí tienes el curso de BeeBot de Aularagón] (con préstamo de robot incluido) Pero ¿se podría usar nuestro mBot en infantil?  : (Idea autor Santiago Albesa Benavente - CATEDU) ¿Dónde está el programa? ino - 9.27 Descarga en GitHub ¿Cómo se graba ese programa .ino en el mBot? Aquí tienes un video-tutorial en flash para grabar el programa del mBot y convertirlo en un robot de aplicación al aula de infantil. https://drive.google.com/file/d/1_az1HUsiRSc6LUBQc5XPp-3UQT2K9bC0/view?usp=sharing Al infinito y más allá... Los de Makblock tiene un foro donde se pueden ver propuestas ( y tú subir las tuyas) http://www.makeblock.es/foro/category/scratch-arduino Aquí tienes un muro de cosas interesantes encontradas en Internet de otros (y puedes colgar las que tú veas interesantes) 2. Módulos y accesorios M2 mBot plus No hay excusas para la imaginación... Añadiendo módulos a nuestro mBot fuente Makeblock.esAcelerómetro y Gyro 3 ejes El acelerómetro gyro 3 ejes detecta en grados su inclinación en tres ejes: Su función en mBlock es la siguiente: En teoría como se puede ver en esta página de Makeblock.com puede comunicar los grados al mBlock pero no nos ha funcionado (en la versión 3.4, a lo mejor con la actual ya funciona). Sólo nos ha funcionado con el robot funcionando independientemente del ordenador = modo autónomo. (Upload to Arduino) Si tienes deriva en el eje Z aquí tienes a solución vídeo youtube Reto Suponte que quieres hacer un mando con el giroscopio. Es decir, si lo inclinamos sobre el eje y va hacia delante o hacia atrás Y si lo inclinamos sobre el eje x que gire a un lado o a otro Un vídeo lo explica mejor: Solución el 10* es porque los grados son demasiado pequeños para hacer una velocidad rápida.Potenciómetro El potenciómetro indica en grados el giro que le damos en su mando: Al ser negro el conector hembra, sólo se puede usar el puerto 3 o 4. La instrucción en mBlock es la siguiente: Un caso práctico El potenciómetro permite interactuar con el movimiento de un personaje de mBlock, enriqueciendo un video-juego: El dinosaurio se mueve continuamente en el eje x y aleatoriamente en el eje y El murciélago tiene fijo el x pero el y está sujeto al valor del potenciómetro Si el murciélago toca el borde exterior o toca el dinosario se suma un punto en COMIDO Solución Programa del murciélago:Programa del dinosaurioDescarga del programaSensor sonido El sensor de sonido mide la intensidad de sonido, siendo un valor de silencio próximo al 100 y un valor alto más de 300 aproximadamente Reto El perrito faldero, le dices ¡VEN! y viene, y se para al cabo de unos segundos: Solución 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 Realizar programas con el sensor de IR tiene una dificultad: NO SE PUEDE HACER A TRAVÉS DEL ORDENADOR es decir, no se puede realizar como lo hemos hecho hasta ahora: Bandera y comunicación entre PC y mBot ¿Por qué? porque el mBot tiene instalado en esta configuración el programa por defecto Firmware de fábrica y en este firmware tiene cargado un script de leer el mando, y no podemos saltarlo. Ver M1 Dos formas de funcionar mBot. ¿Cómo pues? Utilizando la otra configuración: mBot independiente del ordenador, con la desventaja de no poder interactuar con los elementos de Scracth, para usar este modo, hay que consultar el M3 en el apartado Upload to Arduino: Otro programa interesante es el que convierte mBot en un robot apropiado para infantil, utilizando el mando a distancia: Ver módulo anterior Reto Un simple programa: Si apreto al 0 se para Si apreto al 1 que se mueva durante 1 segundo Si apreto al 2 que se mueva durante 2 segundos Si apreto al 3 que se mueva durante 3 segundos Solución Sensor PIR El sensor PIR de movimiento se usa para detectar personas o animales en un rango de hasta 6m. Si se mueve algo dentro de ese rando el sensor activa la salida digital SIG a alto. Mediante un potenciómetro soldado en el módulo podrás ajustar el rango de detección.Nota: Justo en el momento de alimentarlo deberás esperar unos 10 segundos a que el sensor se inicialice. Reto Me pongo contento si te veo ¿Que tal si se pone contento al vernos? Solución Otro Reto, saluda ! Un ejemplo podría ser que detecte una persona, y el panda del mBlock nos salude. [fuente makeblock.com] Solución 3. Escarabajos, brazos y garras M3 plus servos, garras y escarabajos Nuestro mBot se vuelve agresivo ... Escarabajos Este kit de patas nos puede proporcionar tres tipos de construcciones: Escarabajo Mantis La rana Esta construcción no lo hemos probado por los posibles daños que pueda producir, la verdad es que da algo de lástima el pobre: Construcción El mismo kit muestra paso por paso cómo realizarlo, es un ejercicio de PACIENCIA más que de programación, y hay ser fiel a las figuras, sobre todo la orientación de las piezas, agujeros, etc... un sólo error y no funciona: Propuesta Esta propuesta perfectamente se puede hacer con el mBot, realizarlo con el escarabajo no esuna programación distinta a la del mBot normal, pero sí que es un elemento motivador, realmente parece otro distinto. Nuestra propuesta es realizar un programa que el escarabajo no salga de una línea cerrada: %accordion%Solución%accordion% La solución es la misma que en el curso de mBot I, es exáctamente igual: Este programa funciona mejor grabandolo en el Arduino Ojo con los servos Funcionamiento Los servos se tienen que conectar a través del ADAPTADOR RJ45 por lo tanto se pueden conectar DOS SERVOS en Slot1 y en Slot2 en el adaptador La instrucción de gobierno es "fijar servo" donde hay que especificar el puerto donde está conectado el Adaptador, y dentro del adaptador, a que slot está conectado, y finalmente cual es el ángulo que queremos que se fije el rotor Ojo con ellos Hay que tener en cuenta: NO HAY QUE FORZARLOS los servos fijan el rotor en el ángulo determinado por la instrucción fijar servo, al forzarlo se rompen los engranajes de plástico que son delicados y es típico que los chavales, al no estar el servo en la posición deseada, con la mano lo fuerzen. PICOS DE TENSIÓN los cables están protegidos con un cilindro magnético para absorber los los picos causados por los contínuos arranques, paradas e inversiones de giro propios del servo, aún así se producen y LAS BATERÍAS ESPECIALMENTE LAS RECARGABLES SE QUEDAN SIN ENERGÍA muy rápidamente. No te desesperes si ves que mBot no hace lo que habías programado, suele bloquearse con esos picos de tensión, especialmente si pones más de un servo ¿entonces la garra y el brazo? pues sí, no va muy bien. La fijación con la estructura de plástico es a través de unos tornillos muy pequeños, que requiere destreza. La estructura de plástico se rompe si se fuerza el priete de los tornillos. No tienen mucha fuerza, si nos excedemos se rompen los engranajes de plástico. Si deseamos servos con más fuerza es mejor usar los Motores Servo Si el relé si no está en la situación deseada inicial, lo mejor es desmontar y montar el soporte en la posición deseada, un vídeo lo explica mejor: Garra y el brazo articulado En esta sección vamos a utilizar la minigarra junto con el brazo articulado para dar más potencial a nuestra construcción, si colocamos el brazo tal y como está en la foto, nos permite mover el eje en los ejes Y y X, para el eje Z se puede utilizar el movimiento de giro propio de mBot con las ruedas. La minigarra tiene un servo, y el brazo articulado tiene 2 servos, en total 3 servos, por lo tanto tenemos que utilizar 2 adaptadores RJ45, dejando libre un slot, esto nos ocupa dos puertos, el otro puerto utilizaremos el sensor de línea pues nos permitirá mover el mBot por el camino que deseemos, y el otro puerto podemos utilizarlo para la matriz o para el sensor distancia Nosotros elegiremos la matriz, pues el sensor de distancia nos ha dado problemas (seguramente por los picos provocados por los servos). La garra no es muy fuerte, igual que el brazo, por lo tanto NO FORZARLO CON PESOS ELEVADOS, se romperán los engranajes de plástico interiores de los servos (ver Ojo con los servos), nosotros recomendamos un rollo de cartón por ejemplo higiénico pero de diámetro inferior, se puede hacer casero con un folio y celo. OJO con el brazo articulado: Su construcción es compleja, no es recomendable delegarlo a los alumnos: La U formada por la parte metáliza y las piezas de plástico transparente, si están algo abierto (flechas verdes) hace que el relé A que está enmedio de la U se caiga constantemente, hay que ajustar la U lo suficiente para que entre el relé primero entrando el relé A, luego colocar el tornillo B y finalmente el relé exterior, en ese orden, de lo contrario estaremos obligados a abrir la U para colocar el relé A y se caerá constantemente. Tira latas con teclado Propuesta Realizar un programa que utilizando el teclado del ordenador, pueda manipular un objeto La propuesta puede ser: Tecla C Cierra la garra Tecla A Abre la garra Tecla H coloca la garra en una posición Horizontal Tecla D balancea la garra hacia la derecha Tecla I balancea la garra hacia la izquierda Tecla flecha derecha gira el robot hacia la derecha Tecla flecha izquierda gira el robot hacia la izquierda Tecla fecha arriba mueve la garra arriba Tecla flecha abajo mueve la garra abajo Tecla 1 mueve el robot hacia delante Tecla 2 mueve el robot hacia detrás Tecla 0 para el robot en fin.... es una propuesta, se puede hacer como se quiera Solución Por ejemplo para  la siguiente configuración (puedes conectarlo como quieras, pero en esta solución conectamos los puertos y los slots a los servos siguientes:Puedes descargarte el programa aquí (sb2 - 75.12 KB).Tira latas con mando Propuesta Igual que el tira latas con teclado se puede hacer con mando, y tenemos un teledirigido capaz de coger las cosas... sólo hay que inventarse las teclas Solución Por ejemplo para  la siguiente configuración (puedes conectarlo como quieras, pero en esta solución conectamos los puertos y los slots a los servos siguientes:POR SUPUESTO ESTE PROGRAMA SÓLO SE PUEDE EJECUTAR SI LO GRABAMOS EN EL ARDUINO (o el mando IR no nos hará caso, pues por defecto tiene su configuración de fábrica)Puedes descargarte el programa aquí (sb2 - 75.12 KB).Tira latas automático Propuesta Esta vez, vamos a automatizar el proceso. Al apretar la tecla A del mando IR la garra baja, y se abre Al apretar la tecla B - Cierra la garra - Se mueve hacia delante hasta que encuentra una línea negra - Abre la garra SoluciónPor ejemplo para  la siguiente configuración (puedes conectarlo como quieras, pero en esta solución conectamos los puertos y los slots a los servos siguientes:POR SUPUESTO ESTE PROGRAMA SÓLO SE PUEDE EJECUTAR SI LO GRABAMOS EN EL ARDUINO (o el mando IR no nos hará caso, pues por defecto tiene su configuración de fábrica)Puedes descargarte el programa aquí (sb2 - 75.19 KB).Créditos