1 ¿Cómo es mClon con nanoArduino?
1.1 Placa electrónica nanoArduino
El robot mClon como mBot son sistemas basados en Arduino. La placa controladora es pues un Arduino, pero como veremos en opciones en vez de un Arduino UNO vamos a utilizar un nanoArduino
P: ¿Por qué se utiliza un nanoArduino y no un Arduino normal?
R: Porque para la compatibilidad con mBot se necesita un Arduino con dos I/O Analógicas más el A6 y el A7 para colocar el sensor de luz y el pulsador de abordo.
P: ¿Tiene que ser el nanoArduino necesariamente?
R: No, puede ser el RobotDyn UNO pero últimamente (2022) es muy dificil de conseguir en el mercado. Antes el mClon se hacía con esta placa, ver https://libros.catedu.es/books/regalate-un-mclon/page/11-la-placa-electronica
P: ¿NanoArduino cumple con la condición de ser una placa 100% compatible con mBot?
R: Si, y no, desde el punto de vista del hardware SI que tiene los pines A6 y A7
Fuente Luis Llamas BY-NC-SA https://www.luisllamas.es/esquema-de-patillaje-de-arduino-pinout/
Pero desde el punto de vista del SOFTWARE HAY QUE INSTALAR EL BOOTLOADER DE UNO-R3 EN EN NANO ARDUINO
ESTE PASO LO HA HECHO YA CATEDU EN EL KIT DE PRÉSTAMO, NO LO TIENES QUE HACER TÚ
Aquí tienes un buen tutorial de cómo se hace y qué significa https://www.luisllamas.es/usar-arduino-para-reprogramar-el-bootloader/
Y un vídeo por complementar :
Con una shield en el arduino protoboard :
Paso 1: Grabar en el Arduino el programador ArduinoISP de ejemplos
Fuente Arduino Llamas CC-BY-NC-SA https://www.luisllamas.es/usar-arduino-para-reprogramar-el-bootloader/
Paso 2 Programador Arduino como ISP
Fuente Arduino Llamas CC-BY-NC-SA https://www.luisllamas.es/usar-arduino-para-reprogramar-el-bootloader/
Paso 3 Quemar
Fuente Arduino Llamas CC-BY-NC-SA https://www.luisllamas.es/usar-arduino-para-reprogramar-el-bootloader/
1.2 Motores
Los motores son de corriente continua sin control de su posición, es decir, sólo podemos controlar su sentido de giro y su potencia.
El control de los motores implicará poner en el escudo Protoboard dos circuitos integrados y su cableado correspondiente, vamos a verlo:
1.2.1.- Driver motor B6612FNG
Para realizar el control de los motores, tanto su potencia como su sentido de giro se va a utilizar el controlador TB6612FNG
Fuente: https://mclon.org/ Maria L CC-BY-SA
La potencia de los motores se controla por los pines PWMA y PWMB indicando un valor entre 0 y 255.
1.2.2.- Los giros, una complicación más: 7404
Los giros se controlan con los pines AIN, por ejemplo para el motor A :
GIRO MOTOR | AIN1 | AIN2 |
CLOCKWISE (sentido agujas del reloj) | 0 | 1 |
ANTICLOCKWISE (contrario) | 1 | 0 |
Para no gastar dos pines del Arduino para esta función, un truco consiste en gastar sólo uno, y el otro que sea el inverso de ese mismo. Ese truco es lo que utiliza mBot y si queremos compatibilidad mClon y mBot tenemos que hacerlo.
Pero esto implica tener que utilizar un circuito impreso más, el 7404 que tiene 4 inversores :
1.2.3.- Otra opción para los giros
Tal y como dice la página https://tecnoloxia.org/mclon/robotica/o-control-dos-motores/ también se puede utilizar dos transistores y resistencias, (de echo, mBot lo hace así) pero no lo utilizaremos, pues pensamos que es más cómodo el 7404.
1.3 Sensores
1.3.1 Sensor sigue líneas infrarojos
Utilizamos el tracker sensor TCRT5000
Tal y como hemos explicado en Partes impresas no tiene que estar cerca de la línea.
En https://tecnoloxia.org/mclon/robotica/os-sensores-ir-de-lina/ explica muy bien cómo funciona:
Fuente: https://mclon.org/ Maria L CC-BY-SA
1.3.2 Sensor evita obstáculos ultrasonidos
Se utiliza el sensor HC-SR04
En https://tecnoloxia.org/mclon/robotica/o-sensor-ultrasonico/ explica muy bien cómo funciona:
1.3.3 Sensor de luz
Es un LDR que conectado en serie con una resistencia nos proporciona un valor de tensión, pues el LDR varía su resistencia con la luz (a más luz, menos resistencia)
En nuestra propuesta sólo va a tener un LDR, pero se pueden añadir dos LDRs fácilmente, ver 2.2
1.4 Accesorios
1.4.1 Bóton on board
Este botón es muy útil para dar comienzo a los programas, por ejemplo en el siguiente programa hasta que o aprieto el botón el robot no comienza a dar vueltas :
Si construimos el mClon con la placa Arduino o con la placa Robodyn tiene la ventaja de que se utiliza una shield que ya tiene incorporado un botón.
En nuestro caso tenemos dos opciones, o construirlo nosotros con este esquema :
Fuente: https://mclon.org Maria L CC-BY-SA
Tiene la desventaja de tener que dejar un cable suelto y cuando queremos activar el pulsador, tocarlo a masa. Otra opción es utilizar un módulo con botón ya construido y es la opción que hemos elegido
1.4.2 zumbador
Sólo se necesita un zumbador pasivo, es decir, es un simple altavoz, la instrucción de mBlock ya se encarga de reproducir el tono .
La ventaja de ser pasivo es que podemos reproducir diferentes tonos, para saber más ver esta página de Luis Llamas . Un zumbador activo reproduce un tono fijado al suministrarle tensión, para saber más esta página de Luis Llamas.
1.5 Extras
1.5.1 LED RGB
Imitando a mBot, el mClon tiene unos leds RGB que pueden tener diferentes colores.
La instrucción en mBlock permite la combinación de los colores primarios para conseguir la tonalidad que se quiera.
Xa teño LEDs RGB!! Na páxina https://t.co/2cUJy6ivcY podes ver como conectalos e nesta outra https://t.co/Cql4kUmRbt explicamos como funcionan e propoñemos algunhas prácticas pic.twitter.com/vJPyjZ7J6S
— mClon (@mClonRobot) November 3, 2018
1.5.2 Brazo robótico
Los servomotores son motores que sí tenemos control del giro, es decir, que podemos ordenar que gire un ángulo determinado.
Utilizaremos en mBlock la instrucción (como se conectará al D11 de la placa, es el Slot1, si lo conectaramos al D12 sería el Slot2)
Utilizaremos el servo colocado a un lado para insertar el brazo robótico:
Fuente: https://mclon.org/ Maria L CC-BY-SA
Probando servo. Non hai obstáculo que se me resista! pic.twitter.com/ZiD7XNDZ3l
— mClon (@mClonRobot) November 6, 2018