You are on page 1of 17

UNIVERSIDAD MAYOR DE SAN ANDRÉS

FACULTAD DE INGENIERÍA
INGENIERIA ELECTRÓNICA

PROYECTO FINAL

IMPLEMENTACION DE LA PLATAFORMA ARDUINO

ESTUDIANTE: ALVARO NELSON SANTOS CONDORI

DOCENTE: ING.VALENCIA GOYZUETA RAFAEL

LA PAZ – BOLIVIA 2017

1
1. INTRODUCCIÓN
La implementación de la placa Arduino, como herramienta básica para el desarrollo de
sistemas de control, en los primeros cursos en electrónica se ha ido extendiendo a lo largo del
mundo, por su fácil asimilación y sencillo diseño.
La plataforma Arduino está compuesta de dos partes, un Hardware, que tiene diseños muy
diversos para la realización de distintos tipos de proyectos y un Software, que en el que se
implementa un lenguaje de programación propia de Arduino y un bootloader que se ejecuta en
la placa. Ambas partes de Arduino son completamente libres, lo que significa que pueden ser
utilizadas por todas las personas sin la necesidad de licencias u otros permisos, lo que permite
la difusión de proyectos al público en general para usarlos o mejorarlos.
El presente proyecto se centra en la modulación por ancho de pulso, mediante la
implementación de la placa Arduino (para este proyecto se usó el modelo Arduino UNO R3),
para el control de intensidad lumínica de un led, que empiece desde un estado bajo
(apagado), que vaya aumentando paulatinamente hasta llegar a un estado alto (máxima
luminosidad) y a continuación que disminuya.
Para la realización de este proyecto, la placa Arduino utiliza una interfaz que permite al
usuario realizar la programación deseada para la ejecución del trabajo. Este programa
también debe pedir el tiempo de estado bajo y estado alto, mediante teclado, además que
muestre el proceso de incremento y decremento de la intensidad lumínica del led.
Este documento describirá la realización el proyecto en sus distintas facetas, desde el
alcance que barca, los objetivos que se propusieron lograr, la metodología usada para la
realización del proyecto, un marco teórico donde se describirán teóricamente los componentes
utilizados en el proyecto, los resultados obtenidos con el proyecto, las conclusiones a las que
se llegaron.

2. ALCANCE DEL PROYECTO


El proyecto abarca el desarrollo de un circuito que aumente y disminuya la intensidad lumínica
de un led y que también pida por teclado el tiempo de estado alto (máxima intensidad
lumínica) y el tiempo de estado bajo (apagado), mediante la implementación de la plataforma
Arduino.
El trabajo abarca el armado del circuito ya descrito mediante el desarrollo del programa
adecuado para lograr el propósito deseado en base a investigación sobre los componentes
necesarios.

3. OBJETIVOS
3.1. OBEJTIVO GENERAL
 Implementar la plataforma Arduino para el desarrollo de un circuito que aumente y
disminuya la intensidad lumínica de un led, controlado desde una computadora personal,
que pida desde teclado el tiempo de estado alto y el tiempo de estado bajo
3.2. OBJETIVOS ESPECIFICOS
 Investigar sobre los diferentes modelos de Arduino existentes, para elegir el adecuado
para el desarrollo del trabajo.
 Armar el circuito adecuado para la realización del presente proyecto.
 Desarrollar un programa en el entorno de Arduino, que realice la variación de la intensidad
lumínica del led y que además pida por teclado el tiempo de estado bajo y estado alto en
el led.
2
4. METODOLOGIA
Al tratarse de un proyecto en electrónica, la metodología implementada en este trabajo es la
metodología científica, donde aplicaremos el método deductivo, ya que se consultaran varios
libros, páginas de internet, blogs sobre Arduino, videos para llegar a los propósitos que se
desean cumplir.
La investigación se basara en conocer los componentes necesarios para el desarrollo del
proyecto (ya mencionados en el enunciado del trabajo), para comprender su funcionamiento
tanto teórico como práctico, donde se estudiará la forma adecuada de uso de estos
(especialmente la placa Arduino y su software), para, de esta manera, lograr los objetivos
planteados.

