Montesdeoca.J ParpadeoSemáforoArduino MICRO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 14

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN
CIENCIAS APLICADAS
ELECTRICIDAD

GUÍA DE PRÁCTICAS DE LABORATORIO


MICROCONTROLADORES

Simulación de parpadeo de un LED y de un


Taller #: 1 Tema: semáforo con Arduino (Mega 2560)

Fecha de realización
de la práctica: 2023 Abril 17 - 21
año mes día

Observaciones: Simulación de parpadeo de un LED y de un semáforo.

Fecha de entrega del


informe: 2023 Abril 25
año mes día

Observaciones: Presentación de informe y resultados.

Periodo: Abril – Agosto


Octubre – Febrero
Taller de Microcontroladores
Taller N. 1

1. Tema: Parpadeo y semáforo con Arduino (Mega 2560)

2. Objetivo General.

Desarrollar habilidades en la programación y uso de la plataforma de prototipado electrónico


Arduino Mega 2560 para simular un parpadeo y semaforo en una protoboard.

3. Objetivos Específicos.

 Comprender los principios básicos del funcionamiento de la plataforma Arduino Mega 2560 y
su entorno de programación (IDE).
 Diseñar y construir un circuito en una protoboard que permita simular el encendido y apagado
de un diodo emisor de luz (LED) y, de luces en secuencia de luces, como una semáforo,
utilizando componentes electrónicos y Arduino Mega 2560.
 Programar el Arduino Mega 2560 utilizando el lenguaje de programación de Arduino (basado
en C++) para controlar el encendido y apagado de los LED y la secuencia de un semáforo.

4. Marco Teórico

4.1. Introducción
En este taller práctico de laboratorio se explorará el uso de la tarjeta de desarollo 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 simulará el encendido y apagado de un LED, además de
la simulación de un semáforo 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 la simulación de los casos mencionados anteriormente 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, 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.

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.3. 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.3.1. 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.4. 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 la realización de este taller práctico de laboratorio incluiría una serie de
tareas que permitirían a los estudiantes de la materia de Microcontroladores adquirir los
conocimientos necesarios para llevar a cabo la simulación de encendido y apagado de un LED y la
simulación y secuencia de un semáforo en una protoboard utilizando la plataforma Arduino Mega
2560.
En primer lugar, se requeriría una familiarización con la plataforma Arduino Mega 2560, su
funcionamiento, características, y herramientas de programación asociadas. Se recomienda la
consulta de documentación oficial, tutoriales y recursos en línea para adquirir estos conocimientos.
Posteriormente, se debería profundizar en los conceptos y principios físicos que fundamentan la
simulación de una baliza policial, tales como la secuencia de encendido y apagado de luces y el
control de LED mediante programación, así como en la utilización de componentes electrónicos como
resistencias y otros.
Finalmente, se debería realizar un diseño previo de dichos circuitos en una protoboard, y una
programación básica que permita el encendido y apagado secuencial de los LEDs los mismos.

Este diseño y programación previa permitirá ahorrar tiempo en la realización del taller práctico de
laboratorio y obtener mejores resultados.

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), rojos, azules y blancos

7. Datos y Observaciones.

En relación a la práctica de laboratorio en la que se simulará el encendido y apagado de un LED, y


también la simulación de un semáforo con Arduino Mega 2560, es importante mencionar que esta
práctica permitirá a los estudiantes desarrollar habilidades en la programación y control de
dispositivos electrónicos a través de la plataforma Arduino.
Además, esta práctica también les permitirá conocer los conceptos básicos de la electrónica, como
el uso de resistencias y diodos LED, así como también el uso de la protoboard para realizar
conexiones de manera ordenada y efectiva.
Cabe destacar que esta práctica también fomenta el trabajo en equipo y la colaboración, ya que los
estudiantes pueden compartir sus ideas y soluciones para lograr el funcionamiento correcto de la
parte física (circuitos en protoboard) y de la parte de programación (código) simulada.
Finalmente, esta práctica tiene una gran importancia en la formación de los estudiantes, ya que les
permitirá desarrollar habilidades técnicas y analíticas que serán útiles en su futuro desempeño
profesional en áreas relacionadas con la electrónica y la programación.

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

