Prac01

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