5. MARCO TEORICO
5.1. RESISTOR
Se denomina resistor al componente electrónico diseñado para introducir una resistencia
eléctrica determinada entre dos puntos de un circuito eléctrico. En el propio argot
eléctrico y electrónico, son conocidos simplemente como resistencias. En otros casos,
como en las planchas, calentadores, etc., se emplean resistencias para producir calor
aprovechando el efecto Joule. Es un material formado por carbón y otros elementos
resistivos para disminuir la corriente que pasa. Se opone al paso de la corriente. La
corriente máxima y diferencia de potencial máxima en un resistor viene condicionada por
la máxima potencia que pueda disipar su cuerpo. Esta potencia se puede identificar
visualmente a partir del diámetro sin que sea necesaria otra indicación. Los valores más
comunes son 0,25 W, 0,5 W y 1 W.
Existen resistores de valor manualmente ajustable, llamados potenciómetros, reostatos o
simplemente resistencias variables. También se producen dispositivos cuya resistencia
varía en función de parámetros externos, como los termistores, que son resistores que
varían con la temperatura; los varistores que dependen de la tensión a la cual son
sometidos, o las fotorresistencias que lo hacen de acuerdo a la luz recibida.
Para la identificación de los valores de los resistores, se emplea un código de colores
en los cuales se especifica con claridad el valor óhmico y su tolerancia, que se muestra
en la siguiente tabla:

Figura 1. Sistema de colores de resistencias


