Cyberpi y mBot2

Cyberpi es una placa basada en ESP32 con sensores, salidas, conectividad wifi y Bluetooth. Con esta placa es ya un robot independiente.
mBot2 es un robot que necesita Cyberpi y amplia sus posibilidades a lo mecánico.

Introducción

Introducción

Objetivos y contenidos

CONTENIDOS
OBJETIVOS
Introducción

Pensamiento computacional

¿Dónde se encaja este robot? ¿Se puede comparar este robot con otros robots de otros cursos que hacemos desde CATEDU?

Esta es la hoja de ruta que proponemos, no se tiene que tomar al pie de la letra, pero intenta ayudar al profesorado que tenga una visión global de tanta oferta robótica:

Como se puede ver CYBERPI + MBOT2 tiene la ventaja de ser un robot de suelo con muchas posibilidades y para muchas etapas.

Oferta de formación en Pensamiento computacional del Centro Aragonés de Tecnologías para la Educación.

Tenemos un grupo Telegram Robótica Educativa en Aragón, si estás interesado en unirte, envía un mensaje por Telegram (obligatorio) a CATEDU 623197587 https://t.me/catedu_es y te añadimos en el grupo

Introducción

Muro

https://padlet.com/CATEDU/mbot2

Introducción

mBlock5

Para entrar en este programa, tenemos dos opciones

OPCION TRABAJAR ONLINE

Entramos en https://www.mblock.cc/en/ y nos da dos opciones, trabajar con bloque, o con Python, elegimos bloques

2024-05-16 23_50_10-mBlock - One-Stop Coding Platform for Teaching and Learning.png

Esto nos lleva a la página https://ide.mblock.cc/ 

El paso previo nos lo podemos saltar e ir directamente a la página https://ide.mblock.cc/

En este editor tenemos que loguearnos podemos crear un nuevo usuario, utilizando una cuenta de Google/Apple o registrarnos con un correo electrónico

2024-05-16 23_53_10-mBlock Block-Based IDE- Coding for Beginners.png

Una vez logueado ya podemos trabajar, guardar nuestros proyectos en la nube en nuestra cuenta o localmente.

Esta opción es la más recomendada, pues nos permite acceder a nuestros programas independientemente del equipo. Poder embeber y publicar los proyectos, etc....

En este curso utilizaremos las capturas con la opción online

OPCION TRABAJAR OFFLINE

Entramos en https://www.mblock.cc/en/ y en la opción DOWLOAD nos da la opción de descargarnos el programa para no depender de Internet

Recomendamos esta opción en centros con problemas de Internet

2024-05-16 23_56_29-Download mBlock - Learn coding at any device, any where.png

Cyberpi

Cyberpi

Conocer Cyberpi

HARDWARE

Cyberpi ya es un robot, tipo placa electrónica, basado en ESP32 por lo tanto con Wifi y Bluetooh integrado y se le incorporan los suiguientes SENSORES Y ACTUADORES

2024-05-16 20_42_23-cyberpi-guia (1) - PDF-XChange Viewer.png

2024-05-16 21_03_57-cyberpi-guia (1) - PDF-XChange Viewer.png
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

HARDWARE - PUERTOS

2024-05-16 21_32_56-cyberpi-guia (1) - PDF-XChange Viewer.png
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

2024-05-16 21_33_23-cyberpi-guia (1) - PDF-XChange Viewer.png
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

SOFTWARE

Permite una programación en bloques con mBlock5 y con código con Python que también se puede hacer desde el mismo mBlock.

Para actualizar el Firmware instalado en Cyberpi, se tiene que hacer desde el mismo mBlock, Aquí cómo se hace.

Para ejecutar los programas que se graban en Cyberpi, se entra en Cambiar programa y seleccionando los programas cargados.

2024-05-16 22_27_07-cyberpi-guia (1) - PDF-XChange Viewer.png

2024-05-16 22_27_38-cyberpi-guia (1) - PDF-XChange Viewer.png
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

 Si se quiere ejecutar los programas predefinidos mover el joystick en el menú anterior a la derecha, y encontramos los típicos: Nivel de voz, sigue líneas, ....

Cyberpi

Mi primer programa "Hola mundo"

Conectamos Cyberpi con el PC utilizando un cable USB tipo c

2024-05-16 22_29_10-cyberpi-guia (1) - PDF-XChange Viewer.png
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

OJO, hay cables baratos que sólo sirven para "cargar", el cable que necesitamos tiene que permitir la comunicación bidireccional.

Entramos en mBlock5 https://ide.mblock.cc/ y añadimos el dispositivo CyberPi

