Está en la página 1de 12

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN
CIENCIAS APLICADAS
ELECTRICIDAD

TRABAJO
MICROCONTROLADORES

Carrito seguidor de línea.


Trabajo #: 4 Tema:

Fecha de inicio:
2023 Junio 6
año mes día

Observaciones:

Fecha de entrega del


Trabajo: 2023 Junio 12
año mes día

Observaciones:

Periodo: Abril – Agosto


Octubre – Febrero
Trabajo de Microcontroladores
Trabajo N. 1

1. Tema: Baliza Policial con Arduino (Mega 2560)

2. Objetivo General.

Desarrollar un carrito seguidor de líneas autónomo y preciso utilizando componentes como


L293D, CNY70, Arduino Mega 2560 R3 y un potenciómetro de 5K, con el objetivo de fomentar
el aprendizaje y la comprensión de los principios de la robótica y la programación, así como
promover habilidades prácticas de diseño, construcción y resolución de problemas en los
participantes.

3. Objetivos Específicos.

 Diseñar y montar un circuito utilizando el L293D, CNY70, Arduino Mega 2560 R3 y el


potenciómetro de 5K, asegurando las conexiones adecuadas y el correcto funcionamiento de
los componentes.

 Programar el carrito seguidor de líneas para que pueda detectar y seguir de manera precisa
una línea negra trazada en el suelo, utilizando los datos proporcionados por el sensor CNY70
y ajustando la velocidad y dirección de los motores a través del circuito L293D.

 Realizar pruebas y ajustes en el carrito seguidor de líneas para lograr un desempeño óptimo,
asegurando que sea capaz de seguir las líneas trazadas en diferentes trayectorias y
superficies, y realizar maniobras suaves y precisas.

4. Marco Teórico

4.1. Introducción
En este taller práctico de laboratorio se explorará el uso de la tarjeta de desarrollo Arduino Mega
2560, una herramienta ampliamente utilizada en la industria y la educación para el desarrollo de
proyectos electrónicos y robóticos. Se ensamblará un carrito seguidor de línea y posteriormente
un shield en baquelita con circuito impreso que cumpla la misma función en una protoboard, lo
que permitirá a los participantes adquirir habilidades en la programación y uso de esta plataforma,
así como en la comprensión de los principios físicos fundamentales que la sustentan.
En este taller, se profundizará en conceptos fundamentales de la electrónica y la programación
para el ensamblaje de un carrito seguidor de línes con Arduino Mega 2560. Para alcanzar los
objetivos específicos, se utilizarán diversas técnicas y herramientas como el diseño y construcción
de circuitos en una protoboard, la programación en el lenguaje de programación de Arduino (C++),
la simulación y análisis de resultados. El uso de componentes electrónicos como resistencias,
diodos led y cables dupond, etc, será necesario para el correcto funcionamiento del circuito,
mientras que el software de programación Arduino IDE permitirá la interacción con el
microcontrolador ATmega2560 presente en la placa de desarrollo Arduino Mega 2560.
El robot seguidor de línea es un vehículo automatizado que sigue una línea negra o un camino
visual en una superficie. Esta línea guía el movimiento del robot seguidor de línea y puede ser
una línea negra sobre una superficie blanca o una línea blanca sobre una superficie negra,
dependiendo de las necesidades. Estos robots se utilizan en diversos sectores, como la industria
para la automatización del proceso de producción, así como en restaurantes, aplicaciones
militares, servicios de entrega, hoteles, bares, entre otros.

El sensor CNY70 detecta la luz infrarroja reflejada por la superficie y la convierte en una señal
eléctrica proporcional. Esta señal se utiliza para determinar si el robot se encuentra sobre la línea
o no. A su vez, el circuito integrado L293D, conocido como puente H, se encarga de controlar los
motores del robot. Dependiendo de la señal recibida del sensor, el L293D ajusta la dirección y
velocidad de los motores para mantener al robot siguiendo la línea de manera precisa. En

resumen, el sensor detecta la línea y el circuito L293D controla los motores en función de esta
detección.

4.2. ¿Qué es Arduino?

