9
1 Taller de Arduino para estudiantes de Invenio Folleto de Prácticas – Nivel Básico Elaborado por: Luis León Introducción: Este folleto de prácticas está hecho con el fin de que los estudiantes a quienes se les recomiende el material hecho para este taller, puedan poner en práctica sus conocimientos de programación en Arduino a nivel básico. En este fascículo se encontraran prácticas que combinan retos de programación y de armado de circuitos en conjunto. Como recomendación que brindo, es que el estudiante haga los ejercicios primero en el simulador del sitio 123d.circuits.io y luego en físico con su propio Arduino, esto para que el estudiante se familiarice con la simulación de circuitos como proceso de comprobación antes de ejecutar sus circuitos en la realidad. Asimismo, en este folleto se encontrarán prácticas con códigos no vistos en clase, pero que se pueden encontrar en la referencia del Arduino IDE (http://arduino.cc/en/Reference/HomePage). Tópicos: - Prácticas con el monitor serial - Prácticas con variables - Prácticas con puertos digitales (entradas, salidas y mixtos) - Prácticas con puertos analógicos (entradas, salidas y mixtos) - Prácticas con sensores sencillos que no usan librería

Folleto de Prácticas Básico

Embed Size (px)

DESCRIPTION

Este folleto de prácticas está hecho con el fin de que los estudiantes a quienes se les recomiende el material hecho para este taller, puedan poner en práctica sus conocimientos de programación en Arduino a nivel básico.

Citation preview

  • 1

    Taller de Arduino para estudiantes de Invenio

    Folleto de Prcticas Nivel Bsico

    Elaborado por: Luis Len

    Introduccin:

    Este folleto de prcticas est hecho con el fin de que los estudiantes a quienes

    se les recomiende el material hecho para este taller, puedan poner en prctica sus

    conocimientos de programacin en Arduino a nivel bsico. En este fascculo se

    encontraran prcticas que combinan retos de programacin y de armado de circuitos

    en conjunto. Como recomendacin que brindo, es que el estudiante haga los

    ejercicios primero en el simulador del sitio 123d.circuits.io y luego en fsico con su

    propio Arduino, esto para que el estudiante se familiarice con la simulacin de

    circuitos como proceso de comprobacin antes de ejecutar sus circuitos en la

    realidad.

    Asimismo, en este folleto se encontrarn prcticas con cdigos no vistos en

    clase, pero que se pueden encontrar en la referencia del Arduino IDE

    (http://arduino.cc/en/Reference/HomePage).

    Tpicos:

    - Prcticas con el monitor serial

    - Prcticas con variables

    - Prcticas con puertos digitales (entradas, salidas y mixtos)

    - Prcticas con puertos analgicos (entradas, salidas y mixtos)

    - Prcticas con sensores sencillos que no usan librera

  • 2

    Problemas de Nivel 1 - Bsico

    1. Tenemos un semforo daado y nos piden que lo reparemos en el mnimo

    tiempo posible y que sea con recursos a nuestro alcance. Asuma que tienes

    un Arduino UNO a disposicin. Los tiempos que debe tener la luz roja

    encendida son de 2 minutos y la luz verde es de 1 minuto: Realice un

    programa de Arduino, donde se repare el semforo con base al siguiente

    circuito:

    Pistas: Use escritura digital y retardos

    2. El jefe de departamento quiere personalizar su oficina y te ha pedido que

    hackees su puerta con un led multicolor que indique cuando est ocupado,

    disponible o medianamente ocupado. Te ha dado un Arduino UNO para esa

    labor: Usando 1 botn y 1 led multicolor, cree un programa que permita a tu

    jefe poder cambiar los colores del LED al hacer clic al botn (cada clic que se

    le haga al botn, el led asumir un color diferente). Base su programa en el

    siguiente diagrama:

  • 3

    Pistas: Use dos condiciones if (una para contabilizar las pulsaciones y otra para

    encender el color del LED correcto).

    3. Imagina que trabajas en un taller de diseo de dispositivos para autos

    modificados. Un cliente te pidi que hicieras la matriz de LED similar al auto

    fantstico1 con 20 leds (agrupndolos en parejas). Asuma que tienes que

    hacerlo con un Arduino UNO y utiliza el siguiente diagrama:

    1 Si no sabes que es el auto fantstico, ver este video: https://www.youtube.com/watch?v=Z-Fw3AAT5Fs

  • 4

    Nota: Si no tienes 20 leds, puedes hacerlo slo con 10

    Pista: Usa digitalWrite

    4. Imagina que ests trabajando para una tienda de regalos y un cliente geek

    te pide que hagas un corazn que se ilumine con un LED. Adems te

    especific que cuando no haya luz en el cuarto donde se tendr el corazn,

    este se ilumine lentamente y se apague lentamente (indefinidamente), no

    obstante, cuando se encienda la luz, comience a latir de forma muy similar al

    latido de un corazn, como se ilustra con la siguiente grfica:

  • 5

    Para el problema, utiliza el siguiente diagrama como ayuda:

    0

    2

    4

    6

    8

    10

    12

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

    Inte

    nsi

    dad

    de

    luz

    del

    LED

    Tiempo x100 milisegundos

    LED cuando el cuarto est oscuro

    0

    2

    4

    6

    8

    10

    12

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    Inte

    nsi

    dad

    de

    luz

    del

    LED

    Tiempo x100 milisegundos

    LED cuando el cuarto est iluminado

  • 6

    Pistas: Usar un analogRead y un analogWrite, jugando con delays y condiciones

    5. Para un trabajo de universidad, te pidieron hacer un convertidor de analgico

    a digital con un Arduino. Para ello te dieron tres valores (100, 300, 700, 1000),

    donde esos valores representen el encendido de tres LEDS de la siguiente

    forma:

    Valor Accin

    100 Ningn LED encendido

    300 Slo LED rojo encendido

    700 Slo LED amarillo encendido

    1000 Slo LED verde encendido

    Para lo anterior utilice condiciones que permitan comparar lo obtenido de un

    potencimetro conectado a una patilla Analgica del Arduino (A0) con los valores

    anteriores.

    Ejm: if(potval > 100 && potval < 300)

    Adems utilice el siguiente diagrama:

  • 7

    Nota: Debes tener el puerto Serial configurado para ver los resultados

    Pistas: Usa el analogRead, condiciones, monitor serial y digitalWrite

  • 8

    Ejercicios de Nivel 1 Bsico

    Para estos ejercicios, es necesario visitar la referencia de Arduino:

    http://arduino.cc/en/Reference

    1. Juega con variables Char* aleatorias: Utilizando un botn y la instruccin

    Random, enva mensajes al monitor serial con frases clebres del da al pulsar

    un botn.

    2. Cuenta de 10 en 10: Utilizando el monitor serial y un botn, haz que el

    Arduino muestre en el monitor serial un conteo de 10 en 10 al pulsar un

    botn.

    3. Juguemos a las matemticas: Utilizando el monitor serial y un botn, muestra

    que el Arduino es inteligente y despliega las siguientes operaciones y sus

    respuestas:

    1.1. (Sen(60)+2)/2

    1.2. 2+2*2/2

    1.3. 6.66/0.32

    Utiliza el siguiente ejemplo de respuesta: 2*2,6 = 5,2

    4. Enciende un LED aleatorio: Utilizando 6 LEDs, haz que al pulsar un botn se

    encienda uno de forma aleatoria como un dado digital. Utilice la instruccin

    random y condiciones.

    5. Luz estroboscpica: Utilizando un LED y delays con valores aleatorios de 1-

    1000ms, haz que el Arduino encienda un LED y lo apague con un tiempo

    indefinido usando Random.

    6. Aprende a usar for: Utilizando un for y el monitor serial, haz que el Arduino

    cuente hasta el n.mero 1000 y mientras lo hace, que encienda y apague un

    LED cada 200 milisegundos.

  • 9

    7. Emitiendo tonos: Utilizando tone() y una pequea bocina o altavoz, haz que

    el Arduino emita diferentes tonos ajustados mediante un potencimetro

    conectado a un pin Analgico.

    8. Utilizando do while: Utilizando las condicionales do while, haz que un

    LED se encienda y se apague cada segundo, mientras que x < 100. Adems

    que cada vez que el LED se encienda y se apague, incremente x en una

    unidad