Complementario: taller de sensores 2017

El Taller complementario de sensores tiene como objetivo que el estudiante adquiera, por medio de la instrucción teórico-práctica, los conocimientos fundamentales acerca de los dispositivos electrónicos que permiten percibir cambios en el entorno (sensores), con el fin de comprender su tecnología básica y uso; y a partir de esto, considerarlos como recursos en la práctica artística.

1) Electricidad, digitalidad, sensores cotidianos, interfaz. Hacking de teclado + PD.
2) Electrónica y programación, Arduino, Physical Computing, Procesos y obra de artistas nacionales e internacionales. Pure Data.
3) Proyectos personales.

Asistencia: 80%

Evaluación:
2 Evaluaciones (60%) + Examen (40%)
Eval 1) Proyecto 5pts, bitácora 1pt + pto base.
Eval 2) Anteproyecto 1pt, Proyecto 4pt, bitácora 1pt + pto base.
Examen 3) Proyecto 5pt, bitácora 1pt + pto base.

Bibliografía sugerida:
. Getting started with sensors, Maker Shed
. Getting started in electronics, Forrest MimsIII
. Physical Computing, Dan O’Sullivan y Tom Igoe
. Interactive Art Based on Musical Genealogy: Nam June Paik’s Rando Access. Byeongwon Ha. Pg453 Isea
Preceedings 2017.

Admin curso: https://docs.google.com/spreadsheets/d/1W9GuSVQmBGpl7uVlJ7aloEJm6qEfepiZ4r1ifppHqSs/edit?usp=sharing

Blogs estudiantes
Martín
Lucas
Tomás

Contenidos vistos en clases:

C1

Referencias:
http://www.dougengelbart.org/firsts/mouse.html
http://technolojie.com/pu-gong-ying-tu-dandelion-painting/
http://www.sub-context.com/primitives/
http://www.artelectronicmedia.com/artwork/helena-by-marco-evaristti
http://www.thelisapark.com/

Interacción Glitch

Descarga PD: https://puredata.info/downloads (descargar e instalar la versión Extended).
Test para teclado: http://www.keyboardtester.com/ || Drumkit: http://ronwinter.tv/drums.html

C2

Link a las anotaciones en clase Pure Data – intro:
https://docs.google.com/document/d/1uagGptod2gKTqSuGRrmNUtYiK6Z2vCRzaDalfsiB75o/edit?usp=sharing
Link a descarga de patches:
http://etab.cl/clases/uchile/complementario-sensores/PD-C1.zip

C5

Presentación ejercicios de aplicación.

C6

Physical Computing y microcontroladores

Esta es la imagen que inicia el primer libro dedicado a la computación física o Physical Computing. Su primera edición fue publicada en 2004 y fue una respuesta a la inquietud de profesores y estudiantes de distintas áreas interesados en el trabajo creativo que implicaba una respuesta física ante rutinas digitales o vice/versa.
PhCompDiagram

En el libro se hace referencia a esta imagen para explicar el cómo nos relacionamos con los computadores, específicamente en cómo somos percibidos por estos. Hasta ese entonces la forma casi única para una persona de comunicarse con un computador era a partir del mouse y el teclado y por otro lado a través de la vista y los oídos.

Se comenzó a usar microcontroladores de fácil programación para expandir las posibles formas de interacción con la máquina: Basic Stamp, Pic y otros, eran los microcontroladores más utilizados, sin embargo en 2003 en el instituto Ivrea en Italia quisieron hacer aún más fácil el uso de estos dispositivos, así como también más económicos para los estudiantes.

Fue así entonces como comenzó a desarrollarse la placa Arduino y su software en el contexto de una tesis de Magister en el mismo instituto Ivrea por el colombiano Hernando Barragán, quien en ese momento inició su proyecto Wiring en el que luego se basó el proyecto Arduino conducido por un grupo constituido por Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, and David Mellis. También hubo directa influencia del proyecto Processing iniciado por Casey Reas y Ben Fry

Luego de Arduino (que es un proyecto Open Source) comenzaron a aparecer distintas placas basadas en ella como RBBB o Makey Makey entre otras.

Otra característica que vale la pena mencionar es que gracias a las características de Arduino, es bastante fácil aumentar sus capacidades de fábrica gracias a los shields que son placas adosables a Arduino para por ejemplo, usar de manera más fácil motores, aplicaciones con sonido, acceder a internet, etc.

También cabe mencionar que hace algunos años se han desarrollado otras placas como Raspberry Pi, Beagle Bone y más recientemente Arduino Galileo (entre otras) que entran dentro de la categoría de pequeños computadores por lo que tienen más capacidad de procesamiento de datos, se les puede instalar un sistema operativo, programas y aceptan periféricos como monitor, teclado, mouse, etc, así como también conexión a Internet sin necesidad de enchufarlos a un shield.