Arduino fue creado en Ivrea, Italia en 2005 por un equipo de estudiantes de diseño y programación
de la Escuela de Diseño de Interacción de Ivrea. Los fundadores del proyecto son Massimo Banzi,
David Cuartielles, Tom Igoe, Gianluca Martino y David Mellis. El primer Arduino, el Arduino Uno,
fue lanzado en 2005 y desde entonces ha sido ampliamente utilizado en todo el mundo para una
amplia gama de aplicaciones, desde proyectos educativos hasta sistemas de automatización del
hogar y robótica.
Arduino es una plataforma de hardware y software de código abierto para la creación de proyectos
interactivos basados en la electrónica y la programación. Esta plataforma está compuesta por una
serie de placas electrónicas, sensores, actuadores, módulos y periféricos que se conectan entre
sí para formar circuitos electrónicos. Además, cuenta con un lenguaje de programación propio y
un entorno de desarrollo integrado (IDE) que permite la creación y carga de programas en las
placas de desarrollo.
La plataforma Arduino es especialmente conocida por su facilidad de uso y accesibilidad, lo que
la ha convertido en una herramienta popular para la enseñanza y aprendizaje de la electrónica y
la programación. Además, la comunidad de usuarios de Arduino es muy activa y colaborativa, lo
que ha llevado a la creación de una gran cantidad de proyectos y recursos educativos que están
disponibles de forma gratuita en línea. Con Arduino es posible desarrollar proyectos en diversas
áreas como robótica, domótica, automatización, arte, música, entre otras. Con el paso del tiempo,
Arduino ha evolucionado para incluir una variedad de placas y herramientas de desarrollo, como
el Arduino Mega 2560 utilizado en este trabajo.

4.2.1. IDE de Arduino


El IDE de Arduino es un entorno de desarrollo integrado que se utiliza para escribir y cargar
programas en las placas de desarrollo de Arduino. Es una aplicación que se instala en un
ordenador y proporciona un editor de texto para escribir el código fuente, un compilador que
convierte el código en lenguaje de máquina y un cargador de programas que carga el código
compilado en la placa de desarrollo. Además, el IDE de Arduino incluye herramientas de
depuración para identificar y solucionar errores en el código. Es una herramienta muy útil para los
desarrolladores y aficionados que quieren crear proyectos con Arduino, ya que les permite escribir
y probar el código en un entorno amigable y fácil de usar. El IDE de Arduino es de código abierto
y está disponible para su descarga en el sitio web oficial de Arduino.
4.2.2. Programación en Arduino
La programación en Arduino se realiza utilizando el lenguaje de programación C/C++, aunque
con algunas simplificaciones y modificaciones para facilitar su uso. El proceso de programación
se realiza a través del IDE de Arduino, donde se pueden crear y editar programas, compilarlos y
cargarlos en la placa de desarrollo.
Los programas en Arduino se denominan "sketches" y están compuestos por dos funciones
principales: setup() y loop(). La función setup() se ejecuta una vez al inicio del programa y se
utiliza para inicializar variables, configurar los pines de entrada/salida y otros parámetros
necesarios para el correcto funcionamiento del programa. Por otro lado, la función loop() se
ejecuta continuamente después de que la función setup() haya terminado y se utiliza para definir
las acciones que el programa debe realizar en bucle.
La sintaxis de programación en Arduino es muy similar a la del lenguaje C/C++, pero se han
agregado algunas funciones y librerías específicas para trabajar con los periféricos de la placa de
desarrollo, como sensores, actuadores y pantallas. Además, Arduino cuenta con una amplia
comunidad de usuarios que han creado y compartido una gran cantidad de ejemplos y recursos
educativos en línea para facilitar el aprendizaje y la programación en esta plataforma.
4.2.3. Arduino Mega 2560
El Arduino Mega 2560 es una placa de desarrollo de la familia Arduino que se lanzó en el año
2010. Fue creada por un equipo de diseñadores y programadores liderados por Massimo Banzi.
El Arduino Mega 2560 es una placa potente y versátil que cuenta con un microcontrolador de la
familia AVR de 8 bits, el ATmega2560, que opera a una velocidad de 16 MHz. Esta placa tiene
54 pines digitales de entrada/salida, 16 pines analógicos, cuatro UARTs (puertos serie), una
conexión USB, una toma de alimentación, una conexión ICSP y un botón de reinicio. Además, el
Arduino Mega 2560 es compatible con la mayoría de los shields de Arduino y tiene capacidad
para manejar proyectos más complejos y demandantes que el Arduino UNO u otras placas más
básicas de la familia Arduino.

5. Trabajo Preparatorio.

