# 4 Testeo

# 4.1 Con mBlock

<p class="callout warning">Este tutorial no es un tutorial de programación de **mBlock** sólo se muestran algunas líneas principales de recordatorio. Recomendamos visitar los tutoriales de mBot en [www.catedu.es](http://www.catedu.es) en Robótica los correspondiente a mBot.</p>

Para entrar en el programa mBlock tienes que entrar en [http://www.mblock.cc/](http://www.mblock.cc/) en Download y tienes varias opciones:

1. **Online** versión Web tiene la ventaja de tener tus programas en la nube si te registras pero dependes de la conexión de Internet en su uso en el aula.   
    Hay que descargar previamente el driver **mLink** y ejecutarlo,. Lo encontrarás en la misma página
2. **Offline** descargando el programa en [http://www.mblock.cc/](http://www.mblock.cc/) en Download 
    1. Para equipos viejos, incluso con Windows XP recomendamos la versión 3
    2. Para PC, la versión 5 tienes varias opciones en Windows, Mac o Tablets. En Linux usa la versión web.

[![2022-03-19 21_32_35-Download mBlock - Learn coding at any device, any where.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-19-21-32-35-download-mblock-learn-coding-at-any-device-any-where.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-19-21-32-35-download-mblock-learn-coding-at-any-device-any-where.png)

### 4.1.1 Versión Web

Después de lanzar **mLink** se abre las diferentes opciones de trabajar, elegimos programar en bloques

[![2022-03-20 00_33_12-mLink2 (v2.1.1).png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-00-33-12-mlink2-v2-1-1.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-00-33-12-mlink2-v2-1-1.png)

Se abre la página web [https://ide.mblock.cc/ ](https://ide.mblock.cc/) en el cual tenemos que añadir el dispositivo mBot, y darle a conectar.

[![2022-03-20 00_30_57-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-00-30-57-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-00-30-57-mblock-block-based-ide-coding-for-beginners.png)

Si trabajamos **en vivo o live** pide instalar el firmware

[![2022-03-20 00_35_17-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-00-35-17-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-00-35-17-mblock-block-based-ide-coding-for-beginners.png)

En modo **cargar o upload** solo permite el evento *Cuando mBot se pone en marcha.* Una vez acabado el programa, le damos a subir:

[![2022-03-20 00_46_21-mBlock v5.4.0.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-00-46-21-mblock-v5-4-0.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-00-46-21-mblock-v5-4-0.png)

### 4.1.2 mBlock PC versión 5

En este caso descargamos el programa y no es necesario ejecutar **mLink**. La interfaz y el funcionamiento es exactamente igual que la versión web.

### 4.1.3 mBlock versión 3

Una vez dentro del programa, seleccionamos mBot

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-o3m3qkfq.jpeg)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Y lo conectamos por el puerto serie, teniendo nuestro mClon conectado por cable al ordenador. Si no lo detecta, instalar el driver de Arduino.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-gkcexl0c.jpeg)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Hay dos modos de funcionar: **Dependiendo del ordenador (o en vivo en versiones 5x o Web)**, tiene la desventaja de que va lento, pues el programa lo ejecuta el ordenador y hay que tener mClon conectado pero tiene la ventaja que podemos interactuar con el ordenador. Para ello hay que instalar el programa por defecto:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-ywlcibd2.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

O el modo **independiente del ordenador (modo Cargar en versiones 5x o Web)** donde el programa se ejecuta en el mismo mClon y puede ir desconectado del ordenador, es el método más aconsejable al menos que se quiera interactuar con el ordenador.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kookfqn8.jpeg)

*Fuente: https://mclon.org Maria L CC-BY-SA*

<p class="callout warning">Si quieres más información de la forma de programar con mBloc, visita el curso mBot en [www.catedu.es](http://www.catedu.es) en tutoriales</p>

# 4.2 Testeo con mBlock motores

Ahora hay que hacer programas sencillos de los diferentes elementos. La forma más rápida y sencilla es **el modo live, en vivo o dependiendo del ordenador** (como quieras llamarlo).

Si alguno no funciona, hay que comprobar las conexiones, verificar continuidad con un polímetro... etc.

Ponemos el mClon **dependiendo del ordenador** y hacemos dos cliks en esta instrucción :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-ui6lfiu5.png)

Si no gira el motor, a lo mejor es que están intercambiados el izquierdo y el derecho, ejecuta pues este programa.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-flydcnli.png)

Si tampoco funciona, revisar el pin VM que tiene que estar conectado a +5V Ard.

Si el giro de algún motor no es el apropiado, es que están intercambiado su polaridad.

Si uno de los dos nunca gira, revisa las conexiones entre controlador e inversor.

Si utilizas las versiones Web o 5x de mBlock cambia algo la instrucción

[![2022-03-20 09_00_05-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-09-00-05-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-09-00-05-mblock-block-based-ide-coding-for-beginners.png)

# 4.3 Testeo con mBlock sensores

### 4.3.1 Test rápido del siguelíneas

Primera comprobación para el sigue líneas, primero hay que testear que funcionan correctamente su detección negro blanco, para ello utilizamos un folio con una línea negra y vemos si se encienden los leds cuando hay blanco y no se encienden cuando hay línea negra:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-qokwdows.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Si no funciona bien, es que los pines están mal conectados, es fácil confundirse pues va uno al revés del otro :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-elwngoka.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

### 4.3.2 Test con mBlock versión Web o ver 5x de los valores de los sensores

En modo **vivo** es tan fácil como hacer *check* en los diferentes sensores. Arriba en el panda enseña sus valores

##### [![2022-03-20 09_40_38-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-09-40-38-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-09-40-38-mblock-block-based-ide-coding-for-beginners.png)

En el **sigue líneas** tiene que salir 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)

Si funciona al revés es que se han intercambiado los pines D9 y D10

En el **sensor de ultrasonidos** la distancia en cm del obstáculo enfrente de los "ojos"

En el **sensor de luz**, el valor ambiental, es interesante tomar nota de este valor para crear programas en el futuro, ver cual es el **umbral de la oscuridad**, es decir, qué valor es cuando tenemos la habitación o aula con luz, y cual es el valor con el mismo lugar a oscuras. Por ejemplo ver estos programas del [Scrath Day Nerja](https://scratchdaynerja.wordpress.com/2017/04/26/y-se-apago-la-luz/)

### 4.2.3 Testeo con mBlock ver 3x de los valores de los sensores

**SENSOR ULTRASONIDOS**

Un programa sencillo es el siguiente en el modo **dependiendo del ordenador**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-gc0iphhy.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Y el oso panda nos va diciendo las distancias:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-fcjh8yix.jpeg)

**SENSORES SIGUE LINEAS**

Luego hacemos el siguiente test con mBlock **dependiendo del ordenador** y el osito panda nos dirá qué ocurre:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-qyuulnyc.jpeg)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Si funciona al revés es que se han intercambiado los pines D9 y D10

**SENSOR DE LUZ**

Recomendamos usar este programa en el modo **dependiendo del ordenador o en vivo**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-6mj8shr3.png)

El muñeco panda nos irá diciendo la cantidad de luz

Este programa nos servirá para definir el **umbral de oscuridad** descrito anteriormente

# 4.4 Testeo con mBlock accesorios

### 4.4.1 Con mBlock versión Web o 5x

El zumbador es muy fácil comprobarlo con la conexión **live o en vivo** de nuestro mClon

[![2022-03-20 10_01_44-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-10-01-44-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-10-01-44-mblock-block-based-ide-coding-for-beginners.png)

Una vez que ya está comprobado, realizamos este programa para testear el pulsador

[![2022-03-20 10_03_25-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-10-03-25-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-10-03-25-mblock-block-based-ide-coding-for-beginners.png)

### 4.4.2 Con mBlock versión 3x

**ZUMBADOR**

Este programa es sencillo en el modo **independiente del ordenador**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-sglnly9q.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

**PULSADOR**

Aprovechando que el zumbador ya funciona, hacemos este programa de forma **independiente del ordenador**:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-thpdpzmj.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

# 4.5 Testeo con mBlock extras

### 4.5.1 Con mBlock versión Web o 5x

**LEDS**

En modo **live o vivo** tenemos dos instrucciones, al hacer *clik* en el primero podemos elegir el color, en el segundo tenemos más control de los valores, por ejemplo podemos hacer el blanco total 255,255,255 que la primera instrucción no puede:

[![2022-03-20 10_21_50-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-10-21-50-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-10-21-50-mblock-block-based-ide-coding-for-beginners.png)

<p class="callout warning">ya sabes que hemos explicado que el rojo y el azul están intercambiados</p>

**BRAZO**

No está por defecto la instrucción, tenemos que instalarla en **Extensión - Paquete servo** y en modo **live o vivo** podemos ejecutarlo con dos cliks

[![2022-03-20 10_23_56-mBlock Block-Based IDE- Coding for Beginners.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/2022-03-20-10-23-56-mblock-block-based-ide-coding-for-beginners.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/2022-03-20-10-23-56-mblock-block-based-ide-coding-for-beginners.png)

Es el momento adecuado para **calibrarlo**, desmontar el brazo y colocarlo de forma que

- El ángulo de 0º corresponde a posición horizontal
- El ángulo de 90º corresponde a posición vertical

Una vez identificado cual es el ángulo 90ª ejecutando la instrucción anterior, y una vez puesto el servo en esa posición, poner el brazo levantado con un ligero ángulo hacia delante, tal y como indica la figura :

[![embedded-image-n7PcujA1.jpeg](https://libros.catedu.es/uploads/images/gallery/2022-02/scaled-1680-/embedded-image-n7pcuja1.jpeg)](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-n7pcuja1.jpeg)

*Fuente: Adaptado de https://mclon.org Maria L CC-BY-SA*

Si va muy deprisa, puedes ralentizarlo con el programa que se describe más abajo.

### 4.5.2 Con mBlock versión 3x

**BRAZO**

Con el mClon **dependiendo del ordenador** hacemos dos clicks en esta instrucción, experimentando diferentes ángulos:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-8apxkdfu.png)

Una vez realizado, podemos experimentar este programa **independiente del ordenador**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-kc7q8xuh.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

Como podrás observar va muy deprisa, una solución es poner en ángulo una variable que va aumentando:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-zx7sgvvq.png)

*Fuente: https://mclon.org Maria L CC-BY-SA*

**LEDS RGB**

Pon mClon **dependiendo del ordenador** y ejecuta dos clicks en esta instrucción:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-g4n21kcd.png)

<p class="callout warning">ya sabes que hemos explicado que el rojo y el azul están intercambiados</p>

# 4.5 Testeo completo con mBlock

Para superar el curso, tienes que entregar un vídeo donde se demuestre que funcionan todos los elementos :

- Motores
- Sensores 
    - Sensor ultrasónico
    - Sensores sigue-líneas
    - Sensor luz
- Accesorios 
    - Botón
    - Buzzer
- Extras 
    - Leds RGB
    - Brazo

## 4.5.1 Propuesta TEST-CATEDU

Puedes hacer tú mismo un programa, una propuesta **que englobe los 8 elementos expuestos**, o si quieres, te proponemos esta propuesta que te la puedes descargar aquí [TEST-CATEDU.sb2](https://drive.google.com/drive/folders/1D8vIUNfCDCvM_04RG5HMXtUEGcaBmnTI?usp=sharing)

La plantilla del circuito la podeis descargar [aquí imprimiento 4 hojas del fichero Word](https://drive.google.com/drive/folders/1D8vIUNfCDCvM_04RG5HMXtUEGcaBmnTI?usp=sharing) pero puede ser otra cualquiera.

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--7" src="//www.youtube.com/embed/6lOyVTUxPSo" width="560"></iframe>

Tiene varios bloques definidos, este bloque **SIGUE LINEA** cumple la función de seguir la línea negra, pero si detecta un 3, llama al bloque **Buscalinea** pues está fuera del circuito:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-extgiptk.png)

El bloque **BuscaLinea** elige un número al azar y el 80% de veces retrocede a buscarlo, el otro 20% busca girando. Esto se hace así porque algunas veces se queda "atascado" hacia delante y hacia atrás, ese 20% es para romper ese ciclo vicioso.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-y6sr2hhq.png)

La función **VERLATA** mira si hay una lata delante, y en ese caso la retira :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-oirzatxs.png)

Para probar el sensor de luces, hemos pensado [en esta idea](https://www.youtube.com/watch?v=p9543Fjx4sM) :

La función **Para-si-oscuridad** se detiene en el caso de que se apaguen las luces y reproduce un juego de luces con RGB y sonidos con el Buzzer:

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-fxanticd.png)

Donde el bloque **LUCES** enciende los RGB al azar

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-rh5z25a7.png)

Finalmente el programa principal que llama a todos los bloques es

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-onlqtsv2.png)

Donde tenemos que definir:

- La variable **velocidad** si es muy alta puede saltarse el circuito, si es muy baja puede que los motores no tengan suficiente fuerza para arrancar, depende del estado del PowerBank
- La variable **luz** que depende de las condiciones de la habitación, hay que elegir un valor lo suficientemente alto para que la luz detectada por el LDR sea mayor cuando las luces de la habitación están encendidas, y lo suficientemente baja para que cuando se apaguen, el valor medido por el LDR este más bajo de ese valor.

Para la variable **luz** recomendamos usar el programa visto en [4.3 Testeo sensores](https://libros.catedu.es/books/regalate-un-mclon/page/43-testeo-con-mblock-sensores "4.3 Testeo con mBlock sensores")

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-wn31kfc6.png)

## 4.5.2 Otros testeos

En la página [https://mclon.org/](https://mclon.org/) puedes encontrar interesantes propuestas en el apartado mBlock :

- Movimiento [https://tecnoloxia.org/mclon/o-robot-en-movemento/](https://tecnoloxia.org/mclon/o-robot-en-movemento/)
- Cerramiento en línea [https://tecnoloxia.org/mclon/recinto-con-lina-2/](https://tecnoloxia.org/mclon/recinto-con-lina-2/)
- Sigue líneas [https://tecnoloxia.org/mclon/unha-lina-no-chan/](https://tecnoloxia.org/mclon/unha-lina-no-chan/)
- Detectar objetos [https://tecnoloxia.org/mclon/detectar-obxectos/](https://tecnoloxia.org/mclon/detectar-obxectos/)
- Luces RGB [https://tecnoloxia.org/mclon/extras/luces-de-cores/](https://tecnoloxia.org/mclon/extras/luces-de-cores/)
- Brazo robótico [https://tecnoloxia.org/mclon/extras/brazo/](https://tecnoloxia.org/mclon/extras/brazo/)
- Siguiendo una luz [https://tecnoloxia.org/mclon/extras/seguindo-a-luz/](https://tecnoloxia.org/mclon/extras/seguindo-a-luz/)

# 4.6 Test con IDE

No hay que olvidad que mBot y mClon son en el fondo Arduinos, aunque sus placas no sean exclusivamente Arduinos UNOs. Por lo tanto podemos programar :

- De forma gráfica como hemos visto con mBlock y otros como ArduinoBlocks, Visualino ...
- De forma textual, con el programa **IDE de Arduino**.

Este programa se puede descargar en [https://www.arduino.cc/en/software](https://www.arduino.cc/en/software)

No vamos a entrar, pues se escapa de las intenciones de este curso que es montar un mClon y probarlo, y esto ya se ha visto con programación por bloques con mBlock que es donde se obtiene todo el potencial de mClon al ser compatible con mBot.

No obstante, si quieres programarlo con texto, te recomendamos visitar la página [https://mclon.org:](https://mclon.org)

## Propuestas con código :

- Como conectar el IDE a mClon [https://tecnoloxia.org/mclon/o-ide-de-arduino/](https://tecnoloxia.org/mclon/o-ide-de-arduino/)
- Pruebas test con IDE [https://tecnoloxia.org/mclon/probas-de-funcionamento-ide/](https://tecnoloxia.org/mclon/probas-de-funcionamento-ide/)
- Control motores [https://tecnoloxia.org/mclon/o-control-dos-motores/](https://tecnoloxia.org/mclon/o-control-dos-motores/)
- Cerramiento con línea [https://tecnoloxia.org/mclon/recinto-con-lina/](https://tecnoloxia.org/mclon/recinto-con-lina/)
- Sigue líneas [https://tecnoloxia.org/mclon/seguir-lina-basico/](https://tecnoloxia.org/mclon/seguir-lina-basico/)
- No chocar. Sensor ultrasónico [https://tecnoloxia.org/mclon/ultrasonico/](https://tecnoloxia.org/mclon/ultrasonico/)
- Zumbador [https://tecnoloxia.org/mclon/o-zumbador/](https://tecnoloxia.org/mclon/o-zumbador/)
- Luces RGB [https://tecnoloxia.org/mclon/extras-ide/luces-de-cores-ide/](https://tecnoloxia.org/mclon/extras-ide/luces-de-cores-ide/)
- Brazo robótico [https://tecnoloxia.org/mclon/extras-ide/brazo-ide/](https://tecnoloxia.org/mclon/extras-ide/brazo-ide/)

> Tamén esquivo obstáculos! Ollo cos sensores ultrasónicos chineses. Dependendo do fabricante algúns van perfectos e outros saen algo rariños. [pic.twitter.com/z7p1cI9VUb](https://t.co/z7p1cI9VUb)
> 
> — mClon (@mClonRobot) [November 9, 2018](https://twitter.com/mClonRobot/status/1060920761169387520?ref_src=twsrc%5Etfw)