3
5.2. LED
Un led (del acrónimo inglés LED, light-emitting diode: ‘diodo emisor de luz’; el plural
aceptado por la RAE es ledes) es un componente optoelectrónico activo y, más
concretamente, un diodo que emite luz.
Explicación detallada de funcionamiento:
El funcionamiento normal consiste en que, en los materiales conductores, un electrón, al
pasar de la banda de conducción a la de valencia, pierde energía; esta energía perdida
se manifiesta en forma de un fotón desprendido, con una amplitud, una dirección y una
fase aleatoria. El que esa energía perdida, cuando pasa un electrón de la banda de
conducción a la de valencia, se manifieste como un fotón desprendido o como otra
forma de energía (calor por ejemplo) depende principalmente del tipo de material
semiconductor. Cuando un diodo semiconductor se polariza directamente, los huecos de
la zona positiva se mueven hacia la zona negativa y los electrones se mueven de la
zona negativa hacia la zona positiva; ambos desplazamientos de cargas constituyen la
corriente que circula por el diodo.
Si los electrones y huecos están en la misma región, pueden recombinarse, es decir, los
electrones pueden pasar a "ocupar" los huecos "cayendo" desde un nivel energético
superior a otro inferior más estable. Este proceso emite con frecuencia un fotón en
semiconductores de banda prohibida directa (direct bandgap) con la energía
correspondiente a su banda prohibida (véase semiconductor). Esto no quiere decir que
en los demás semiconductores (semiconductores de banda prohibida indirecta (indirect
bandgap) no se produzcan emisiones en forma de fotones; sin embargo, estas
emisiones son mucho más probables en los semiconductores de banda prohibida directa
(como el nitruro de galio) que en los semiconductores de banda prohibida indirecta
(como el silicio).
La emisión espontánea, por tanto, no se produce de forma notable en todos los diodos y
solo es visible en diodos como los ledes de luz visible, que tienen una disposición
constructiva especial con el propósito de evitar que la radiación sea reabsorbida por el
material circundante, y una energía de la banda prohibida coincidente con la
correspondiente al espectro visible. En otros diodos, la energía se libera principalmente
en forma de calor, radiación infrarroja o radiación ultravioleta. En el caso de que el diodo
libere la energía en forma de radiación ultravioleta, se puede conseguir aprovechar esta
radiación para producir radiación visible mediante sustancias fluorescentes o
fosforescentes que absorban la radiación ultravioleta emitida por el diodo y
posteriormente emitan luz visible.
El dispositivo semiconductor está comúnmente encapsulado en una cubierta de plástico
de mayor resistencia que las de vidrio que usualmente se emplean en las lámparas
incandescentes. Aunque el plástico puede estar coloreado, es solo por razones
estéticas, ya que ello no influye en el color de la luz emitida. Usualmente un led es una
fuente de luz compuesta con diferentes partes, razón por la cual el patrón de intensidad
de la luz emitida puede ser bastante complejo.
Para obtener buena intensidad luminosa debe escogerse bien la corriente que atraviesa
el led. Para ello hay que tener en cuenta que el voltaje de operación va desde 1,8 hasta
3,8 voltios aproximadamente (lo que está relacionado con el material de fabricación y el
color de la luz que emite) y la gama de intensidades que debe circular por él varía según
su aplicación. Los valores típicos de corriente directa de polarización de un led corriente
4
están comprendidos entre los 10 y los 40 mA. En general, los ledes suelen tener mejor
eficiencia cuanto menor es la corriente que circula por ellos, con lo cual, en su operación
de forma optimizada, se suele buscar un compromiso entre la intensidad luminosa que
producen (mayor cuanto más grande es la intensidad que circula por ellos) y la eficiencia
(mayor cuanto menor es la intensidad que circula por ellos). El primer led que emitía en
el espectro visible fue desarrollado por el ingeniero de General Electric Nick Holonyak en
1962.
Diagramas:
Para conectar led’s de modo que iluminen de forma continua, deben estar polarizados
directamente, es decir, con el polo positivo de la fuente de alimentación conectado al
ánodo y el polo negativo conectado al cátodo. Además, la fuente de alimentación debe
suministrarle una tensión o diferencia de potencial superior a su tensión umbral. Por otro
lado, se debe garantizar que la corriente que circula por ellos no exceda los límites
admisibles, lo que dañaría irreversiblemente al led. (Esto se puede hacer de manera
sencilla con una resistencia R en serie con los ledes).

Figura 2. Diagramas de polarización de LED


La diferencia de potencial varía de acuerdo a las especificaciones relacionadas con el
color y la potencia soportada.
En términos generales, pueden considerarse de forma aproximada los siguientes valores
de diferencia de potencial:
Rojo = 1,8 a 2,2 voltios.
Anaranjado = 2,1 a 2,2 voltios.
Amarillo = 2,1 a 2,4 voltios.
Verde = 2 a 3,5 voltios.
Azul = 3,5 a 3,8 voltios.
Blanco = 3,6 voltios.

Tabla 1. Valores de LED

Luego, mediante la ley de Ohm, puede calcularse la resistencia R adecuada para la


tensión de la fuente que utilicemos.
5
𝑉𝑓𝑢𝑒𝑛𝑡𝑒 − (𝑉𝑑1 + 𝑉𝑑2 + ⋯ )
𝑅=
𝐼𝑡𝑜𝑡𝑎𝑙
Ecuación 1. Valor de la resistencia para un LED

En la fórmula, el término I se refiere al valor de corriente para la intensidad luminosa que


necesitamos. Lo común es de 10 miliamperios para ledes de baja luminosidad y 20 mA
para ledes de alta luminosidad; un valor superior puede inutilizar el led o reducir de
manera considerable su tiempo de vida.
Cabe recordar que también pueden conectarse varios en serie, sumándose las
diferencias de potencial en cada uno. También se pueden hacer configuraciones en
paralelo, aunque este tipo de configuraciones no son muy recomendadas para diseños
de circuitos con ledes eficientes.

5.3. PROTOBOARD
Es una de las placas de prueba más usadas. Está compuesta por bloques de plástico
perforados y numerosas láminas delgadas, de una aleación de cobre, estaño y fósforo,
que unen dichas perforaciones, creando una serie de líneas de conducción paralelas.
Las líneas se cortan en la parte central del bloque para garantizar que dispositivos en
circuitos integrados de tipo dual in-line package (DIP) puedan ser insertados
perpendicularmente y sin ser tocados por el proveedor a las líneas de conductores. En la
cara opuesta se coloca un forro con pegamento, que sirve para sellar y mantener en su
lugar las tiras metálicas.
Debido a las características de capacitancia (de 2 a 30 pF por punto de contacto) y
resistencia que suelen tener los protoboard están confinados a trabajar a relativamente
baja frecuencia (inferior a 10 ó 20 MHz, dependiendo del tipo y calidad de los
componentes electrónicos utilizados).
Los demás componentes electrónicos pueden ser montados sobre perforaciones
adyacentes que no compartan la tira o línea conductora e interconectada a otros
dispositivos usando cables, usualmente unifilares. Uniendo dos o más protoboard es
posible ensamblar complejos prototipos electrónicos que cuenten con decenas o cientos
de componentes.

Figura 3. Partes de un Protoboard

6
5.4. ARDUINO UNO
Arduino / Genuino Uno es una placa microcontroladora basada en ATmega328P
(datasheet). Tiene 14 pines digitales de entrada / salida (de los cuales 6 se pueden
utilizar como salidas PWM), 6 entradas analógicas, un cristal de cuarzo de 16 MHz, una
conexión USB, un conector de alimentación, una cabecera ICSP y un botón de reinicio.
Contiene todo lo necesario para soportar el microcontrolador, simplemente conéctelo a
un ordenador con un cable USB o con un adaptador AC-DC o batería para empezar.
"Uno" significa uno en italiano y fue elegido para marcar el lanzamiento de Arduino
Software (IDE) 1.0. El tablero Uno y la versión 1.0 de Arduino Software (IDE) fueron las
versiones de referencia de Arduino, ahora evolucionaron a versiones más recientes. La
placa Uno es la primera de una serie de placas USB Arduino, y el modelo de referencia
para la plataforma Arduino.
Especificaciones Técnicas
Microcontrolador ATmega328P
Tensión de funcionamiento 5V
Tensión de entrada (recomendado) 7-12V
Tensión de entrada (límite) 6-20V
Pines de E / S digitales 14 (de los cuales 6 proporcionan salida
PWM)
Pines de E / S digitales PWM 6
Pines de entrada analógica 6
Corriente CC por Pin de E / S 20 mA
Corriente CC para 3.3V Pin 50 mA
Memoria Flash 32 KB (ATmega328P) De los cuales 0,5
KB utilizados por bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Velocidad de reloj 16 MHz
LED_BUILTIN 13
Longitud 68.6 mm
Ancho 53,4 mm
Peso 25 g
Tabla 2. Especificaciones Técnicas del Arduino UNO

El Arduino / Genuino Uno se puede programar con el (Arduino Software (IDE)).


Seleccione "Arduino / Genuino Uno en el menú Herramientas> Panel (según el
microcontrolador de su placa).
El ATmega328 en el Arduino / Genuino Uno viene preprogramado con un gestor de
arranque que le permite cargar un nuevo código sin el uso de un programador de
hardware externo. Se comunica utilizando el protocolo STK500 original (referencia,
archivos de cabecera C).
También puede omitir el cargador de arranque y programar el microcontrolador a través
de la cabecera ICSP (In-Circuit Serial Programming) utilizando Arduino ISP o similar.
El código fuente del firmware ATmega16U2 (o 8U2 en las rev1 y rev2) está disponible en
el repositorio Arduino. El ATmega16U2 / 8U2 está cargado con un gestor de arranque
DFU.

