Arduino

Un tutorial básico

Antes de comenzar
‡ Descarga el programa de
www.arduino.cc

‡ Descomprime la carpeta ‡ Conecta el Arduino ‡ Instala los drivers FTDI ‡ Anota el puerto COM del Arduino

Introducción
‡ Arduino es un microcontrolador ‡ Suele denominarse como ³computación
física´

‡ Está basado en el micro ATMEGA328 ‡ Se programa en C (con algunas
variantes)

Historia
‡ Es el sucesor de Wiring, de Héctor
Barragán

‡ http://wiring.uniandes.edu.co

‡ Es un sistema mínimo sofisticado ‡ Tiene un convertidor TTL a USB (el
chip FTDI)

El hardware

‡ Tiene un cristal de 16 MHz ‡ Un switch de reset (y se puede resetear
por software)

‡ Puede alimentarse externamente

Las prestaciones
‡ ‡ ‡ ‡ ‡
Salidas digitales (son 14 o 20) Salidas análogas (son 6, usan PWM) Entradas digitales (puedes activar una resistencia de pull-up desde el software) Entradas análogas (son 6, 10 bits resol.) Comunicación serial (pin 0 y pin 1, Rx, Tx)

Los shields
‡ Son placas de circuito que expanden
las posibilidades del Arduino incluyendo funciones que no trae originalmente

El software
‡ El IDE (entorno de desarrollo) está
basado en Processing (programado en Java)

‡ La versión actual (feb 2010) es la 0018 ‡ Existen librerías para un número
grande de aplicaciones y dispositivos

‡ Son los programas de Arduino ‡ Para las personas que han trabajado
en otras plataformas puede ser confuso utilizar el término sketches, ya que generalmente se conoce como programa, firmware o código

Sketches

‡ Se fomenta la curiosidad y la
investigación -- tinkering

Comunicación
‡ Para el hardware es un puerto serial ‡ El software lo recibe como un puerto
virtual

‡ Cualquier lenguaje de programación
que pueda mandar/recibir datos seriales puede interactuar con el Arduino

Sensores y actuadores ‡ El Arduino recibe señales externas a
través de sensores

‡ El Arduino se relaciona con el mundo a
través de actuadores

‡ El comportamiento lo define el código

Primer ejercicio
‡ Abra el sketch en File > Examples >
Digital > Blink

‡ Verifique que en el menú Tools esté
seleccionado correctamente el puerto COM y el modelo de Arduino

Cont.
‡ Cargue el programa con el comando
localizado en File > Upload to IO Board

‡ Observe que al cargarse parpadean los
LEDs Tx y Rx

‡ Modifique el código para que el LED
parpadee rápido. Suba el código.

Para pensar / discutir
‡ Trata de describir qué hace cada línea
del código del programa Blink

‡ ¿Qué aplicaciones puede tener esta
función?

‡ Un parpadeo lento vs. uno rápido
pueden emplearse para diferentes fines. ¿Cuáles se te ocurren?

Ejercicio 2
‡ Ahora vamos a activar el LED
respondiendo a la señal de un botón

‡ Coloque un pushbutton en un
protoboard

‡ Switch: 5V, pin 2, R de tierra a Sw

cont.
‡ Cargue el programa ubicado en File >
Examples > Digital > Button

‡ Observe el comportamiento del LED al
presionar el botón

‡ Invierta el comportamiento

Para pensar / discutir
‡ Prender un LED con un botón puede
parecer trivial o un desperdicio de tecnología si puede realizarse sin utilizar un microcontrolador

‡ ¿Por qué entonces hicimos este
ejercicio?

Ejercicio 3: PWM
‡ Vamos a implementar una salida
análoga

‡ Conecta un LED al pin 9, una R de 330
y a tierra

‡ Cargar el programa File > Examples >
Analog > Fading

cont.
‡ El programa hará que el LED se
encienda gradualmente y luego se apague igual

‡ Revise el código y cambie la velocidad
a la cuál se realiza el desvanecimiento

Ej4: entrada analógica ‡ Conecta un potenciómetro como divisor
de voltaje, un lado a 5V, otro a tierra y el central al pin análogo 0

‡ Carga el programa de File > Examples
> Analog > Analog Input

ej4. cont.
‡ El programa debe hacer parpadear el
LED del Arduino a una velocidad que depende de la posición del potenciómetro

Ejercicios avanzados
‡ Con lo aprendido en el ejercicio 1
construye un semáforo (tiempo y secuencia adecuado)

‡ Implementa debouncing para el
ejercicio 2

‡ Ahora modifica el semáforo para que
siempre esté en verde a menos que un peatón presione el botón de cruce

Ej. avanzados (cont.)
‡ El PWM del ejercicio 3 puede usarse
para modificar la velocidad de un motor. Conecta un TIP29A que reciba PWM y modifique la velocidad de un motor

‡ Envia por serial el valor del
potenciómetro del ejercicio 4 hacia Processing y graficar la señal

Ej. avanzados (cont.)
‡ En vez de utilizar un potenciómetro en
el ejercicio 4 haz la misma función con un divisor de voltaje donde una de las resistencias sea una fotorresistencia

Ej. avanzados (cont.)
‡ Conecta un sensor de temperatura
LM35 a la entrada análoga 0 (como en ej. 4) y utilízalo para activar un motor al llegar a cierta temperatura

Ej. avanzados (cont.)
‡ Lee datos análogos o digitales y
envíalos serialmente hacia la computadora. Recíbelos con Flash, Processing, PD y representa visualmente los cambios recibidos

Sign up to vote on this title
UsefulNot useful