8.2. Código en IDE Arduino (parpadeo_1)

/*
UNIVERSIDAD TÉCNICA DEL NORTE
CIELE
MICROCONTROLADORES
Joshua Steven Montesdeoca Montesdeoca
Parpadeo
17 de Abril de 2023
*/
//Definir Variables
int tiempo = 500; // variable que controla el tiempo de encendido y apagado de un
led
//Definir pines
const int pinLed = 7; // pin conectado al led

void setup() {
// configurar los pines
pinMode(pinLed,OUTPUT); // Configurar pin de salidad

void loop() {
// Ejecución continua
// Encender el led
digitalWrite(pinLed,HIGH);
// Pausa
delay(tiempo); // Tiempo que permanece encedido el led
// Apagar led
digitalWrite(pinLed,LOW);
// Pausa
delay(tiempo);
}
8.3. Código en IDE Arduino (parpadeo_2_sin_delay)

/*
UNIVERSIDAD TÉCNICA DEL NORTE
CIELE
MICROCONTROLADORES
Joshua Steven Montesdeoca Montesdeoca
Parpadeo sin delay
18 de Abril de 2023
*/
//declarar variables
bool estado = 0;
unsigned long tiempoA = 0; // "unsigned long" dulpica el número de bits y elimina el
signo
unsigned long tiempoB = 0;
int pausa = 300;

//declarar los pines


#define lRojo 2 // "#define" no se utiliza = y tampoco ;

void setup() {
// configuración de hardware
pinMode(lRojo, OUTPUT);
//tomar el tiempo del procesador
tiempoA = millis(); //guardo los milisegundos que tiene el arduino encendido

void loop() {
// leer tiempo transcurrido
tiempoB = millis();
// verifico que se cumplio el tiempo requerido
if(tiempoB >= tiempoA + pausa)
{
estado = !estado;
digitalWrite(lRojo, estado);
tiempoA = tiempoB;
}

8.4. Código en IDE Arduino (semáforo_1)

/*
UNIVERSIDAD TÉCNICA DEL NORTE
CIELE
MICROCONTROLADORES
Joshua Steven Montesdeoca Montesdeoca
Semaforo
18 de Abril de 2023
*/
//declarar variables
int tAmarillo = 500; // tiempo que permanece encendido la luz amarilla
int tRojo = 2000; // tiempo que permanece encendido la luz roja
int tVerde = 1500; // tiempo que permanece encendido la luz verde

//declarar pines
const int Lrojo = 2; //pin al que se conecta el led rojo
const int Lamarillo = 3; //pin al que se conecta el led amarillo
const int Lverde = 4; //pin al que se conecta el led verde

void setup() {
// configuración de hardware
// modo de funcionamiento de cada uno de los pines
pinMode(Lrojo, OUTPUT);
pinMode(Lamarillo, OUTPUT);
pinMode(Lverde, OUTPUT);

// parpadeo de encendido
bool estado =0;
for(int i = 0; i < 6; i++)
{
estado = !estado;
digitalWrite(Lamarillo, estado);
delay(200);
}
}

void loop() {
// secuencia semaforo
// encendido led rojo
digitalWrite(Lrojo, HIGH);
delay(tRojo);
// apagado led rojo
digitalWrite(Lrojo, LOW);

// encendido led rojo


digitalWrite(Lverde, HIGH);
delay(tVerde);
// apagado led rojo
digitalWrite(Lverde, LOW);

// encendido de led amarillo


digitalWrite(Lamarillo, HIGH);
delay(tAmarillo);
// apagado led amarillo
digitalWrite(Lamarillo, LOW);

}
8.5. Esquemas y simulaciones en Fritzing

Figura 1. Esquema 1 protoboard parpadeo.

Figura 2. Esquema 2 parpadeo.


Figura 3. Esquema 1 protoboard parpadeo sin delay

Figura 4. Esquema 2 parpadeo sin delay.


Figura 5. Esquema 1 protoboard parpadeo semáforo.

Figura 6. Esquema 2 semáforo.


8.6. Resultados

Figura 7. Montaje del circuito parpadeo y conexión con Arduino.

Figura 8. Montaje del circuito parpadeo sin delay y conexión con Arduino.
Figura 9. Montaje del circuito semáforo y conexión con Arduino.

Enlaces video

Parpadeo: parpadeo_1.mp4
Parpadeo sin delay: parpadeo_sin_delay_1.mp4
Semáforo: semáforo_1.mp4

9. Análisis de resultados

En este código, se está utilizando un bucle principal loop() para hacer parpadear LED rojos y azules
y un LED blanco. El LED blanco parpadea a intervalos regulares utilizando la función millis() y se
cambia su estado utilizando una variable booleana y la función digitalWrite(). Los LED rojos y azules
también parpadean alternadamente, utilizando un par de bucles anidados y las funciones
digitalWrite() y delay() para establecer el tiempo de encendido y apagado. Se utilizan arreglos para
los pines de los LED y se establecen como salidas en la función setup(). En general, este código es
una demostración simple de cómo controlar varios LED con un Arduino utilizando la función
digitalWrite() y los tiempos de retardo.

Se consiguió un resultado favorable al momento del cargar el código a la tarjeta de desarrollo Arduino
Mega 2560. El parpadeo LED y el semáforo tuvieron un correcto funcionamiento y cumplió con mis
expectativas.

10. Conclusiones y Recomendaciones

10.2. Conclusiones

 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. A lo largo de este taller
se ha aprendido cómo utilizar Arduino para desarrollar proyectos sencillos con la ayuda
de un protoboard, resistencias, diodos y LEDs.

 La programación de Arduino se basa en el lenguaje de programación C++, pero utiliza una


serie de funciones y librerías específicas para trabajar con los componentes de la

plataforma. En este taller se ha aprendido a utilizar el software de programación Arduino


IDE para escribir, compilar y cargar programas en la placa.

 Es importante tomar medidas de seguridad al manipular cualquier equipo electrónico,


incluyendo Arduino. La mala manipulación del equipo puede causar daños en la placa y
otros componentes, lo que puede resultar en un gasto innecesario y una pérdida de
tiempo.

 El buen uso de Arduino puede llevar a una mayor comprensión y habilidad en la electrónica
y la programación, lo que puede ser beneficioso tanto para la educación como para el
desarrollo profesional.

10.3. Recomendaciones

 Continúa explorando la plataforma de Arduino y su comunidad de usuarios. Hay una


gran cantidad de proyectos y recursos educativos disponibles en línea que pueden ser
útiles para aprender más y desarrollar habilidades avanzadas.

 Continúa practicando la programación de Arduino. A medida que se avanza en la


práctica, se irá ganando más confianza y habilidad en el uso de las funciones y librerías
de la plataforma.

 Asegúrese de tener una comprensión completa de las características y funciones de


los componentes y herramientas utilizadas en el taller, y manipúlelas con cuidado y
atención. Además, siga las pautas de seguridad apropiadas, como trabajar en un
ambiente limpio y seco, y asegurarse de que los cables y conexiones estén
correctamente conectados antes de encender la placa.

 Continúa utilizando Arduino para desarrollar proyectos interesantes y útiles, y sigue


aprendiendo sobre los conceptos de la electrónica y la programación. Si se está
interesado en carreras relacionadas con la tecnología, Arduino puede ser una
herramienta útil para desarrollar habilidades y conocimientos que pueden ser valiosos
en el futuro

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