7
La placa Arduino trabaja solo con señales digitales, por lo que cuando se quiere trabajar
con señales analógicas tanto en entrada como en salida se realizan los procedimientos
descritos a continuación:
Una señal eléctrica analógica es aquella en la que los valores de la tensión o voltaje
varían constantemente y pueden tomar cualquier valor. En el caso de la corriente
alterna, la señal analógica incrementa su valor con signo eléctrico positivo (+) durante
medio ciclo y disminuye a continuación con signo eléctrico negativo (–) en el medio ciclo
siguiente.
Un sistema de control (como un microcontrolador) no tiene capacidad alguna para
trabajar con señales analógicas, de modo que necesita convertir las señales analógicas
en señales digitales para poder trabajar con ellas.
La señal digital obtenida de una analógica tiene dos propiedades fundamentales:
 Valores, valor en voltios para 0 y 1. En nuestro caso es tecnología TTL (0 – 5V)
 Resolución analógica: nº de bits que usamos para representar con una notación
digital una señal analógica:
En el caso de un Arduino Uno, el valor de 0 voltios analógico es expresado en digital
como B0000000000 (0) y el valor de 5V analógico es expresado en digital como
B1111111111 (1023). Por lo tanto todo valor analógico intermedio es expresado con un
valor entre 0 y 1023, es decir, sumo 1 en binario cada 4883 mV.
Arduino Uno tiene una resolución de 10 bits, es decir, unos valores entre 0 y 1023.

