Está en la página 1de 35

Programa Hábil Técnico Permanente

ROBÓTICA BÁSICA CON ARDUINO


Duración: 60 horas
CAPACITACIÓN APOYADA POR INSAFORP

CENTRO COLABORADOR:
-CAPUCOM S.A. DE C.V.-

PARTICIPANTE:
Contenido
1. Instalación y programación del entorno grafico de programación basado en Scratch o
bloques definidos para dar órdenes a sistemas robotizados .................................................... 4
1.1 Descarga e instalación de Scratch For Arduino ....................................................... 4
1.2 Entorno de programación y reconocimiento de ventana principal ........................... 4
1.3 Conexión de placa Arduino y reconocimiento con el programa ............................... 5
1.4 Usar bloques de instrucciones clasificados en el programa...................................... 6
1.5 Verificación de instrucciones y uso del editor de programación para establecer las
acciones del robot o del sistema.......................................................................................... 7
1.6 Movimiento y apariencia de objetos......................................................................... 7
1.7 Manipulación de variables y listas ........................................................................... 3
1.8 Controles sensores y operadores............................................................................... 4
2. Introducción a Máquinas simples .................................................................................... 5
2.1 Principios de estructuras y mecanismos sencillos .................................................... 6
2.2 Diferencia entre máquina simple y motorizada ........................................................ 7
2.3 Motores .................................................................................................................... 8
2.4 Sensores Comunes.................................................................................................... 8
3. Programación de máquinas motorizadas ........................................................................ 10
3.1 Controladores de motor .......................................................................................... 10
3.2 Tipos de motores y aplicación ................................................................................ 10
3.3 Definir rutas de movimiento y giros ....................................................................... 11
3.4 Programar movimientos de máquina ...................................................................... 13
3.5 Construcción y ensamble de piezas de vehículo .................................................... 14
4. Sensor de Temperatura y visualización de resultados ................................................... 15
4.1 Cómo funciona un sensor de temperatura .............................................................. 15
4.2 Detección de temperatura ....................................................................................... 16
4.3 Conexión y programación en interfaz .................................................................... 16
4.4 Módulo de Visualización ........................................................................................ 17
5. Sensor ultrasónico.......................................................................................................... 18
5.1 Controles de Flujo (loop y Switch) ........................................................................ 18
5.2 Conexión y programación de placa Arduino con sensor ultrasónico .................... 18
6. Sensor de distancia ........................................................................................................ 20
6.1 Estructuras de control de flujo................................................................................ 21
6.2 Detección de distancia ............................................................................................ 21
7. Sensor de línea............................................................................................................... 22

Robótica básica con Arduino 2


7.1 Sensores de seguimiento de línea y cómo funcionan ............................................. 22
Cómo funciona un sensor de seguimiento de línea ........................................................... 22
7.2 Programación del sensor de línea ........................................................................... 23
8. Módulo Bluetooth .......................................................................................................... 23
8.1 Aplicaciones de control remoto .............................................................................. 24
8.2 Controlar robot mediante Bluetooth ....................................................................... 24
8.3 Control remoto desde un teléfono inteligente......................................................... 25
9. Unificación de aplicaciones para robótica aplicada ....................................................... 26
9.1 Conjunto de tareas programadas y simultáneas ...................................................... 26
9.2 Resolución de problemas mediante empleo de robots ........................................... 27

Robótica básica con Arduino 3


1. Instalación y programación del entorno grafico de
programación basado en Scratch o bloques definidos para
dar órdenes a sistemas robotizados.

mBlock es un entorno gráfico de programación basado en Scratch y desarrollado por la empresa


MakeBlock para programar robots autónomos. La interfaz es muy amigable e intuitiva. Usa bloques
previamente definidos para dar órdenes al robot. Además, al cargar los programas de esta forma,
nos permite ver el equivalente en código del programa que hayamos diseñado con los bloques, de
forma que, nos puede ayudar durante la transición de entorno gráfico a código.

1.1 Descarga e instalación de Scratch For Arduino.