Esta reseña es para contextualizar brevemente en qué situación se generan las herramientas que presentaré las próximas clases. Lo que da para pensar es el rol de estas en las posibilidades de uno generar herramientas propias, que pueden ser personalizadas según las propias necesidades y concepto de un proyecto. Al igual que aprender programación, se generan libertades que no se dan al ocupar máquinas y softwares que no pueden ser modificados.

————————–

Ejercicio hecho en clases a partir de los ejemplos del programa Arduino

OUTPUT

Bibliografía técnica: http://eclass.sch.gr/modules/document/file.php/EL19138/Massimo%20Banzi-Getting%20Started%20with%20Arduino%20-Make%20%282011%29.pdfl

Más información y tutoriales en video:
https://vimeo.com/album/2801639/

——-

Lista de ejercicios realizados durante la clase introductoria de Arduino. Para encontrarlos, buscar el el programa Arduino, desde el menú File (o Archivo), dentro de Ejemplos según lo indicado a continuación:
1) File –> Examples –> Basics —> Blink
2) File –> Examples –> Basics —> Fading
3) File –> Examples –> Digital —> Tone Melody
4) File –> Examples –> Analog –> Analog Input
5) Comunicación serial Arduino – Pure Data [Link descarga]

Tópicos revisados
Ciclo For
Modulación por ancho de pulsos – Pulse Width Modulation
Actuadores
Visualizar los valores de entrada y/o salida en el monitor serial (Serial.println)

Map y Constrain
https://www.arduino.cc/en/Tutorial/AnalogInOutSerial
*para agregar constrain, a continuación de la función map tendrían que agregar la línea:
outputValue = map(sensorValue, 0, 1023, 0, 255);
constValue = constrain(outputValue, 0, 255);
*Recordar declarar una variable global “constValue” como un “int” y luego cuando se usan los valores (en Serial.println por ejemplo), cambiar el parámetro a la variable que corresponda (en este caso a “constValue”).
Calibración automática
http://arduino.cc/en/Tutorial/Calibration

—————–

C7

Pure Data
Conexión Arduino – PD con Firmata y Pduino [Link]
Se realizó un ejercicio con un LDR en Arduino y video en PD.
El sketch de Firmata se puede encontrar en el programa de Arduino en:
File –>; Ejemplos –> Firmata –> Standard Firmata

Arduino
Estructuras de control
– If, If else
1) File –> Examples –> Control —> If Statement Conditional
https://www.arduino.cc/en/Tutorial/ifStatementConditional
https://www.arduino.cc/en/Reference/If

Fritzing: programa para prototipado de circuitos
http://fritzing.org/home/

Ejercicio para la próxima clase:
Investigar sobre un sensor elegido y trabajar en una aplicación a partir de este.

C8

Operadores aritméticos y de comparación
https://www.arduino.cc/en/Reference/HomePage

Switch case
1) File –> Examples –> Control —> Switch Case
https://www.arduino.cc/en/Reference/SwitchCase
Modificación desarrollada en clases para encender 5 leds

Edge detection: detectar y contar las veces que se apreta un tact switch
2) File –> Examples –> Digital –> State Change Detection
https://www.arduino.cc/en/Tutorial/StateChangeDetection?from=Tutorial.ButtonStateChange

Librería New Ping para ultrasónicos
3) File –> Examples –> New Ping –> New Ping Example
(pueden revisar los otros ejemplos que aparecen en New Ping)
*Estos ejemplos aparecen una vez que se instala la librería New Ping correctamente. Al instalar, hay que reiniciar Arduino.

Ejercicio para la próxima semana:
Desarrollar un ejercicio de aplicación para el sensor ultrasónico HC-SR04.
Más información:
http://playground.arduino.cc/Code/NewPing
Del libro de sensores de Ch. Platt: pág. 33

C9

Motores y arduino

DC
https://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors/arduino-code

Servo
https://www.arduino.cc/en/Reference/Servo

Stepper / Paso a paso
https://www.arduino.cc/en/Reference/Stepper
Easy Driver para motor paso a paso
https://www.sparkfun.com/products/12779

Arduino Motor Shield
https://store.arduino.cc/usa/arduino-motor-shield-rev3

Solenoide
https://playground.arduino.cc/Learning/SolenoidTutorial
http://www.mcielectronics.cl/en_US/shop/product/solenoide-5v-pequeno-10645?search=solenoide

Apéndice
Sensores por Jeff Federsen y Tom Igoe
Videos sensores
Videos transistores, motores y releays