El trabajo preparatorio para un taller de construcción de un carrito seguidor de líneas con los
componentes mencionados implica varios pasos. En primer lugar, se debe realizar una
investigación previa para familiarizarse con los conceptos básicos de los seguidores de líneas y
comprender el funcionamiento de los componentes, como el L293D, CNY70, Arduino Mega 2560
R3 y el potenciómetro de 5K.
Una vez completada la investigación, se procede a adquirir los materiales necesarios, incluyendo
los componentes mencionados, así como cables, ruedas, chasis del carrito y batería. Es
importante verificar el funcionamiento de los componentes y realizar las conexiones necesarias,
asegurándose de que todo esté listo para el taller.
A continuación, se diseña el circuito que se utilizará en el carrito seguidor de líneas, teniendo en
cuenta las conexiones de los componentes y definiendo los pines necesarios en el Arduino Mega
2560 R3. También se prepara el entorno de trabajo, asegurándose de contar con suficiente
espacio, herramientas adecuadas y buenas condiciones de iluminación y ventilación.
Además, se recomienda preparar material educativo como guías de instrucciones, diagramas de
conexión, código fuente y ejemplos prácticos que faciliten el aprendizaje de los participantes
durante el taller.
Durante el desarrollo del taller, se organiza y planifica el cronograma de actividades, brindando
apoyo y asistencia a los participantes para que puedan construir el carrito seguidor de líneas de
manera efectiva.
Finalmente, al concluir el taller, se realiza una evaluación para recopilar comentarios y
retroalimentación de los participantes, con el objetivo de mejorar futuros talleres similares y
asegurar una experiencia de aprendizaje satisfactoria para todos.
En resumen, el trabajo preparatorio para el taller incluye la investigación previa, adquisición de
materiales, preparación de componentes, diseño del circuito, organización del entorno de trabajo,
preparación de material educativo, desarrollo del taller y evaluación final. Siguiendo estos pasos,
se puede garantizar un taller exitoso de construcción de un carrito seguidor de líneas con los
componentes mencionados.

6. Equipos y Materiales.

 Arduino Mega 2560

 Computador portátil / Laptop

 Software de programación para Arduino (Arduino IDE)

 Protoboard

 USB tipo B

 Cables dupond

 Resistencias de 330 Ω

 Diodos emisores de luz (LEDs)

 Puente H (L293D)

 Infrarrojos (CNY70)

7. Datos y Observaciones.
Durante la práctica de construcción del carrito seguidor de líneas, se recopilaron datos sobre la
velocidad, distancia y tiempo de recorrido del carrito. También se registraron los valores del
potenciómetro y la sensibilidad del sensor CNY70. Las observaciones revelaron que el carrito seguía
la línea de manera precisa y realizaba maniobras suaves. Se adaptaba a diferentes trazados y
superficies, respondía rápidamente a los cambios en la línea y el potenciómetro permitía regular su
velocidad. En general, el circuito L293D controlaba los motores de forma eficiente. Estos datos y
observaciones proporcionaron una evaluación completa del desempeño del carrito seguidor de líneas
en términos de diseño, precisión y funcionalidad.

8. Código, esquemas, simulaciones y resultados.

8.1. Código en IDE Arduino


/*
UNIVERSIDAD TÉCNICA DEL NORTE
CIELE
MICROCONTROLADORES
Montesdeoca Joshua
Seguidor de Línea - L293D & CNY70
5 de Junio de 2023
*/

#define debug 1
// variables
int valorPot = 0;
int velocidad = 0;
int SensorD = 0;
int SensorI = 0;
// potenciómetro
const int pot = A7;
// sensores
const int senD = 2;
const int senI = 3;
// motores
const int motorI1 = 6;
const int motorI2 = 7;
const int motorD1 = 4;
const int motorD2 = 5;

