Taller arduino processing

8
Taller de electrónica creativa viernes open lab 1 Taller de electrónica creativa: Cocinando con Arduino 12, 13, 14 - 19, 20 y 21 de Junio de 2009 Yago Torroja Igor González Angela Ramos y colaboradores

Transcript of Taller arduino processing

Page 1: Taller arduino processing

Taller de electrónica creativa viernes open lab1

Taller de electrónica creativa:Cocinando con Arduino

12, 13, 14 - 19, 20 y 21

de Junio de 2009Yago TorrojaIgor GonzálezAngela Ramosy colaboradores

Page 2: Taller arduino processing

Taller de electrónica creativa viernes open lab2

Arduino-Processing• Conceptos de comunicación Serie:

La comunicación serie se hace a través de bytes. Un byte son 8 bits (es decir un tren de 8 pulsos de voltaje legible por la máquina o como una serie de 8, 1s ó 0s:), que representan un número entero entre 0 y 255.

Esto supone un problema si queremos mandar, por ejemplo, la lectura de un potenciómetro, puesto que variará entre 0 y 1023 (Conversión analógico-digital Arduino de 10 bits).

Hay dos opciones o modos de enviar datos en el caso del Arduino:

a) una serie de caracteres ASCII (DEC)

http://www.asciitable.com/

b) un número de 1 Byte en Binario (BYTE).

http://asp.astalaweb.com/Convertidores/Convertidor%20decimal-binario.asp

Por ejemplo si Arduino lee en un potenciómetro un valor de 65 (01000001 en binario) esta será enviado, según el modificador o modo (DEC o BYTE), como:

65 ---DEC---- (“6′′ y “5′′ ACIIs 54–53) 00110110–00110101

65 ---BYTE--- 01000001

Arduino serie

Page 3: Taller arduino processing

Taller de electrónica creativa viernes open lab3

Arduino-Processing

• Conceptos de comunicación Serie:

Modo Byte o Binario: El modificador o coletilla BYTE permite el envío de información más económica (menos pulsos para la misma cantidad de información) lo que implica mayor velocidad en la comunicación. Y esto es importante cuando se piensa en interacción en tiempo real.

Como adelantábamos antes, teníamos un problema con la lectura de los valores del Potenciómetro. Pues la solución en este caso, está en dividir por 4 antes de ser enviados,de forma que puedan ser encapsulados en 1 Byte (0-255).*

Modo serie de Caracteres ASCII: El modificador DEC. Este modo no es el más eficiente pero si el más fácil de leer en el mismo IDE de Arduino ya que activando el “serial monitor” del software Arduino (último botón a la derecha), aparecerá el dato leido en el potenciometro.

Page 4: Taller arduino processing

Taller de electrónica creativa viernes open lab4

Arduino-ProcessingProcessing (www.processing.org) es un proyecto orientado a explorar las posibilidades de los

nuevos medios de comunicación. Se basa en un software de código abierto, especialmente orientado a la experimentación gráfica.

Ojo!!

Los ficheros de Arduino y Processing tienen la misma extensión *.pde.

Sólo podemos tener activado un programa escuchando por el puerto Serie. Así que hay que desconectar o desactivar el “Serial Monitor” (último botón a la derecha), cuando se está ejecutando Processing y viceversa.

Processing tiene una librería “Serial” para poder hablar con Arduino

Juego del PONG en processing!!

http://www.inf.fu-berlin.de/inst/ag-se/teaching/K-BKI-2006/Pong/

Ahora vamos a crear un interfaz interactivo para el juego, utilizando un sensor analógico:

Page 5: Taller arduino processing

Taller de electrónica creativa viernes open lab5

Arduino-Processing Vamos a utilizar el

código de lectura o

captura del valor de

un sensor

analógico y lo vamos a

enviar por el puerto

serie a una

velocidad de 19200.

Envio en MODO

Binario

Page 6: Taller arduino processing

Taller de electrónica creativa viernes open lab6

Arduino-Processing

http://todbot.com/processing/ArduinoPong/ArduinoPong.pde

Page 7: Taller arduino processing

Taller de electrónica creativa viernes open lab7

Arduino-Processing

Page 8: Taller arduino processing

Taller de electrónica creativa viernes open lab8

Arduino-Processing• Si queremos conectar más de un sensor analógico:

http://www.arduino.cc/en/Tutorial/VirtualColorMixer (MODO Caracteres ASCII o DEC)

• Si queremos utilizar un pequeño protocolo:

http://arduino.cc/en/Tutorial/SerialCallResponse (MODO BYTE)

• Más ejemplos de Código para conectar Arduino y AS2 (Flash):

Para habilitar la comunicación entre FLASH y Arduino, es necesario redireccionar un socket hacia un puerto serie. Hay varios programas que podríamos utilizar para realizar esta función, o llamados “Serial to Socket Server”:

http://www.arduino.cc/playground/Interfacing/Flash

Ejemplos para AS2:

http://www.arduino.cl/int/ejemplos/ejemplo6.html

http://www.arduino.cl/int/ejemplos/ejemplo8.html

http://www.arduino.cl/int/ejemplos/ejemplo9.html