# 4. Testeo mClon con nanoArduino

# 4.1 Con mBlock

{{@3335}}

# 4.2 Testeo con mBlock de motores

{{@3336}}

# 4.3 Testeo con mBlock de los sensores

{{@3337}}

# 4.4 Testeo con mBlock accesorios

{{@3338}}

# 4.5 Test de los extras

{{@3339}}

# 4.6 Testeo con mBlock

Proponemos este test completo de todos los componentes y actuadores

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

La propuesta es A MCLON LE GUSTA LA MARCHA PERO NO LE GUSTA EL ALCOHOL :

1. Si se pulsa el botón comienza el programa
2. Que el mClon realice un circuito siguelíneas (puedes descargartelo imprimiento estos 4 ficheros Word en este [enlace](https://drive.google.com/drive/folders/1D8vIUNfCDCvM_04RG5HMXtUEGcaBmnTI?usp=sharing) )
3. Si en el camino encuentra una lata, la retira
4. Si se hace de noche, se pone a cantar

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/_JFycMhDcFc" width="560"></iframe>

- Programa con mBlock versión Web en [https://planet.mblock.cc/project/1504279](https://planet.mblock.cc/project/1504279)
- Programa con mBlock version 5x en [https://drive.google.com/drive/folders/1D8vIUNfCDCvM\_04RG5HMXtUEGcaBmnTI?usp=sharing](https://drive.google.com/drive/folders/1D8vIUNfCDCvM_04RG5HMXtUEGcaBmnTI?usp=sharing)
- Programa con mBlock version 3x en [https://drive.google.com/drive/folders/1D8vIUNfCDCvM\_04RG5HMXtUEGcaBmnTI?usp=sharing](https://drive.google.com/drive/folders/1D8vIUNfCDCvM_04RG5HMXtUEGcaBmnTI?usp=sharing)

### Explicación del programa:

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:

[![embedded-image-exTgiptk.png](https://libros.catedu.es/uploads/images/gallery/2022-02/scaled-1680-/embedded-image-extgiptk.png)](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.

[![embedded-image-y6sR2hHq.png](https://libros.catedu.es/uploads/images/gallery/2022-02/scaled-1680-/embedded-image-y6sr2hhq.png)](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 :

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

La función **Para-si-oscuridad** esta basado en [este vídeo,](https://www.youtube.com/watch?v=p9543Fjx4sM) se detiene en el caso de que se apaguen las luces y reproduce un juego de luces con RGB y sonidos con el Buzzer:

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

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

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

Finalmente el programa principal que llama a todos los bloques es

[![embedded-image-oNLQTSV2.png](https://libros.catedu.es/uploads/images/gallery/2022-02/scaled-1680-/embedded-image-onlqtsv2.png)](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/mclon-con-nanoarduino/page/43-testeo-con-mblock-de-los-sensores "4.3 Testeo con mBlock de los sensores")

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/
- Cerramiento en línea https://tecnoloxia.org/mclon/recinto-con-lina-2/
- Sigue líneas https://tecnoloxia.org/mclon/unha-lina-no-chan/
- Detectar objetos https://tecnoloxia.org/mclon/detectar-obxectos/
- Luces RGB https://tecnoloxia.org/mclon/extras/luces-de-cores/
- Brazo robótico https://tecnoloxia.org/mclon/extras/brazo/
- Siguiendo una luz https://tecnoloxia.org/mclon/extras/seguindo-a-luz/

# 4.7 Test con IDE

{{@3341}}