Diferencia entre señales analógicas y digitales:

Figura 4. Conversor analógico – digital

Como hemos dicho Arduino Uno tiene entradas analógicas que gracias a los
conversores analógico digital puede entender ese valor el microcontrolador, pero no
tiene salidas analógicas puras y para solucionar esto, usa la técnica de PWM.
Las Salidas PWM (Pulse Width Modulation) permiten generar salidas analógicas desde
pines digitales. Arduino Uno no posee salidas analógicas puras.

8
La modulación por ancho de pulsos (también conocida como PWM, siglas en inglés de
pulse-width modulation) de una señal o fuente de energía es una técnica en la que se
modifica el ciclo de trabajo de una señal periódica (una senoidal o una cuadrada, por
ejemplo), ya sea para transmitir información a través de un canal de comunicaciones o
para controlar la cantidad de energía que se envía a una carga.
El ciclo de trabajo de una señal periódica es el ancho relativo de su parte positiva en
relación con el período. duty cycle = (tiempo que la salida está a uno o HIGH)/ (periodo
de la función).

Figura 5. Ciclos de trabajo en las señales para Arduino

En este ejemplo se ve cómo simular con PWM una onda sinusoidal analógica.
En Arduino la frecuencia de PWM es de 500Hz. Pero es un valor que puede modificarse
en caso que lo necesitemos.
En la actualidad existen muchos circuitos integrados en los que se implementa la
modulación PWM, por ejemplo para lograr circuitos funcionales que puedan controlar
fuentes conmutadas, controles de motores, controles de elementos termoeléctricos,
choppers para sensores en ambientes ruidosos y algunas otras aplicaciones.
No confundir PWM con la función tone() que es utilizada para generar una onda
cuadrada de ciclo de trabajo 50% y frecuencia variable, con el fin de emitir sonidos
audibles, modificando la frecuencia.

Conversor analógico digital (ADC):


Un microcontrolador solo entiende señales digitales (1’s y 0’s), por lo tanto para poder
leer señales analógicas necesitamos los convertidores Analógico a Digital (ADC).

9
Figura 6. Muestreo de una señal analógica

Figura 7. Conversor analógico-digital y Conversor digital-analogico

Al contrario que las señales analógicas, las señales digitales se pueden almacenar y
transmitir sin degradación. Los DAC se usan para los altavoces, amplificadores para
producir sonido. Ejemplo de la transmisión de la voz por las líneas telefónicas.

Entradas analógicas en Arduino


Los microcontroladores de Arduino contienen en la placa un conversor analógico a
digital de 6 canales. El conversor tiene una resolución de 10 bits, devolviendo enteros
entre 0 y 1023. Los pines analógicos de Arduino también tienen todas las
funcionalidades de los pines digitales. Por lo tanto, si necesitamos más pines digitales
podemos usar los pines analógicos. La nomenclatura para los pines analógicos es A0,
A1, etc…
En Arduino para tratar las entradas y salidas digitales usamos las siguientes funciones:

10
 analogReference() – configura la referencia de voltaje usada para la entrada
analógica.
 analogRead() – lee el valor del pin analógico especificado.
 analogWrite() – escribe un valor analógico (onda PWM) al pin especificado. No
en todos los pines digitales se puede aplicar PWM.
Otras funciones interesantes con entradas/salidas analóicas:
 map(value, fromLow, fromHigh, toLow, toHigh)
 constrain(x, a, b)