Descargamos mBlock de la página oficial (https://www.mblock.cc/en-us/download/) y
elegimos la versión mBlock 3.4.12 para Windows 7 +.
Una vez finalizada la descarga, damos clic derecho al fichero descargado y elegimos ejecutar
como administrador.
El asistente de instalación nos guiará a lo largo de la misma.
Una vez terminada la instalación, el icono de mBlock aparecerá en nuestra área de trabajo.
Descargue e instale el entorno Arduino de igual forma como se hizo con mBlock
(https://www.arduino.cc/en/Main/Software).

1.2 Entorno de programación y reconocimiento de ventana


principal.

mBlock se compone de 5 partes principalmente:

Grupo de instrucciones clasificadas por colores en las siguientes categorías:


Instrucciones de programación: Las instrucciones de cada grupo corresponden a
instrucciones de programación.
Editor: Es la parte principal donde estructuramos y programamos nuestro programa.
Escenario o ventana principal: Es el resultado de nuestro programa.
Objetos y sprites: Distinguimos principalmente los objetos de tipo Arduino y Sprites.

Robótica básica con Arduino 4


Para preparar el entorno de programación para crear un programa utilizando la plataforma Arduino,
se deben seguir los siguientes pasos:
Descargue la estática de su cuerpo tocando un material metálico como una puerta durante
5 segundos, esto para evitar daños en el Arduino y en los demás componentes del kit
Conecte la placa Arduino a la computadora a través del cable USB proporcionado
Abra el software mBlock
Elija la pestaña del programa Language y selecciona Español
Elija la pestaña Editar y selecciona Modo Arduino
Elija la pestaña Placas y selecciona Arduino Uno
Elija la pestaña Conectar y selecciona Puerto serie, hacer clic en el número de puerto serie
diferente a COM 1
Luego de estos pasos estamos listos para comenzar a crear nuestros programas. Entonces
tendríamos la siguiente interfaz:

1.3 Conexión de placa Arduino y reconocimiento con el programa.


Los componentes deben conectarse de una forma determinada. S4A habilita 6 entradas analógicas
(pines analógicos), 2 entradas digitales (pines digitales 2 y 3), 3 salidas analógicas (pines digitales 5, 6
y 9), 3 salidas digitales (pines 10, 11 i 13) y 4 salidas especiales para conectar servomotores de
rotación contínua Parallax (pines digitales 4, 7, 8 y 12)

S4A permite controlar tantas placas como puertos USB tenga vuestro PC

Robótica básica con Arduino 5


1.4 Usar bloques de instrucciones clasificados en el programa.
Para empezar a programar el circuito nos fijamos en la parte de arriba a la izquierda del mBlock
llamado Programas. Ahí es donde se escogen las diferentes categorías de bloques que hay. En
este caso seleccionaremos la categoría “Robots” y vemos cómo debajo aparece la lista de
bloques que entran dentro de ese grupo de “Robots”.

Normalmente los programas los empezaremos con el primero de los bloques (Programa de
Arduino) y todos los demás están por debajo de éste. Pulsamos con el botón izquierdo del
ratón encima de él y lo arrastramos hacia la parte central del mBlock. Con este bloque lo que
hacemos es que el programa se ejecute cuando se suba al microcontrolador de la placa
Arduino.

Robótica básica con Arduino 6


1.5 Verificación de instrucciones y uso del editor de programación
para establecer las acciones del robot o del sistema

Para que el robot o tu placa de Arduino se pueda comunicar con mBlock y ejecutar las acciones de
Scratch en tiempo real, es necesario que cargues previamente un Firmware en la placa.
Para ello sólo necesitas hacer click en la opción correspondiente y esperar a que finalice la carga

Nota: Es muy importante que selecciones la placa correspondiente de tu robot (o la placa de


Arduino con la que trabajes)

- Me UNO Shield ( shield de Makeblock para acoplar a tu Arduino UNO )

1.6 Movimiento y apariencia de objetos

Objeto Arduino

Se puede observar también que existen tres íconos adicionales para crear este tipo
De objetos llamados Arduino.

Robótica básica con Arduino 7


A este objeto se le puede editar su diseño o cambiar de disfraz, alterando su apa-
riencia. De acuerdo a la programación que se realice, puede coexistir más de un
Objeto Arduino dentro del programa.
A cada objeto Arduino le corresponderá una placa Arduino vinculada.
Cada objeto Arduino trae consigo una tabla de valores que muestra el número de
placa Arduino conectada, su estado y los valores digitales y analógicos recibidos
en sus respectivos pines.

Ejemplo de obejtos de arduino con S4A y sus respectivos programas:

Objeto de Arduino. La salida digital 12 se correspondería el led verde, la 11 con el led amarillo y
la 10 con el led rojo. El sensor digital3 se asocia con el pulsador físico

Robótica básica con Arduino 8


Objeto1: el coche. Al presionar la bandera verde se envía «Avanzar«, instrucciones que hacen que
el coche se mueva constantemente por la calle rebotando al llegar a los bordes hasta que el
semáforo está en rojo (variable «Color» = 0).

Objeto2: el semáforo. Tiene a su vez tres disfraces, según la disposición de las luces del semáforo.
Al recibir la orden «pulsar» establece el comportamiento de las luces del semáforo (disfraces) y de
los leds conectados a la protoboard.

Robótica básica con Arduino 2


Objeto3: botón «Parar». Simplemente al presionar sobre el botón se envía «pulsar» al resto de
objetos en este caso.

1.7 Manipulación de variables y listas.


Una variable nos permite guardar un valor para utilizarlo cuando lo necesitemos. En el siguiente
ejemplo usaremos una variable para guardar el estado de la salida digital 13 porque tiene conectado
un LED directamente en la placa Arduino y de esa forma saber si el LED está encendido o apagado.
Una salida digital es un valor que sólo puede tomar dos valores, por eso nuestra variable también
tomará sólo dos valores, 1 ó 0.

Utilizaremos un pulsador de forma que una pulsación

en la protoboard sería como se muestra en la imagen.

Ahora bien, para crear una variable nueva iremos a la

“Crear una variable”. Nos pedirá un nombre. Como la


queremos para guardar el estado del LED, la llamaremos
simplemente “led”.

Al aceptar veremos que se nos crean nuevos bloques

Arrastramos el bloque “fijar led a 0” por debajo del bloque


“Programa de Arduino”.

Robótica básica con Arduino 3


1.8 Controles sensores y operadores.
Los bloques de “Control” son los que indican a nuestro programa cómo y cuándo interpretar los
demás bloques. Todos son de color amarillo. Sólo determinados bloques encajan con otros, lo que
nos ayudará a la hora de componer las estructuras de nuestros programas.

Continuando con nuestro programa, queremos que el resto de


instrucciones se ejecuten de manera cíclica si cumple cierta condición.
Para ello utilizaremos el bloque de “Control” “por siempre…”, que
combina en un sólo bloque los otros bloques.

Hasta ahora nuestro programa conoce el estado del LED al iniciarse


el programa y detecta cada vez que presionemos el pulsador. Lo que
nos falta es que sea capaz de encender el LED si está apagado y de
apagarlo si está encendido. Para ello tendremos que usar los bloques
de “Control” “si…entonces” y “si…entonces / si no…” para
comprobar el estado de la variable “led” que hemos creado.

Vamos a construir el programa de forma que


siempre que empecemos a ejecutar el programa el
LED esté encendido. Para ello tendremos que hacer
que al iniciarse el programa se ejecute el
bloque “leer pin digital 2” una sola vez, y después ya
se ejecute el resto de forma cíclica hasta que lo
paremos.

Robótica básica con Arduino 4


Hemos utilizado el bloque de “Variables” “led”. Este
bloque tiene almacenado el último valor que ha
tomado la variable.

Hemos utilizado el operador “… =…” para saber si


ha guardado 1 ó 0, ya que esta variable toma
valores digitales.
Ya sólo nos queda decirle lo que tiene qué hacer en
cada caso:

Como necesitamos saber en todo


momento en qué estado se encuentra
el LED, lo que haremos será fijar el
valor a 1 cuando lo esté a ALTO (LED
encendido), y a 0 cuando la salida
digital 13 esté a BAJO (LED apagado).

Para terminar, arrastramos el bloque


de “Control” “esperar hasta que…” al
final del bloque “si…entonces / si
no…” con operador “no…” y bloque
“leer pin digital 2”. Esto lo que permite
es la lectura del pulsador cada vez que
se presiona y así encender o apagar el
LED.

Lo restante es subir el programa al


Arduino seleccionando la opción
“Subir a Arduino” en la parte de arriba
al lado derecho del mBlock.

2. Introducción a Máquinas simples


Una máquina es un objeto creado por el hombre para ahorrar tiempo y esfuerzo en nuestras
actividades. Las máquinas simples tienen muy pocos elementos y facilitan los trabajos.

Robótica básica con Arduino 5


2.1 Principios de estructuras y mecanismos sencillos
La estructura es la parte de una máquina sobre la que se apoyan los demás elementos.

Definiremos mecanismo como un dispositivo que transforma un movimiento y una fuerza aplicada
(llamadas magnitudes motrices o de entrada) en otro movimiento y fuerza resultante (denominadas
magnitudes conducidas o de salida) distintos.

Robótica básica con Arduino 6


Rueda: Máquina simple más importante que se
conoce, no se sabe quién y cuándo la descubrió
o inventó; sin embargo, desde que el hombre
utilizó la rueda la tecnología avanzó
rápidamente.

Consiste en una pieza circular que gira entorno


a un eje. La rueda disminuye mucho la fuerza de
rozamiento con el suelo.

2.2 Diferencia entre máquina simple y motorizada.


MAQUINAS SIMPLES MAQUINAS COMPUESTAS
La máquina simple es aquel mecanismo Son una unión de varias máquinas simples,
constituido por un solo operador de forma que la salida de cada una de ellas
diseñado para realizar un trabajo más está directamente conectada a la entrada
sencillo, conveniente y seguro. de la siguiente hasta conseguir el efecto
deseado.
Es una máquina sencilla y realiza su trabajo
en un solo paso. Una característica de las máquinas
compuestas es que tienen movimiento.
Se realiza trabajo de entrada por la
aplicación de una fuerza única. Las máquinas compuestas necesitan de
alguna fuente de energía para funcionar.
Se aplica una fuerza, hay una resistencia y
contiene un punto de apoyo. Impresora de ordenador, bicicleta,
cerradura, lavadora, video.

Las máquinas motorizadas son un tipo de máquina compuesta que su aplicación se tiene en el
concepto de los robots que es una máquina programable que puede manipular objetos y realizar
operaciones que antes sólo podían realizar los seres humanos.

Robótica básica con Arduino 7


2.3 Motores
Todos los robots incluyen algún sistema capaz de producir movimiento siendo los más comunes los
motores de corriente continua (DC) y los servos motores o servos.

Servomotores
Los servos son también motores de corriente continua, pero
en lugar de diseñarse para obtener un giro continuo, se diseñan
para que se muevan en un ángulo fijo en respuesta a una señal
de control, y se mantengan fijos en esa posición.

2.4 Sensores Comunes


De forma similar a los seres vivos, los sensores facilitan la información necesaria para que los robots
interpreten el mundo real. Todo robot debe tener al menos un sensor con el que interactuar. La
mayoría de los sistemas robóticos incluyen al menos sensores de obstáculos (bumpers) y algún
sensor de guiado por infrarrojos o ultrasonidos. Los sensores avanzados, además de detectar algo,
son capaces de reportar una medida de lo detectado, como puede ser un sensor de temperatura, o
un medidor de distancias ultrasónico por ejemplo.

El sensor ultrasónico HC-SR04 con ayuda de Arduino mide distancias y, de esta manera, consigue
que nuestros mecanismos sean capaces de detectar obstáculos.

Robótica básica con Arduino 8


En este ejemplo realizaremos el circuito eléctrico
condicionado por las conexiones que la primera patilla
irá a 5V (VCC) mientras que la última irá a tierra
(GND), la patilla del emisor o trigger se conectará al
pin digital 5 y el receptor o echo se conectará al pin
digital 6, lo que permitirá encender o apagar el LED de
la salida digital 13 conectado al Arduino cada vez que
se acerca la mano.

Primer problema a resolver


Aplicación de robótica y automatización a la vida cotidiana.

Producto 1:
Dispensador automático para jabón, alcohol gel, etc

Robótica básica con Arduino 9


3. Programación de máquinas motorizadas

3.1 Controladores de
motor

Para poder usar un motor DC en Arduino es


necesario utilizar un circuito accesorio, como
el L293D, ya que Arduino no es capaz de
proporcionar la corriente que necesita el
motor. Este circuito tiene una configuración
llamada "En Puente", "en H" o "Modo Push-Pull"
que permite controlar el giro de un motor. Para
fines de este curso, usaremos el modelo L293D
incorporado a un Driver de motores del fabricante UCTRONICS.

3.2 Tipos de motores y aplicación

Motores DC.
El motor de corriente continua (denominado también motor de corriente
directa, motor CC o motor DC) es una máquina que convierte la energía
eléctrica en mecánica, provocando un movimiento rotatorio, gracias a la
acción que se genera del campo magnético.

Servomotor de Rotación Continua.


Se trata de Servomotores que se han
modificado (manualmente o de fábrica) para
obtener una forma distinta de funcionamiento:
En esta modalidad, el servomotor no puede
posicionarse en un ángulo concreto.
A cambio, puede dar vueltas completas.
Sus posibilidades de funcionamiento son 3:
Parado
Rotación en sentido Horario (el de las
agujas del reloj)
Rotación en sentido Antihorario (al revés
que las agujas del reloj)

Robótica básica con Arduino 10


3.3 Definir rutas de movimiento y giros
Las rutas de movimiento y giros dependen de la rotación de las ruedas, por ejemplo:

Al frente Atrás

Robótica básica con Arduino 11


Izquierda Derecha

Robótica básica con Arduino 12


3.4 Programar movimientos de máquina

Luego de tener ensamblado nuestro robot, es hora de configurar el Arduino del robot, para ello
sigue estas instrucciones:
Descarga la biblioteca UCTRONICS_Smart_Robot_Car del siguiente enlace
https://github.com/UCTRONICS/Smart-Robot-Car-Arduino.git
Descomprime el archivo descargado
Busca la subcarpeta UCTRONICS_Smart_Robot_Car y comprímela en formato .ZIP
Abre el programa de Arduino y elije la pestaña Programa, luego selecciona las opciones
Incluir librería, Añadir biblioteca .ZIP, busca y elije la subcarpeta que acabas de comprimir
UCTRONICS_Smart_Robot_Car.zip y clic en Abrir
Conecta tu Robot carrito a la computadora con el cable USB
Elije la pestaña Herramientas, luego selecciona las opciones Placa, Arduino Uno; Otra vez
Herramientas, Puerto y selecciona el número de Puerto Serie diferencte a COM 1
Elije la pestaña Archivo, luego selecciona las opciones Ejemplos,
UCTRONICS_Smart_Robot_Car, ejemplo, Smart_Robot_Car_K0072
Haga clic en el botón Subir y tendremos listo nuestro Robot carrito para programar en
mBlock

NOTA:
Si se tiene problemas para subir el programa al Arduino, debe cerrar todos los programas
abiertos inclusive el mBlock, y volver a subir el programa del último ejemplo.
Si persiste el error, oprima el botón de Reset de la placa Arduino y vuelva a intentarlo.

Para finalizar la preparación para programar nuestro Robot carrito, sólo hace falta probar el
funcionamiento de sus movimientos: adelante, atrás, a la derecha y a la izquierda. Para ello, en
nuestro programa de mBlock se necesita hacer uso de lo siguiente:
Descargar y añadir la librería "UCTRONICS" en Extensiones y selecciona la opción
"UCTRONICS_Smart_Robot_Car"
Verá el bloque UCTRONICS_Smart_Robot_Car agregado como se muestra en la siguiente
imagen:

Robótica básica con Arduino 13


Desconecte el robot de la computadora y
colóquelo en el suelo. Instale las baterías en el
contenedor de baterías. Oprima el botón azul de la
placa controladora de motor para encender el
robot.

En este ejemplo, se han programado los bloques de


manera de test de funcionamiento autónomo,
haciendo los cambios cada segundo hasta
detenerse.

Se recomienda que cada vez que se apague el robot


se quiten las baterías para ahorro de energía.

3.5 Construcción y ensamble de piezas de vehículo.

Para programar los movimientos de máquina necesitamos comenzar por Ensamblar el Robot del
carrito adquirido en nuestro kit siguiendo los siguientes pasos:
Colocar los soportes en donde irá sostenido el Arduino en la base del robot
Colocar los 4 motores al otro lado de la base del robot
Colocar las 4 llantas a cada uno de los motores
Colocar el Arduino en sus soportes ya instalados y arriba de él la placa controladora de
motor
Colocar e instalar el contenedor de baterías
Conectar los motores de adelante en las conexiones de motor del lado derecho de la placa
controladora de motor
Conectar los motores de atrás en las conexiones de motor del lado izquierdo de la placa
controladora de motor
Conectar el contenedor de baterías al Arduino

Robótica básica con Arduino 14


Los sensores serán instalados a medida se vayan utilizando

Tercer problema a resolver:


Diseño de robot con ángulos de movimiento.

Producto 3:
Vehículo con rutas de movimiento rectilíneo.

4. Sensor de Temperatura y visualización de resultados.


Un sensor de temperatura. Tiene un rango de medición desde -55°C hasta 150°C. Tiene una salida
analógica y lineal, por lo tanto la tensión de salida es directamente proporcional a la temperatura,
en donde cada grado centígrado equivale a 10mV. Este sensor viene calibrado de fábrica con una
precisión 0.5°C

4.1 Cómo funciona un sensor de temperatura


El módulo DHT11 cuenta con un sensor de temperatura y humedad,
es capaz de realizar mediciones simultáneas de humedad relativa y
temperatura entregando su lectura de forma digital.

Tiene un tamaño ultra compacto, bajo consumo de energía, señal de


transmisión a distancia de hasta 20 metros, por lo que es de gran
utilidad en un gran número de aplicaciones básicas e incluso en
aplicaciones más exigentes y robustas.

Robótica básica con Arduino 15


Una pantalla LCD es un dispositivo diseñado para mostrar
información en forma gráfica. Para adaptar la señal entre la pantalla
LCD y el Arduino se usa un módulo que hace una interface entre
estos dispositivos. Este módulo irá soldado al display o fijado
mediante un conector, dejando en uno de sus extremos 4 pines
para la conexión con Arduino y para la alimentación del display.
Esta pantalla es ideal para la muestra de temperatura y humedad
del sensor DHT11.

4.2 Detección de temperatura.


Un sensor de temperatura es un dispositivo que transforma los cambios de temperatura en señales
eléctricas, que luego pueden ser procesadas por equipos electrónicos, en este caso en ARDUINO.

4.3 Conexión y programación en interfaz.


Para la detección de temperatura es necesario hacer los siguientes pasos:
Abre el programa de mBlock
Elija la pestaña del programa Extensiones y selecciona Administrar Extensiones
Elija disponible y luego escriba “DHT” para la librería del sensor de temperatura y selecciona
la opción “DHT Extensions”
Elija la opción descargar
Luego de descargada la extensión, elija la opción Añadir Extensión
Agregue otra librería para la pantalla LCD siguiendo los mismos pasos. Escriba “LCD1602
with I2C Interface”
Cerrar Administrar extensiones y luego elige la categoría Robots.
Verá los bloques DHT Extensions y LCD1602 with I2C Interface agregados como se
muestra en la siguiente imagen:

Robótica básica con Arduino 16


4.4 Módulo de Visualización.

Para conectar el display LCD 16×2 al Arduino vamos a utilizar la conexión a 4 dígitos, donde solo
vamos a conectar los pines D4, D5, D6 y D7 del LCD a cualquiera de los pines digitales del
Arduino. En este caso fue utilizado de los pines 2 hasta el 5.
Luego conectamos los pines de control del LCD RS, RW y E en otros tres pines digitales del Arduino.
(NOTA: El pin RW es opcional, si deseas no es necesario conectarlo, basta con colocarlo directo a
tierra y así puedes ahorrarte un pin del Arduino)
Por último, procedemos a realizar la conexión de alimentación del LCD junto con los LEDs de la
luz de fondo y el potenciómetro que ayuda a regular el contraste del display de cristal líquido (LCD).
A continuación se muestra la conexión del LCD al Arduino UNO.

Segundo problema resolver:


Detector de temperatura sin necesidad de hacer contacto

Producto 2:
Robot detector de temperatura.

Robótica básica con Arduino 17


5. Sensor ultrasónico

El sensor HC-SR04 consta de un terminal emisor que emite


un ultrasonido (inaudible para el oído humano por su alta
frecuencia) y espera un determinado tiempo con el terminal
receptor la vuelta de la onda sonora.

5.1 Controles de Flujo (loop y Switch).


Los bucles se encuentran entre los conceptos de programación más básicos y poderosos. Un bucle
en un programa de computadora es una instrucción que se repite hasta que se alcanza una condición
especificada. En una estructura de bucle, el bucle hace una pregunta. Si la respuesta requiere acción, se
ejecuta. La misma pregunta se hace una y otra vez hasta que no se requiere ninguna otra

5.2 Conexión y programación de placa Arduino con sensor


ultrasónico.
Colocar el servomotor en la parte del frente hacia arriba con una hélice de doble punta. Luego,
colocar el sensor ultrasónico sujetado a la hélice del servomotor. Para no dañar el servo, utilice una
tuerca en cada tornillo en el estante del sensor. Conectar el servomotor al lado derecho de la
conexión del sensor de línea de la placa controladora de motor.

Robótica básica con Arduino 18


Cuarto problema a resolver:
Aplicación de sensor ultrasónico para dispensador automático móvil en vehículo robotizado.

Producto 4:
Vehículo programado dando vueltas a la izquierda o derecha y simultáneamente, dispensando alcohol
gel o jabón. Tome como ejemplo el diagrama de referencia a continuación.

Robótica básica con Arduino 19


6. Sensor de distancia.
Un sensor de distancia es un dispositivo que permite realizar la medida de distancia lineal,
dependiendo de su configuración electrónica o por medio de programación estos normalmente
pueden adaptarse para medir la distancia o ser utilizados como sensores de presencia (movimiento).

Robótica básica con Arduino 20


6.1 Estructuras de control de flujo.
Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se
usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y
comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender.

6.2 Detección de distancia


Si el sensor HC-SR04 no detecta nada es debido a que no hay
ningún obstáculo en el rango de medidas del sensor (este sensor
en concreto tiene un rango de distancias sensible entre 3cm y
3m con una precisión de 3mm) mientras que si recibe la
respuesta usa el hecho de que el sonido lleva un movimiento
rectilíneo uniforme para, a partir del tiempo que pasa desde que
emite hasta que recibe la señal, realice de forma sencilla el
cálculo de la distancia a la que se encuentra el objeto.

Quinto problema a resolver:


Robot para esquivar obstáculos.

Producto 5:
Robot vehículo que detecta y esquiva obstáculos

Robótica básica con Arduino 21


7. Sensor de línea
Colocar los soportes del sensor de línea e instalar el sensor en los soportes en la parte de abajo del
robot y dibujar en el suelo una línea negra y una línea blanca formando dos círculo en donde el robot
dará vueltas cuando detecte determinado color. Conectar el sensor de línea en la conexión frontal
de la controladora de motor.

7.1 Sensores de seguimiento de línea y cómo funcionan.

El sensor TCRT5000 de seguimiento de


línea detecta líneas en el entorno
circundante y transfiere los datos al
Arduino. El Arduino analiza los datos y
envía un comando para controlar el
movimiento de las ruedas.

Cómo funciona un sensor de seguimiento de línea

Robótica básica con Arduino 22


El sensor TCRT5000 se basa en la emisión de cuerpo negro
ideal, es decir, un cuerpo que absorbe y reemite toda la
radiación incidente, independientemente de la longitud de
onda que sea. Ya que esta situación es ideal, se trabaja con
una aproximación de cuerpo negro, donde la radiación
incidente no sólo se absorbe, también se refleja y se
transmite.

7.2 Programación del sensor de línea


Para que nuestro robot pueda seguir una determinada línea, debemos seguir los siguientes pasos:
Carga al Arduino el programa que se te proporcionará llamado LineTracking
Coloca al Robot Carrito en el suelo sobre una de las líneas dibujadas y enciéndelo
Observa el comportamiento que el Robot carrito tiene al leer una determinada línea

Sexto problema a resolver:


Diseño de rutas dadas por línea guía para movimiento de robot.

Producto 6:
Vehículo programado para seguir una línea de movimiento determinada mediante un sensor.

8. Módulo Bluetooth
El módulo Bluetooth HC-05 viene configurado de fábrica como
"Esclavo" (slave), pero se puede cambiar para que trabaje como
"maestro" (master), además, se puede cambiar el nombre,
código de vinculación, velocidad y otros parámetros más.

Cuando el HC05 está configurado como esclavo, espera que un


dispositivo bluetooth maestro se conecte a este, generalmente
se utiliza cuando se necesita comunicar con una PC o Celular,
pues estos se comportan como dispositivos maestros.

En el HC-05 como Maestro, es él quien inicia la conexión. Un


dispositivo maestro solo se puede conectar con un dispositivo
esclavo. Generalmente se utiliza este modo para comunicarse
entre módulos bluetooth.

Robótica básica con Arduino 23


8.1 Aplicaciones de control remoto
Para comenzar a manejar el robot por control remoto, es necesario seguir lo siguiente:
Colocar y conectar el servomotor y el sensor ultrasónico a la placa controladora de motor
Colocar y conectar el sensor de línea a la placa controladora de motor
Conectar el robot a la computadora y subir el programa Smart_Robot_Car_K0072

Luego, desconectar el robot de la computadora, colocarlo en el piso y encenderlo.


Comenzará a ejecutarse de forma autómata en modo de evita obstáculos.
Tome el control remoto adquirido en el kit, presione el botón OK del control remoto y
automáticamente saldrá del modo evita obstáculos.
Dirija al robot en las direcciones que desee.
Cuando desee que el robot pare de ejecutar la ruta ordenada por el control remoto,
presiones OK y el robot se detendrá.
Repita los pasos para cambiar las rutas de dirección con el control remoto.

8.2 Controlar robot mediante Bluetooth


Para trabajar con el módulo Bluetooth, es necesario hacer lo siguiente:
Colocar el módulo Bluetooth en la conexión de la parte final de la placa controladora de
motor frente al conector del contenedor de baterías. Si se coloca el módulo Bluetooth antes
de subir el programa al Arduino dará conflictos de subida
Busque la carpeta descargada y descomprimida en sesiones anteriores llamada Smart-
Robot-Car-Arduino
Busque la subcarpeta Blue Tooth Tool. Encontrará un archivo apk llamado RobotCar.apk
Active el Bluetooth de su celular y conéctelo a la computadora
Asegúrese de estar usando la opción "Transferir archivos"
Lleve el archivo apk en algún lugar donde pueda encontrarlo fácil en su dispositivo Android
Abra la apk. Le aparecerá un mensaje de seguridad de aplicaciones desconocidas
Active la opción "Permitir desde esta fuente" y comenzará la instalación automáticamente
Después de instalar la aplicación RobotCar, puede seleccionar la opción "HECHO"
Encienda el robot. Debe haber estado subido el programa Smart_Robot_Car_K0072
Después de abrir la app habrá una página de bienvenida. Luego, seleccione el modelo K0072
Aparecerá una página de operación, seleccione el ícono de Bluetooth

Robótica básica con Arduino 24


Seleccione permitir en los permisos de ubicación. Comenzará a buscar dispositivos
Bluetooth durante 10 segundos
Aparecerá un "HC05 (clase: 1f00)" en la lista, que es el nombre del módulo Bluetooth y lo
selecciona
Ingrese "1234" en el cuadro de texto y haga clic en "Aceptar". Automáticamente el robot
dejará de moverse en el modo de evita obstáculos, y estará conectado con su teléfono a
través de Bluetooth

8.3 Control remoto desde un teléfono inteligente


Ahora ya estamos listos para controlar las rutas de dirección del robot a través del teléfono haciendo
uso de las siguientes funciones:

Iniciar el modo de evasión de obstáculos

Conexión Bluetooth

Configuración

Cambiar a otro modelo

Robótica básica con Arduino 25


A la izquierda: arrastre el punto azul a las flechas izquierda y derecha para mover el
servo del módulo ultrasónico

A la derecha: arrastre el punto azul a las flechas arriba, abajo, izquierda y derecha
para mover el robot y se detiene cuando el punto azul está en el centro.

Séptimo problema:
Manipulación y control de tareas y movimientos de robot desde un mando a distancia.

Producto 7:
Vehículo robot controlado a distancia por medio de aplicación en teléfono inteligente.

9. Unificación de aplicaciones para robótica aplicada


Consiste en crear un robot de multifunciones, capaz de realizar muchas tareas al mismo
tiempo, dependiendo de las órdenes que reciba, ya sea a través de su programación o algún
tipo de mando que lo conduzca a través de sensores.

9.1 Conjunto de tareas programadas y simultáneas


En este caso, nos referimos al programa que hemos venido utilizando para que nuestro robot
funcione de forma autómata o remota, Smart_Robot_Car_K0072. Este programa recibe el nombre

Robótica básica con Arduino 26


de firmware, y es el encargado de crear la inteligencia artificial del robot dependiendo de las órdenes
programadas en el código que puede realizar un conjunto de tareas de forma simultánea:
Detector de obstáculos con el sensor ultrasónico HC-SR04 movido constantemente por un
servomotor
Detección de líneas para seguirlas con el sensor infrarrojo TCRT5000 y que responde
también a las órdenes del control remoto del robot
Control a través de Bluetooth a través del módulo HC05 por medio de una aplicación
instalada en nuestro teléfono inteligente Android

9.2 Resolución de problemas mediante empleo de robots


En estos tiempos de coronavirus en donde enfrentamos una pandemia mundial y los países sujetos a
cuarentena, se hace necesaria la desinfección de objetos en donde el ser humano está expuesto a
contagiarse del virus. Es por esa razón, que emplearemos un robot capaz de limpiar pisos y así poder
desinfectarlos. Para ello, debemos seguir los siguientes pasos:
Tome el robot construido completamente y desmonte el sensor infrarrojo
Tome un mascón para lavar trastos que incluya esponja
Mida el mascón con los soportes que sostenían al sensor infrarrojo y perfore dos agujeros
Coloque el mascón en los soportes del sensor infrarrojo a manera que quede recto y
rosando el piso
Encienda el robot. Debe haber estado subido el firmware Smart_Robot_Car_K0072
Saque al robot del modo evita obstáculos y contrólelo por Bluetooth
Comience a limpiar los pisos que desee

Octavo problema a resolver:

Robótica básica con Arduino 27


Desinfección automática, controlada e inteligente de pisos mediante una máquina.

Producto ocho:
Robot limpia pisos automático y controlado desde un teléfono inteligente.

Robótica básica con Arduino 28

También podría gustarte