User Guide Makeblock Mbot Rev1
User Guide Makeblock Mbot Rev1
User Guide Makeblock Mbot Rev1
4 Microcontrolador ....................................................................................... 3
5 Ensamblaje y diseño................................................................................... 4
6 Sensores ..................................................................................................... 7
7 Actuadores ................................................................................................. 11
8 Programa Base........................................................................................... 14
8.1 IR Control remoto............................................................................................... 14
8.2 Makeblock App ................................................................................................... 14
9 Consideraciones.......................................................................................... 16
1
1. Introducción
mBot es un robot diseñado por Makeblock con fines educacionales. Este corresponde
al modelo básico de la compañía con el cual se ingresa a todo lo que es la programación
interactiva, el uso de sensores, actuadores y robótica en general. Para lograr este cometido
cuenta con una gama de aplicaciones, vídeos y manuales para su uso. El kit educacional en
el cual el mBot viene incluido cuenta con todo lo necesario para ser autosuficiente, es decir,
incluye todo lo necesario para ensamblar y utilizar el robot a excepción de las baterías.
En las próximas secciones se utilizarán nombres en inglés de algunas componentes para
evitar ambigüedades
2. Especificaciones técnicas
Categoría Especificación
Software para programación
mBlock, Arduino IDE
(Mac/Windows/Linux)
App (iPad/Android) Makeblock, mBot
1x Sensor de luz
1x Botón
Sensores 1x Receptor IR (infrarrojo)
1x Sensor ultrasónico
1x Sensor seguidor de línea
1x Buzzer (Passivo)
2x LED RGB
Actuadores
1x Transmisor IR
2x Motor DC
Microcontrolador Arduino Uno
3.7V Batería de Litio (cargador integrado)
Alimentación
o 4x Baterías AA (no incluidas)
Comunicación inalámbrica Bluetooth o 2.4G serial
Estructura (Chasis) 2mm Aluminio
Dimensiones (ensamblado) 17 x 13 x 9 cm
Peso (ensamblado) 1034 g
Capacidad de carga (ensamblado) Sobre 1600g
Rapidez máxima 0.35 m/s
2
3. Piezas del kit robótico
Además de todo esto, el kit incluye piezas de repuesto para reemplazar las reducciones
de uno de los motores DC en caso de que se gasten o rompan.
4. Microcontrolador
El cerebro del mBot corresponde a la tarjeta mCore, esta es una tarjeta de desarrollo
diseñada por Makeblock la cual está construida entorno a un microcontrolador ATmega328p,
mejor conocido como Arduino Uno. La tarjeta en cuestión se puede ver en la Figura 2, esta
cuenta con una conexión USB tipo B para mejor durabilidad y permitir la programación
con PC. Con respecto a la alimentación, esta puede trabajar con voltajes desde 3.7V a 6V
los cuales pueden ser suministrados a través de conectar un pack de 4 baterías AA o una
batería de litio de 3.7V, para esta última cuenta con un cargador USB integrado. El resumen
de estos datos se puede ver en la Tabla 2. Además, cuenta con protección ante altas de
corriente y de voltaje en la forma de Diodos Schottky en conjunto a diodos TVS (Transient-
voltage-suppression diode) y fusibles reiniciables (resettable fuses). Todo esto último con fin
de mantener los niveles de voltaje del Arduino estables en 5V y limitar la corriente máxima
a 1.1A, para evitar problemas ante cortocircuitos o malas conexiones.
3
Para el manejo de sensores y actuadores, cuenta con conexiones RJ25 las cuales están ma-
peadas a diferentes pines del microcontrolador (ver Figura 3). Del pin mapping se desprende
que los PORT3-PORT4 sirven para el manejo de dispositivos analógicos, como un sensor de
temperatura, mientras que el PORT1-PORT2 sirven para procesar señales digitales. Dentro
de esto cabe destacar la posibilidad de ocupar cualquiera de estos puerto para realizar comu-
nicación serial I2 C, con especial consideración en el PORT1 que además es capaz de realizar
comunicación SPI (internamente el puerto de comunicación SPI está conectado a los LED
RGB). Además a través de unos pines en la placa se puede monitorear la comunicación serial
UART (esta es la misma que se utiliza para al comunicación por USB y para los módulos
inalámbricos).
Categoría Especificación
Voltaje de operación 3.7-6 VDC
4 x Baterías AA ó
Fuente de potencia
1 x Batería Litio 3.7V
Microcontrolador ATmega328 (Arduino UNO)
Conexión USB Tipo B
2 x Entrada analógica (PORT3 y PORT4)
GPIO
4 x Entrada digital (Todos los PORTn)
1 x UART (USB y Wireless)
Comunicación 4 x I2 C (Todos los PORTn)
1 x SPI (PORT1, 3x2 Pin Header, LED RGB)
Dimensiones 90 x 79 x 18mm (3.54 x 3.11 x 0.71inch)
Peso Neto 43g (1.52oz)
5. Ensamblaje y diseño
El empacado del kit esta altamente organizado, en este las piezas tienen un espacio a su
medida en el cual ser guardado o vienen dentro de bolsas herméticas como se muestra en la
Figura 4. Para el ensamblaje, el kit cuenta con un manual el cual muestra paso a paso lo que
es necesario realizar para armar el robot. En la Figura 5 se ve un ejemplo de las instrucciones
de ensamblado, el diseño de estas es similar al utilizado por la empresa LEGO y tiene como
foco principal su fácil entendimiento y replicación. Es a través de estas instrucciones que
el robot puede ser armado con facilidad por niños y jóvenes en menos de 30 minutos sin
experiencia previa.
La estructura del robot tiene múltiples consideraciones para mejorar la experiencia del
usuario, varias de estas están pensadas para aumentar su durabilidad o facilidad de uso. Es
gracias a estas consideraciones que mBot puede ejercer su propósito de ser un robot para
4
Figura 2: Tarjeta mCore
El chasis cuenta con una ranura superior para organizar por donde pasarán los cables de
conexión. Además, cuenta con brazos delanteros que evitan impactos de choque sobre
los sensores y cuentan con ranuras para la extensión de piezas. Estás se presentan en
la Figura 4 (a).
La conexión de cables y posición de los elementos del robot es bastante intuitiva, para
las conexiones además se tiene un código de colores que clasifica a los sensores con sus
puertos compatibles en la tarjeta. Además se utilizan cables recubiertos con goma o
similares, para aumentar su resistencia.
5
Figura 3: Esquemático mCore
6
(a) Diseño del chasis (b) Ejemplo de instrucción de ensamblado
6. Sensores
El robot cuenta con una serie de sensores que pueden ser usados a través de la tarjeta
mCore para crear diferentes algoritmos y proyectos. Estos se separan en dos bloques prin-
cipales, aquellos que vienen integrados en la tarjeta y los que se conectan externamente en
forma de módulos electrónicos.
7
Características primarias
Categoría Min Max
Voltajes de operación (V) 0.3 5
Lectura MCU(1) 54 1023
Librería asociada MeLightSensor
mBlock light sensor (portN)
Ubicación Integrado
Converter)
MeIR ir;
if(ir.keyPressed(70)){ // verifica si la tecla <B> (equivalente
// al numero 70) fue presionada
//... mas codigo...
}
Ultrasonic Sensor /Sensor Ultrasónico: Dispositivo capaz de enviar y recibir ondas ul-
trasónicas, la información proveniente de este es de naturaleza digital y se obtiene del
módulo electrónico externo Me Ultrasonic Sensor. En el programa por defecto del
8
mBot, este requiere ser conectado al PORT3 a través de un cable RJ25. Su método de
funcionamiento corresponde al enviar una onda ultrasónica y luego recibir el eco de
esta, con el tiempo transcurrido entre enviar el sonido y recibirlo se calcula la distancia
hacia el objeto más cercano (se asumen 340m/s como velocidad del sonido para cálcu-
los internos). Las especificaciones de este se encuentran en la Tabla 4. Un ejemplo de
código corresponde al siguiente, donde se guarda la medición de distancia en la variable
"dist":
Características primarias
Categoría Min Max
Voltajes digitales (V) 0 5
Rango distancias (cm)
(2)
3 4000
Frecuencia portadora 40 kHz
Ángulo de medición(3) 30°
Librería asociada MeUltrasonicSensor
mBlock ultrasonic sensor (PORTn) distance
Ubicación Externo
Receiver
Transmitter
Distance
be
sensor a tween the
nd the o
bstacle
9
Los valores cercanos y superiores a los 100cm son poco confiables debido a la alta
(2)
Características primarias
Categoría Min Max
Voltajes digitales (V) 0 5
Color detectado (4)
Negro Blanco
Librería asociada MeLineFollower
mBlock line follower (PORTn) (Side) is (color)
Ubicación Externo
10
7. Actuadores
Buzzer /Zumbador: Buzzer pasivo, elemento piezo eléctrico que se encarga de producir
sonido de acuerdo a la señal que se le envíe, está conectado a la salida digital D5 del
Arduino. Debido a ser del tipo pasivo, para su funcionamiento, se necesita enviar una
señal PWM por el pin digital con la frecuencia deseada a sonar en el buzzer. En la
Tabla 6 se presentan los datos del Buzzer. Un ejemplo de código es el siguiente, donde
se toca una nota <La> durante 250 milisegundos:
MeBuzzer buzzer;
int freq = 440; //en Hz
int duration = 250; //en ms
buzzer.tone(freq,duration); //toca la nota <La> durante 250ms
Características primarias
Categoría Min Max
Voltajes digitales (V) 0 5
Frecuencias de operación (Hz) 50 (5)
2500
Librería asociada MeBuzzer
mBlock play tone on note (Name) beat (Fraction)
Ubicación Integrado
Las notas con frecuencias inferiores a 200Hz presentan un alto nivel de frecuencias
(5)
11
rgbled_7.show();
Motor DC: Motores de corriente continua, funcionan a través de ser alimentados con
un determinado valor de voltaje continuo entre sus terminales y producir un torque
proporcional a dicha alimentación. Debido a trabajar con corrientes mayores a las que
maneja el microcontrolador requiere de drivers para su uso (integrados), de esta manera
su conexión corresponde a salidas PWM del Arduino. La señal PWM (Pulse Width
Modulation) utilizada debe tener como ciclo de trabajo el porcentaje del voltaje total
que se desea utilizar para los motores. Lo motores incluyen estructuras de silicona para
su ensamblaje y protección, además estas son compatibles con las ruedas de plástico
incluidas en el kit (ver Figura 11). Los datos técnicos de estos motores se encuentran
en la Tabla 8 y un ejemplo de código para utilizar estos motores es el siguiente:
12
MeDCMotor motor_9(9); //Conexion por defecto de M1
motor_9.run((9)==M1?-(-145):(-145)); //retroceso a rapidez 145
13
8. Programa Base
El programa base del mBot se puede separar en 2 bloques principales y estas dependen
del dispositivo usado para enviarle instrucciones:
Manual: Esta modalidad es elegida al presionar el botón <A> del control. En esta se
encienden de color blanco los LEDs del robot y se procede controlar su movimiento
con las flechas del control. Con los números del remoto se puede controlar la velocidad
de movimiento, donde 0 corresponde a la más lenta y 9 a la más rápida. Además, cada
vez que se presionan los números suena una nota musical por defecto.
Seguidor de línea: Este modo se consigue al presionar la tecla <C> del control. En
este, mBot empieza a avanzar en línea recta hasta que encuentra una línea negra (o
similar) en el suelo y la comienza a seguir. La naturaleza de este modo requiere que haya
un buen nivel de contraste entre el camino (linea negra) y el fondo (preferentemente
blanco). Con este modo el robot puede seguir caminos arbitrarios dibujados por el
usuario, por ejemplo, con plumón negro sobre una cartulina.
14
(a) Menú Principal (b) Secciones dedicadas al mBot
Además, esta el acceso al menú ”Crear” en el cual se puede entrar a lo que es la progra-
mación por bloques, junto al probar los sensores y actuadores a mayor cabalidad. Esto se
puede ver en la Figura 14.
Finalmente, existe una aplicación "mBot"dedicada específicamente a enseñar a niños el
cómo programar este robot. En esta se introducen conceptos base de lo que es la programación
en bloques y algoritmos. En al Figura 15 se puede apreciar la interfaz de esta aplicación.
15
(a) Menú Crear (b) Interfaz de creación
(a) Interfaz de conexión (b) Menú de la App (c) Programación en modo his-
toria
9. Consideraciones
A continuación se presentan algunas consideraciones a tener en mente al momento de
utilizar el robot mBot:
Control IR: Requiere baterías CR2032 o CR2025, estas no son tan fáciles de encontrar
y no vienen incluidas.
16
de que el camino tenga una buena curvatura para ser capaz de seguirla correctamente,
el dibujo de un ∞ que viene incluido esta cerca del borde sus limitaciones. Como caso
adicional a esto último, ante una curva cerrada (90°) es capaz de detectar el necesitar
doblar inicialmente pero no es capaz de seguir el camino.
Referencias
[1] NEC, protocolo de comunicación con señales infrarojas. Explicación disponible en:
http://www.sbprojects.com/knowledge/ir/nec.php
17