retos arduino-básico 1

7
1 Restos de Arduino para estudiantes de Academica Nivel : ARDUINO Básico academica.mx Introducción: Este Retos de Arduino Basico están pensados con el fin de que los compañeros de este curso, pongan poner en práctica sus conocimientos de programación en Arduino a nivel básico. Como recomendación general, deben de realizar los ejercicios primero en el simulador del sitio 123d.circuits y luego en físico con su 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 forma fisica. Asimismo, en este practicario se encontrarán retos 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 puertos digitales (entradas, salidas y mixtos) - Prácticas con puertos analógicos (entradas, salidas y mixtos) - Prácticas con variables - Prácticas con sensores sencillos que no usan librería - Prácticas con el monitor serial

Upload: victor-alfaro-patraca

Post on 14-Apr-2016

13 views

Category:

Documents


0 download

DESCRIPTION

arduino retos

TRANSCRIPT

Page 1: Retos Arduino-básico 1

1

Restos de Arduino para estudiantes de AcademicaNivel : ARDUINO Básico

academica.mx

Introducción:

Este Retos de Arduino Basico están pensados con el fin de que los

compañeros de este curso, pongan poner en práctica sus conocimientos de

programación en Arduino a nivel básico.

Como recomendación general, deben de realizar los ejercicios primero en el

simulador del sitio 123d.circuits y luego en físico con su 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 forma fisica.

Asimismo, en este practicario se encontrarán retos 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 puertos digitales (entradas, salidas y mixtos)

- Prácticas con puertos analógicos (entradas, salidas y mixtos)

- Prácticas con variables - Prácticas con sensores sencillos que no usan librería

- Prácticas con el monitor serial

Page 2: Retos Arduino-básico 1

2

Problemas de Nivel 1 - Básico

1. Tenemos un semáforo dañado y nos piden que lo reparemos en el mínimo

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

un Arduino UNO a disposición. 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 semáforo con base al siguiente

circuito:

Pistas: Use digitalWrite y delay

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 botón y 1 led multicolor, cree un programa que permita a tu

jefe poder cambiar los colores del LED al hacer clic al botón (cada clic que se

le haga al botón, el led asumirá un color diferente). Base su programa en el

siguiente diagrama:

Page 3: Retos Arduino-básico 1

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 diseño de dispositivos para autos

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

fantástico1 con 20 leds (agrupándolos en parejas). Asuma que tienes que

hacerlo con un Arduino UNO y utiliza el siguiente diagrama:

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

Page 4: Retos Arduino-básico 1

4

Nota: Si no tienes 20 leds, puedes hacerlo sólo con 10

Pista: Usa digitalWrite

4. Imagina que estás trabajando para una tienda de regalos y un cliente geek

te pide que hagas un corazón que se ilumine con un LED. Además te

especificó que cuando no haya luz en el cuarto donde se tendrá el corazón,

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 corazón, como se ilustra con la siguiente gráfica:

Page 5: Retos Arduino-básico 1

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

Page 6: Retos Arduino-básico 1

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 analógico

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 Acción

100 Ningún LED encendido

300 Sólo LED rojo encendido

700 Sólo LED amarillo encendido

1000 Sólo LED verde encendido

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

potenciómetro conectado a una patilla Analógica del Arduino (A0) con los valores

anteriores.

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

Además utilice el siguiente diagrama:

Page 7: Retos Arduino-básico 1

7

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

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