Vous êtes sur la page 1sur 3

Prctica introductoria de programacin con microcontroladores: Arduino

IE0731: Sistemas en Tiempo Discreto


I- 2015
Jos David Rojas Fernndez

Resumen
El objetivo de esta prctica es familiarizarse con la programacin de la plataforma
Arduino, para que, ms adelante, podamos implementar un controlador PID digital
funcionando en tiempo real y controlar una planta utilizando esta plataforma.

La plataforma Arduino utiliza un lenguaje basado en C, con algunas funciones creadas


especficamente 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 el
programa en la memoria del microcontrolador.
Un programa bsico de Arduino tiene dos funciones principales: setup y loop. En la
funcin setup se debe escribir todas las instrucciones de configuracin que slo se deben
ejecutar una vez. En la funcin loop se escriben todas las instrucciones que se ejecutarn
secuencialmente, de manera indefinida. Para una lista de las instrucciones bsicas, revise la
pgina http://www.arduino.cc/en/Reference/HomePage
1. Lo primero que se debe hacer es armar el sistema que se va utilizar para realizar los
ejercicios. El esquemtico del circuito es el siguiente:
S1

R1
10k

Parte1

3V3
RESET
RESET2
AREF

5V

VIN

Arduino
Uno
(Rev3)

IOREF

TX/D0
RX/D1
D2
PWM D3
D4

A1

PWM D6

A2

D7

A3

D8

A4/SDA

PWM D9

A5/SCL

SS/PWM D10

R4
330

LED1

R7
100k

PWM D5

R6
100k

A0

R2
330

R5
100k

R3
330

MOSI/PWM D11
MISO/D12
SCK/D13

N/C

GND

Arduino, I- 2015

1 de 3

Este circuito utiliza un LED RGB, un botn y tres potencimetros. El botn se conecta al
pin digital 2, mientras que el LED RGB se conecta a los pines 3,5 y 6. Los potencimetros
se deben conectar a las entradas analgicas. La fuente de 5 V del Arduino se utiliza para
alimentar todos los componentes. A su vez, el Arduino debe estar conectado al puerto
USB 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:
A B C D E

G H

J
60

60

55

55

50

50

45

45

40

40

35

35

30

30

25

25

20

20

15

15

10

10

RESET
ICSP2

TX
RX

AREF
GND
13

IOREF

3V3
5V

GND

POWER

7
6
5
4
3

G H

RX0

TX0

A B C D E

ICSP

ON

A5

ANALOG IN

A4

DIGITAL (PWM=

A1

A3

10

TM

A0

A2

11

GND
VIN

12

Arduino

RESET

2. Cargue el ejemplo blink en la interfaz del IDE de Arduino y luego de compilarlo, qumelo en el microcontrolador.
3. Guarde el programa con otro nombre y con base en este, vare el tiempo que debe estar
encendido 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 presionado
el botn.
7. Escriba un programa que ejecute la secuencia de la pregunta 5 cada vez que se presione
el botn.

Arduino, I- 2015

2 de 3

8. El Arduino como tal (al menos antes de la versin DUE) no tiene salidas analgicas como 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 cualquier otro color, variando la intensidad de cada uno de los colores bsicos. Escriba un
programa que lea la tensin en cada uno de las entradas analgicas conectadas, y lo
convierta en un color en el LED RGB. Como las entradas analgicas estn conectadas
a los potencimetros, cuando se vara cada uno de estos, se debera obtener un color
distinto en el LED RGB.
9. Vare el programa anterior para que se pueda leer, a travs del puerto serial, la proporcin
de cada uno de los colores. Utilice el monitor serial del IDE de Arduino para ver la
proporcin.
10. Si slo se utilizan los pines conectados al LED RGB como salidas digitales, es posible
obtener 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 al
siguiente (incluyendo el negro).
Tarea 4: Escriba un pequeo reporte (mximo 2 pginas) en el que se explique cmo 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

Para 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

Vous aimerez peut-être aussi