6. DISEÑO
6.1. CODIGO FUENTE
1. int led1=11;
2. float i;
3. int tiempo=100,tiempo2=100000;
4. int on;
5. int off;
6. float x;
7.
8. void setup() {
9.
10. Serial.begin(9600);
11. pinMode(led1, OUTPUT);
12. Serial.println("INGRESE LOS TIEMPOS PARA:");
13. Serial.println("> ESTADO ALTO");
14. Serial.println("> ESTADO BAJO");
15. Serial.println("NOTA: El tiempo esta en milisegundos");
16. }
17.
18. void encendido() {
19.
20. for(i=0; i<=255; i++){
21. analogWrite(led1, i);
22. x=i/2.55;
23. Serial.print("intensidad al: ");
24. Serial.print(x);
25. Serial.println('%');
26. if(x==100){
27. Serial.println("ESTADO ALTO");
28. }
29. delay(tiempo);
30. }
31. }
32.
33. void apagado() {
34.
35. for(i=255; i>=0; i--){
36. analogWrite(led1, i);
37. x=i/2.55;
38. Serial.print("intensidad al: ");
39. Serial.print(x);
40. Serial.println('%');
41. if(x==0){
11
42. Serial.println("ESTADO BAJO");
43. }
44. delay(tiempo);
45. }
46. }
47.
48. void loop(){
49.
50. if(Serial.available()){
51. on=Serial.parseInt();
52. Serial.setTimeout(tiempo2);
53. off=Serial.parseInt();
54. Serial.setTimeout(tiempo2);
55. encendido();
56. delay(on);
57. apagado();
58. delay(off);
59. Serial.println("FIN DE CICLO");
60. Serial.println("INGRESAR DATOS NUEVAMENTE");
61. digitalWrite(led1,HIGH);
62. }
63. }

6.2. DIAGRAMA DE BLOQUES

INICIO DEL INGRESAR PROCESAMIENTO CORRE EL CIRCUITO


PROGRAMA DATOS EN M. ATMEGA PROGRAMA “LED”

IMPRIME LOS VALORES


DE INTENSIDAD DE LUZ

12
6.3. LAYOUT

7. RESULTADOS
El proyecto obtuvo los siguientes resultados:
 La investigación realizada acerca de la plataforma Arduino y los conocimientos
adquiridos en su implementación (uso adecuado de los diferentes modelos existentes)
y la comprensión de la forma de programar los microcontroladores según cada modelo,
significan un gran avance en la incursión a la electrónica, que servirá como base para
el uso de herramientas más complejas.
 El desarrollo del programa necesario para la realización del control de luminosidad de
un led que pida por teclado el tiempo para estado alto y estado bajo, se logró de forma
óptima con todos los requerimientos deseados.
 El armado del circuito, al ser básico, se lo armo de forma adecuada y rápida para su
implementación.

8. CONCLUSIONES
 La aplicación de la plataforma Arduino para el desarrollo de sistemas de control, se
realiza de forma sencilla y rápida, conociendo ya la forma de programar los
microcontroladores que se estén usando.
 La información existente sobre Arduino en Internet es muy extensa y variada, lo que
ayudo a una comprensión más rápida acerca del uso de esta plataforma, tanto en la
elección del modelo y en la forma de programar con Arduino.
 La comprensión de la plataforma Arduino, sirve como una introducción al mundo de la
electrónica de control (de manera básica), tanto para estudiantes interesados como
para aficionados a esta, además servirá como base para sistemas más complejos
como el uso de PIC o PLC entre otros.

13
9. BIBLIOGRAFÍA
 “Arduino. Curso práctico de formación”; Torrente Artero, Oscar; Primera edición;
Alfaomega Grupo Editor; Mexico, 2013
 “Arduino. Manual de programación”; (traducción) Ruiz Martínez, José Manuel; (escrito y
compilado) Evans, Brian W.; Primera edición; USA, 2007
 https://aprendiendoarduino.wordpress.com/2016/06/25/que-es-arduino-y-hardware-
libre/
 https://es.wikipedia.org/wiki/Resistor
 https://es.wikipedia.org/wiki/Led
 https://es.wikipedia.org/wiki/Placa_de_pruebas
 https://aprendiendoarduino.wordpress.com/2016/07/02/entradas-y-salidas-analogicas-
pwm-2/

14
15
ANEXO 1

Placa Arduino y cable Serial

ANEXO 2

Componentes que se usaran

16
ANEXO 3

Circuito armado

ANEXO 4

Circuito conectado a la PC para programarlo

17