2024-05-16 22_29_43-cyberpi-guia (1) - PDF-XChange Viewer.png

Una vez cargado el dispositivo CyberPi recomendamos entrar en la conexión directa (3) y pulsamos Conectar (4)

2024-05-16 23_31_11-mBlock Block-Based IDE- Coding for Beginners.png

Al dar a Conexión directa nos da dos opciones, Bluetooth y Serie, elegimos serie

2024-05-17 13_00_51-Window.jpg

Nota: La conexión Bluetooth sólo es si tenemos el pincho asociado (se vende aparte) y permite una conexión en vivo inalámbrica.
2024-05-17 13_04_08-Window.jpg

Se abren los puertos disponibles, elegimos el que esté conectado nuestro Cyberpi

Ojo: Tiene que estar encendido, si está con mClon, dar al interruptor on

2024-05-17 13_02_27-Window.jpg

Al dar a Conexión directa desaparece el texto y aparece Conexión con mLink ¿Qué es eso? Es otra opción, que antes se hacía obligatoriamente si usabas mBlock online: Instalar el programa mLink (que se puede descargar en https://www.mblock.cc/en/download/mlink/ ) y antes de entrar a mBlock online, tienes que ejecutar este programa y dejarlo minimizado. Aunque es una opción que puedes utilizar (y te evita la ventana anterior) la conexión directa es también cómoda.
2024-05-17 13_10_07-Window.jpg

Al conectar, nos aparecen instrucciones específicas de Cyberpi como instrucciones generales

2024-05-16 23_41_08-mBlock Block-Based IDE- Coding for Beginners.png

Podemos empezar con nuestro primer programa

2024-05-16 23_45_30-mBlock Block-Based IDE- Coding for Beginners.png

Le damos a Cargar , (luego aclaramos el modo En vivo qué es) y se ejecuta el programa

2024-05-16 23_46_23-mBlock Block-Based IDE- Coding for Beginners.png

MODO VIVO ¿ESO QUÉ ES?

El modo vivo, permite interactuar con el PC, por ejemplo:

2024-05-17 13_41_35-Window.jpg

Si te fijas, Cyberpi está conectado con cable USB al PC pues estamos En vivo dependemos del ordenador. Si se quiere una conexión En vivo e Inalámbrica, es necesario comprar el pincho bluetooth

UN POCO MÁS COMPLICADO

Podemos complicarlo un poco más para darle más colorido y sonido

2024-05-16 23_47_54-mBlock Block-Based IDE- Coding for Beginners.png

Cyberpi

Sonidos

Grabadora sencilla

La librería de Audio tenemos opciones interesantes

2024-05-17 13_58_00-Window.jpg

Podemos poner un programa sencillo

2024-05-17 14_00_55-Window.jpg
Fuente:  Guia Cyberpi Robotix con permiso de la empresa.

Este programa empieza con el evento tecla espacio. Por lo tanto necesita el Modo vivo
P: ¿Qué haríamos para no depender del ordenador, es decir, utilizar el modo cargar?
R: Podemos usar otro tipo de eventos que no dependa del PC

2024-05-17 14_02_51-Window.jpg

Grabadora más sofisticado

Si entramos en los programas de ejemplo, podemos elegir Magical Recorder

2024-05-17 14_50_17-Window.jpg

Y funciona como una grabadora de bolsillo:

Sirena

Si entramos en programas de ejemplo- Buzzer:

2024-05-17 14_43_55-Window.jpg

Toca una sirena:

2024-05-17 14_45_10-Window.jpg

Podemos jugar a reproducir notas

2024-05-17 14_41_11-Window.jpg

Teniendo en cuenta que sigue la notación inglesa. Equivalencia entre las notas anglosajonas, nota MIDI y frecuencias :

notes.gif

Fuente: Acústica musical. ETS Univ Vallalodid

Más sobre audio con Cyberpi en https://education.makeblock.com/help/mblock-block-based-device-cyberpi-audio/

INTELIGENCIA ARTIFICIAL

INTELIGENCIA ARTIFICIAL

Introducción: ¿Qué es?

La inteligencia artificial se refiere al conjunto de algoritmos realizan tareas complejas, que son capaces de realizar procedimientos que imitan el funcionamiento de la mente, como son aprender y tomar decisiones.

mind.jpg

De https://timoelliott.com/blog/cartoons/artificial-intelligence-cartoons en https://timoelliott.com/

INTELIGENCIA ARTIFICIAL

Introducción: Tipos

ML : APRENDIZAJE AUTOMATICO O MACHINE LEARNING

Aquí los algoritmos aprenden a partir de datos, y ellos buscan patrones para identificar. Cuanto más datos, mejores resultados.

El principio es básico. Queremos diferenciar silla mesa: Analiza datos, localiza patrones (cuatro patas, algo común, el tamaño y forma, patrones que diferencian como el respaldo....) con esas características, puede realizar un entrenamiento, y por lo tanto esta preparado para realizar predicciones.

Hay varios tipos de ML:

RL : APRENDIZAJE REFORZADO O REINFORCEMENT LEARNING

Es un modelo que busca la optimización. Utiliza resultados anteriores e intenta mejorarlos. Para buscar esto, se definen estados con unos parámetros que implican premio o penalización. La máquina busca soluciones y acciones para buscar los premios y huir de las penalizaciones.

DL : APRENDIZAJE PROFUNDO O DEEP LEARNING

Es un subconjunto del ML no supervisado, Se crea una red neuronal organizadas en capas, cada capa especializada, por ejemplo la primera de entrada recoge los datos, las intermedias, ya ocultas, identifican patrones y la última, la salida que recoge la información procesada  anteriores, la que toma las decisiones.

PLN : PROCESAMIENTO DE LENGUAJE NATURAL

Utiliza conceptos de DL y ML para comprender el lenguaje humano. Una aplicación son los chatbots. Que pueden ser:

EJEMPLOS 

LEARNING ML cabeza_genio.png
 https://web.learningml.org/en/home/ 

ML: MACHINE LEARNING FOR KIDS 2024-06-08 13_08_30-Machine Learning for Kids logo.png

https://machinelearningforkids.co.uk/#!/welcome

Ver nuestro tutorial en https://libros.catedu.es/books/robotica-educativa-con-mbot/page/maquina-educable-con-machine-learning-for-kids-y-scratch

DL REDES NEURONALES : QUICKDRAW 2024-06-08 13_22_52-quick draw - Buscar con Google.png

https://quickdraw.withgoogle.com/ Es un videojuego donde se ve claramente como se va perfilando las decisiones en forma de árbol y como la etapa final va reconociendo tu dibujo. En esta red, la primera etapa de la red neuronal son trazos que dibujas, y las neuronas intermedias son fruto de una extensa base de datos de dibujos. La última etapa es la decisión basada en las anteriores neuronas.

PLN: CHATGPT COMO FUNCIONA

DL CREA TU PEQUEÑA RED NEURONAL CON PYTHON

DL: GOOGLE DEEPMIND
 Google deepmind desarrolló una red neuronal para aprender a jugar videojuegos, y ganó a varios campeones humanos en videojuegos complejos (de los que inicialmente la máquina desconocía las reglas). Puedes ver en https://deepmind.google/ los diferentes proyectos actuales.

INTELIGENCIA ARTIFICIAL

Introducción: Y en plan que se entienda....

  1. MÁQUINAS “YA EDUCADAS” o "pre-trained ML/AI models"

    1. Reconocimiento de imágenes con mBlock

      1. Programa de reconocimiento imágenes

      2. Programa reconocimiento edad

    2. Reconocimiento de voz

      1. Traductor Con mBlock y Cybperpi

      2. Reconocimiento de órdenes Con mBot1 t mBot2

  2. SOFTWARE EDUCABLES o "No pre-trained ML/AI models"

    1. Máquina educable Teachable Learning y mBlock

    2. Máquina educable con CODE.ORG

    3. Máquina educable con Machine Learning for kids y Scratch

  3. HARDWARE EDUCABLES o sea, que tienen "Smart gadgets"

    1. SMARTCAM y mBot1

      1. Seguir pelota color

      2. Sigue líneas

kenny-eliason-5afenxnLDjs-unsplash.jpg
Photo by Kenny Eliason on Unsplash

INTELIGENCIA ARTIFICIAL

Introducción: Video Sensing, esto no es IA

El siguiente programa no interpreta las imágenes, simplemente estamos utilizando la webcam como sensor de vídeo

https://planet.mblock.cc/project/3730511

Extensión Video Sensing

2024-03-30 19_08_36-mBlock v5.4.3.png

mblock_block_1711822211532.png

2024-03-30 10_55_03-mBlock v5.4.3.png

+ info de esta extensión en https://barclayscodeplayground.co.uk/content/dam/barclayscodeplayground-co-uk/documents/scratch/SC_Using_Video_sensing_teachers_guide.pdf

INTELIGENCIA ARTIFICIAL

Máquinas educadas Cognitive Services Servicios cognitivos

Esta extensión pertenece al conjunto de extensiones de inteligencia artificial de mBlock

2024-03-30 20_50_56-mBlock v5.4.3.png

Instala un montón de instrucciones como

2024-03-30 21_02_27-WhatsApp.png

RECONOCIMIENTO DE EDAD

Para ver un vistazo rápido, vamos a utilizar un programa ya predeterminado, ir a Programas de ejemplo - AI - Age Analyzer (el del pulpo)

2024-03-31 21_02_50-mBlock v5.4.3.png

OJO, SI NO ESTAS LOGUEADO entonces NO FUNCIONA

novaai2.png

La verdad es que acierta bastante bien

2024-03-31 21_04_14-mBlock v5.4.3.png

Otro ejemplo de uso, reconocimiento de edad y traducción :

INTELIGENCIA ARTIFICIAL

Máquinas educadas: Traductor

En este programa, además de usar la extensión Servicios Cognitivos, instalaremos las extensiones :

2024-04-01 12_23_55-mBlock v5.4.3.png

El programa es muy sencillo, lo tienes aquí : https://planet.mblock.cc/project/3733312

traductor.png

INTELIGENCIA ARTIFICIAL

Máquinas educadas: Traductor con Cyberpi

Esta tarjeta controladora es un ESP32 por lo tanto permite conexión a Internet y lo podemos usar para realizar el mismo script de traducción

El programa lo tienes aquí https://planet.mblock.cc/project/3587357

Lo primero es conectarse a la Wifi :

cyberpi-conexion.png

Y para traducir

cyberpi-traduccion.png

OJO: HASTA QUE NO ESTES
1.-LOGUEADO con tu usuario en mBlock
2.-CONECTADO CON CYBERPI 
(las dos condiciones y en ese orden) NO SE VISUALIZAN LAS INSTRUCCIONES DE INTELIGENCIA ARTIFICIAL

novaai.png

INTELIGENCIA ARTIFICIAL

Máquinas educadas: Reconocimiento de voz- órdenes a mBot2

Aquí no trabajaremos en vivo SINO EN CARGA pues CibyerPi tiene conexión a Internet

La primera parte es el script de conexión de Wifi La siguiente orden es reconocer la voz, y según el resultado, que ejecuta.

Como puedes observar, la orden de reconocimiento de voz, añade un . al final que hay que tener en cuenta

El programa lo tienes aquí https://planet.mblock.cc/project/3733278

ordenesvozmbot2.png

INTELIGENCIA ARTIFICIAL

Software educable Machine Learning for kids y Scratch

REGISTRO

Entramos en https://machinelearningforkids.co.uk/

machine1.jpg

Tenemos varias opciones:

  1. Registrarnos y tenemos dos opciones
    1. como Un profesor o responsable de un club de programación en este caso tenemos otras dos opcioens
      1. Clase No administrada tienes que rellenar un formulario típico y creas la clase
      2. Clase administrada donde tienes opciones de incorporar alumnos a tu clase, este registro es por correo electrónico y tienen que verificar que perteneces a un centro educativo.
    2. como Estudiante en ese caso es el profesor de una clase administrada el que te tiene que crear la cuenta
  2. Iniciar sesión pues nos hemos registrado con alguna de las opciones anteriores
  3. Probar sin registrarse

machine2.jpg

Vamos a probar "sin registrarnos" pues estamos aprendiendo. Si luego esta herramienta te convence, Te registras

CREAMOS UN PROYECTO

Empezamos un proyecto

machine3.jpg

Empezamos un proyecto, como puedes ver hay diferentes formas de reconocer, y permite hacer un almacenamiento local, o en la nube. Como es algo de pruebas puedes hacerlo local. Pero si luego estas registrado es interesante hacerlo en la nube para tener acceso en cualquier sitio.

Ojo al cerrar el navegador se borra todo el modelo con la opción In your web browser

machine4.jpg

Ya lo tenemos

machine5.jpg

ENTRENAR

Primero vamos a entrenar la máquina

machine6.jpg

Creamos dos etiquetas y vamos escribiendo situaciones (o añadir un fichero txt) donde nos apetece un refresco o no (pueden ser más de dos situaciones)

machine7.jpg

Volvemos al proyecto..

machine8.jpg

ENTRENAR

Si ves que has puesto suficientes ejemplos, pide a la máquina que entrene

machine9.jpg

Empieza el entrenamiento... y para que no te aburras, te pone unas preguntas !!!

machine10.jpg

Una vez acabado puedes probarlo

machine11.jpg

fíjate que bochorno no lo hemos puesto en el entrenamiento y ha acertado bastante bien

machine12.jpg

Volvemos al proyecto

machine8.jpg

CREAR

Y vamos a CREAR y nos ofrece varias herramientas de programación, elegimos SCRATCH

machine13.jpg

Le damos a Abrir en Scratch 3

machine14.jpg

Elegimos un nuevo objeto (quitamos el gato)

machine15.jpg

y elegimos glass water

machine16.jpg

Y ponemos el siguiente programa, no es perfecto... pero acierta bastante bien

machine17.jpg

¿Sabías que ....?
.. hay un curso en Aularagón de INTELIGENCIA ARTIFICIAL CON SCRATCH máquina educable con Maching Learning for KitsVes https://libros.catedu.es/books/inteligencia-artificial-con-scratch con diferentes vídeos del INTEF verás paso a paso esta herramienta desde 2019

INTELIGENCIA ARTIFICIAL

Software educable: Máquina Educable Teachable Machine

Esta extensión sí que pertenece al conjunto de inteligencia artificial

2024-03-30 19_37_15-mBlock Block-Based IDE- Coding for Beginners.png

En la extensión nos muestra la posibilidad de crear un nuevo modelo de entrenamiento

Al crear un nuevo modelo, Build a new model hay que definir las categorías mínimo son tres

2024-03-30 19_58_36-WhatsApp.png

2 - 3 - 4 .- Poner nombres a la categorías
5.- Poner la imagen (en mi caso pantallazos del móvil)
6.- Clicar a qué categoría pertenece, para que aprenda, darle click cuando la barra verde suba
Repetir pasos 5 y 6 tantas veces cuanto se desee, cuanto más, mejor
7.-Usar el modelo de aprendizaje

maquinaeducable.png

Una vez creado el modelo, nos pone unas instrucciones que podemos usar en nuestra programación

2024-03-30 20_04_20-mBlock Block-Based IDE- Coding for Beginners.png

Otro ejemplo parecido usando playmovil

 

INTELIGENCIA ARTIFICIAL

Software educable: CODE.ORG

Una manera muy didáctica de enseñar los conceptos de Inteligencia Artificial es con CODE.ORG tiene cursos y el funcionamiento es parecido a la Máquina Educable de mBlock

ia-codeorg2.png

El resultado es 

ia-codeorg.png

INTELIGENCIA ARTIFICIAL

Software educable Playground, Teachable Machine Google y Microbit

Playground es como Scratch pero puedes utilizar las Teachable Machines de Google en tu programación

Entramos en https://playground.raise.mit.edu/httyr/

Y podemos usar una máquina educable de Google en (1) y luego utilizarlo en (2)

2024-06-02 19_58_55-PRG AI Blocks.png

Podemos conectar nuestro robot MICROBIT CUTEBOT

Este vídeo por ejemplo nos enseña cómo utilizar una máquina que reconozca que tocamos la cara o no

O reconocer textos

Por ejemplo este programa muestra si tienes puesto un sombrero o no

2024-06-02 20_07_47-Copia de Wednesday - Presentaciones de Google.png

Ulrich Pedersen Dah & Ture Reimer-Mattesen Center for Underisningsmidler CPU

INTELIGENCIA ARTIFICIAL

Maquinas educables: SmartCamera

Estamos ensañando este accesorio, pero en mBot2 no va muy fino, no obstante aquí tienes el enlace a mbot1 perfectamente se puede aplicar a mbot2

https://libros.catedu.es/books/robotica-educativa-con-mbot/chapter/7-ia-hardware-educable

SmartCamera - Qué es

Esta cámara se vende como accesorio de los robots de Makeblock por unos 140€ , ATENCIÓN, ESTE ...

SmartCamera - conexión con mBot

Hardware Para conectarlo con mBot1 hace falta la batería que se suministra en el pack, con su ca...

Smart camera - seguimiento color - sencillo

Configuración reconocimiento de color Método por software (recomendado) Una forma de configurar...

Smart camera seguimiento color avanzado

Kp, velocidad diferencial del motor.... ¿Eso qué es? En la extensión CAMARA INTELIGENTE ESPECÍFI...

Smart camera Piximon

INSTALACIÓN DE PYXMON V2 No es un software obligatorio, pero viene muy bien qué está pasando y q...

Smart Camera Código de barras

En el modo de detección de código de barras, puede detectar 15 códigos de barras ya definidas. ...

SmartCamera - sigue líneas

mBot ya tiene un sigue-lineas https://libros.catedu.es/books/robotica-educativa-con-mbot/page/sig...

Créditos