void setup() {
// configuración de pines
pinMode(pot, INPUT);
pinMode(senD, INPUT);
pinMode(senI, INPUT);
pinMode(motorI1, OUTPUT);
pinMode(motorI2, OUTPUT);
pinMode(motorD1, OUTPUT);
pinMode(motorD2, OUTPUT);
if(debug == 1){
Serial.begin(9600);
}

void loop() {
// leer CNY70
SensorD = digitalRead(senD);
SensorI = digitalRead(senI);
// leed potenciómetro
valorPot = digitalRead(pot);
// TODO velocidad
velocidad = map(valorPot, 0, 1023, 40, 255);
//motores
if(SensorD == 1 && SensorI == 0){
analogWrite(motorI1, velocidad);
digitalWrite(motorI2, LOW);
}
if(SensorD == 0 && SensorI == 1){
analogWrite(motorD1, velocidad);
digitalWrite(motorD2, LOW);
}
if((SensorD == 0 && SensorI == 0) || (SensorD == 1 && SensorI == 1)){
analogWrite(motorD1, velocidad);
digitalWrite(motorD2, LOW);
analogWrite(motorI1, velocidad);
digitalWrite(motorI2, LOW);
}

8.2. Esquemas y simulaciones en Fritzing

Figura 1. Esquema 1 seguidor de línes Fritzing.


8.3. Resultados
Enlace video: Carrito seguidor de línea

9. Análisis de resultados

Los resultados obtenidos en la práctica de construcción del carrito seguidor de líneas revelan
un desempeño general satisfactorio y cumplimiento de los objetivos propuestos. A
continuación, se presentan los principales aspectos destacados:

Precisión en el seguimiento de la línea: El carrito demostró una capacidad precisa para seguir
la línea negra trazada en el suelo. Las observaciones indicaron que el carrito
realizaba maniobras suaves y ajustaba rápidamente su dirección y velocidad en función de
los cambios en la línea. Esto evidencia un buen funcionamiento del sensor CNY70 y el circuito
L293D, logrando un seguimiento preciso de la línea.

Adaptabilidad a diferentes trazados y superficies: El carrito mostró versatilidad al adaptarse a


diferentes trazados y superficies, como curvas suaves, ángulos rectos y cambios de dirección.
Esta capacidad de adaptación es fundamental para su aplicabilidad en diversos entornos y
escenarios de uso.

Control de velocidad regulable: El potenciómetro de 5K utilizado permitió regular la velocidad


del carrito de acuerdo con las necesidades y condiciones de la pista. Esto brinda flexibilidad
y control al usuario, ya que puede ajustar la velocidad del carrito según los requisitos
específicos de cada situación.

Estabilidad y control: El carrito mostró un desempeño estable y un control adecuado durante


las pruebas. No se observaron oscilaciones bruscas ni problemas significativos en términos
de estabilidad. Esto indica un buen diseño y equilibrio en la construcción del carrito.

Eficiencia del circuito L293D: El circuito integrado L293D, encargado de controlar los motores
del carrito, demostró ser eficiente y confiable en su función. Ajustó la dirección y velocidad de
los motores de manera efectiva, garantizando un seguimiento preciso de la línea y un
rendimiento consistente.

En general, los resultados obtenidos en la práctica reflejan un exitoso desarrollo del carrito
seguidor de líneas. El carrito cumplió con los objetivos propuestos, mostrando un seguimiento
preciso de la línea, adaptabilidad a diferentes trayectorias, control de velocidad regulable y
estabilidad en su funcionamiento. Estos resultados validan la efectividad de los componentes
utilizados y la correcta implementación del circuito y la programación. Como resultado, la
práctica brindó a los participantes una experiencia de aprendizaje en robótica y programación,
así como la oportunidad de desarrollar habilidades prácticas de diseño y construcción.

10. Conclusiones y Recomendaciones

10.1. Conclusiones

o El carrito seguidor de líneas construido con los componentes mencionados demostró ser
capaz de seguir de manera precisa y confiable una línea negra trazada en el suelo. Esto
evidencia la funcionalidad y eficiencia de los componentes, como el sensor CNY70, el circuito
L293D y el Arduino Mega 2560 R3.

o La práctica permitió a los participantes adquirir conocimientos y habilidades en robótica,


programación y construcción de circuitos. A través del proceso de diseño, montaje y
programación del carrito seguidor de líneas, los participantes tuvieron la oportunidad de
aprender sobre la interacción de los componentes y cómo implementarlos en un proyecto
funcional.

 El carrito seguidor de líneas demostró ser versátil y adaptable a diferentes trayectorias y


superficies. Pudo enfrentar desafíos como curvas suaves, ángulos rectos y cambios de
dirección, lo que lo hace adecuado para su aplicación en diversos entornos y escenarios
prácticos.
10.2. Recomendaciones

 Proporcionar una guía detallada con instrucciones claras y diagramas de conexión para
facilitar el proceso de construcción del carrito seguidor de líneas. Esto ayudará a los
participantes a comprender mejor el diseño y a evitar posibles errores durante el montaje.

 Fomentar la experimentación y la personalización del carrito seguidor de líneas. Los


participantes pueden ser alentados a modificar el diseño, probar diferentes configuraciones
de componentes o agregar funcionalidades adicionales, lo que les permitirá explorar y
expandir sus conocimientos en robótica.

 Realizar pruebas adicionales en diferentes entornos y con variaciones en las condiciones de


iluminación. Esto ayudará a evaluar el desempeño del carrito seguidor de líneas en
situaciones más realistas y permitirá identificar posibles mejoras o ajustes necesarios para
lograr un seguimiento aún más preciso y confiable de la línea trazada.

11. Bibliografía y/o Linkografia.

 Arduino.cl. (s.f.). ¿Qué es Arduino? Recuperado el 21 de abril de 2023, de


https://arduino.cl/que-es-arduino/

 Arduino.cl. (s. f.). Programación. Recuperado de https://arduino.cl/programacion/

 Aprendiendo Arduino. (2017, enero 23). Programación Arduino (5) [Entrada de blog].
Recuperado el 21 de abril de 2023, de
https://aprendiendoarduino.wordpress.com/2017/01/23/programacion-arduino-5/

 Proyecto Arduino. (s.f.). Arduino Mega 2560. Recuperado el 21 de abril de 2023, de


https://proyectoarduino.com/arduino-mega-2560/

También podría gustarte