Tutorial Ba%cc%81sico Arduino 2010[1]

26
Arduino Un tutorial básico

Transcript of Tutorial Ba%cc%81sico Arduino 2010[1]

Page 1: Tutorial Ba%cc%81sico Arduino 2010[1]

ArduinoUn tutorial básico

Page 2: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 3: Tutorial Ba%cc%81sico Arduino 2010[1]

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)

Page 4: Tutorial Ba%cc%81sico Arduino 2010[1]

Historia

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

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

Page 5: Tutorial Ba%cc%81sico Arduino 2010[1]

El hardware•Es un sistema mínimo sofisticado

•Tiene un convertidor TTL a USB (el chip FTDI)

•Tiene un cristal de 16 MHz

•Un switch de reset (y se puede resetear por software)

•Puede alimentarse externamente

Page 6: Tutorial Ba%cc%81sico Arduino 2010[1]

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)

Page 7: Tutorial Ba%cc%81sico Arduino 2010[1]

Los shields

•Son placas de circuito que expanden las posibilidades del Arduino incluyendo funciones que no trae originalmente

Page 8: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 9: Tutorial Ba%cc%81sico Arduino 2010[1]

Sketches•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

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

Page 10: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 11: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 12: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 13: Tutorial Ba%cc%81sico Arduino 2010[1]

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.

Page 14: Tutorial Ba%cc%81sico Arduino 2010[1]

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?

Page 15: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 16: Tutorial Ba%cc%81sico Arduino 2010[1]

cont.

•Cargue el programa ubicado en File > Examples > Digital > Button

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

•Invierta el comportamiento

Page 17: Tutorial Ba%cc%81sico Arduino 2010[1]

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?

Page 18: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 19: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 20: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 21: Tutorial Ba%cc%81sico Arduino 2010[1]

ej4. cont.

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

Page 22: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 23: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 24: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 25: Tutorial Ba%cc%81sico Arduino 2010[1]

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

Page 26: Tutorial Ba%cc%81sico Arduino 2010[1]

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