Upload
vismar-campos-hernandez
View
3
Download
0
Embed Size (px)
DESCRIPTION
Arduino
Citation preview
Prctica introductoria de programacin con microcontroladores: ArduinoIE0731: Sistemas en Tiempo DiscretoI- 2015Jos David Rojas Fernndez
ResumenEl objetivo de esta prctica es familiarizarse con la programacin de la plataforma
Arduino, para que, ms adelante, podamos implementar un controlador PID digitalfuncionando en tiempo real y controlar una planta utilizando esta plataforma.
La plataforma Arduino utiliza un lenguaje basado en C, con algunas funciones creadasespecficamente para el manejo de las seales de entrada y salida y el control de la plataforma.Adems cuenta con una interfaz de usuario bsica que permite programar y quemar elprograma en la memoria del microcontrolador.
Un programa bsico de Arduino tiene dos funciones principales: setup y loop. En lafuncin setup se debe escribir todas las instrucciones de configuracin que slo se debenejecutar una vez. En la funcin loop se escriben todas las instrucciones que se ejecutarnsecuencialmente, de manera indefinida. Para una lista de las instrucciones bsicas, revise lapgina http://www.arduino.cc/en/Reference/HomePage
1. Lo primero que se debe hacer es armar el sistema que se va utilizar para realizar losejercicios. El esquemtico del circuito es el siguiente:
ArduinoUno
(Rev3)
RESET
RESET2
AREF
IOREF
A0
A1
A2
A3
A4/SDA
A5/SCL
TX/D0
RX/D1
D2
PWM D3
D4
PWM D5
PWM D6
D7
D8
PWM D9
SS/PWM D10
MOSI/PWM D11
MISO/D12
SCK/D13
3V3 5V VIN
GND
N/C
RG
B
R110k
R2330
R4330
Parte1
R3330
S1
LED1R5100k
R6100k
R7100k
Arduino, I- 2015 1 de 3
Este circuito utiliza un LED RGB, un botn y tres potencimetros. El botn se conecta alpin digital 2, mientras que el LED RGB se conecta a los pines 3,5 y 6. Los potencimetrosse deben conectar a las entradas analgicas. La fuente de 5 V del Arduino se utiliza paraalimentar todos los componentes. A su vez, el Arduino debe estar conectado al puertoUSB tanto para energizar todo el sistema como para programar el microcontrolador.Una gua de cmo conectar cada uno de los componentes se presenta en la figura siguiente:
13121110
98
765432
L
5V
A0
ANALOG IN
AREF
1
GND
TXRX
RESET
3V3
A1
A2
A3
A4
A5
VIN
GND
GND
DIGITAL (PWM
=)
ArduinoTM
IOREF
ICSP
ICSP2
ON
POWER
01TX0
RX0
RESET
1 1
5 5
10 10
15 15
20 20
25 25
30 30
35 35
40 40
45 45
50 50
55 55
60 60
A
A
B
B
C
C
D
D
E
E
F
F
G
G
H
H
I
I
J
J
2. Cargue el ejemplo blink en la interfaz del IDE de Arduino y luego de compilarlo, qu-melo en el microcontrolador.
3. Guarde el programa con otro nombre y con base en este, vare el tiempo que debe estarencendido el LED.
4. Hgale las modificaciones necesarias para utilice uno de los LEDs externos.
5. Vare el programa para que se repita una secuencia tal, que encienda todos los LEDs,uno a las vez, durante 1 segundo cada uno.
6. Escriba un programa que encienda uno de los LEDs cada vez que se mantenga presionadoel botn.
7. Escriba un programa que ejecute la secuencia de la pregunta 5 cada vez que se presioneel botn.
Arduino, I- 2015 2 de 3
8. El Arduino como tal (al menos antes de la versin DUE) no tiene salidas analgicas co-mo tales, pero se pueden aproximar utilizando las salidas digitales como salidas PWM1.Puesto que se tienen los tres colores bsicos en el LED RGB, es posible, formar cual-quier otro color, variando la intensidad de cada uno de los colores bsicos. Escriba unprograma que lea la tensin en cada uno de las entradas analgicas conectadas, y loconvierta en un color en el LED RGB. Como las entradas analgicas estn conectadasa los potencimetros, cuando se vara cada uno de estos, se debera obtener un colordistinto en el LED RGB.
9. Vare el programa anterior para que se pueda leer, a travs del puerto serial, la proporcinde cada uno de los colores. Utilice el monitor serial del IDE de Arduino para ver laproporcin.
10. Si slo se utilizan los pines conectados al LED RGB como salidas digitales, es posibleobtener siete colores distintos (ms el negro que sera todos los LEDs apagados).Escriba un programa tal que, cada vez que se presione el botn, pase de un color alsiguiente (incluyendo el negro).
Tarea 4: Escriba un pequeo reporte (mximo 2 pginas) en el que se explique c-mo se resolvi el ejercicio 10. Debe explicar el cdigo y mostrar los resultados obtenidos.Utilice el formato de la IEEE: http://www.ieee.org/conferences_events/conferences/publishing/templates.html
1Para ms informacin, revisar estos enlaces: http://en.wikipedia.org/wiki/Pulse-width_modulation, http://www.arduino.cc/en/pmwiki.php?n=Tutorial/PWM, https://learn.sparkfun.com/tutorials/pulse-width-modulation
Arduino, I- 2015 3 de 3