MAM 2022: Aplicaciones Tecnológicas I

Objetivos de la clase:
El curso está organizado para nivelar a los estudiantes con los conceptos y destrezas básicas para la inclusión de recursos electrónicos y digitales (microcontrolador) en proyectos creativos.

Metodología:
Las sesiones son mayormente de carácter práctico a partir de la exploración, a través de ejercicios guiados, de herramientas y componentes electrónicos, así como también del uso de microcontroladores compatibles con Arduino.
Al finalizar el curso, cada estudiante deberá haber realizado una serie de ejercicios a partir de los conocimientos adquiridos durante las clases. Este proceso, regitrado en una bitácora en línea dará lugar a una evaluación coeficiente uno.

Bitácora
Cada estudiante deberá llevar una bitácora en donde anotará de forma sostenida los procesos que emerjan a partir de los contenidos del curso. La idea es incluir, anotaciones reflexivas acerca del proceso o de posibles proyectos, anotaciones técnicas acerca del circuito o sistema que se esté desarrollando, referencias artísticas o de otro tipo que puedan aportar o tengan relación con el desarrollo de proyectos y ejercicios que se desarrollen en la clase.
Se sugiere usar Google drive en vinculación con youtube/vimeo, soundcloud, flickr u otras plataformas de publicación de contenido.

Materiales:
Cada estudiante deberá contar con los materiales y herramientas enviados para cada sesión.

Dónde comprar los componentes y herramientas
Lo marcado con asteriscos** son tiendas que están haciendo reparto a domicilio durante la contingencia COVID.
http://www.victronics.cl/**
http://www.olimex.cl/**
http://www.casaroyal.cl/**
— Digitel Electrónica: San Antonio 32 (subterráneo), Stgo. Centro. F: 226324511
– Ibarra: Calle San Diego 928 Santiago – Santiago, Chile, F: 2 672 39 63 / 2 672 94 05
– Electrónica Orfali: San Diego 955, Santiago, F: 2 698 83 76-
https://cl.rsdelivers.com/**
– AFEL: https://afel.cl**
http://cm2.cl/**
https://electronicahobby.cl/**
https://maxelectronica.cl/**
https://tectronix.cl/**

Bibliografía y web de referencia
www.arduino.cc
Libro Arduino Starter Kit
Libro Getting started with Arduino
Libro Smil Vaclav-Energy

Documentos de apoyo
Electricidad Intro: Pdf
Herramientas: Pdf

Tabla de ejercicios prácticos a desarrollar en cada clase
https://docs.google.com/spreadsheets/d/1TYin6G1jFwluIOKyYqQgcEKi7vCttCqpfoQLiZxXq2c/edit?usp=sharing

Links bitácoras
https://docs.google.com/document/d/1XmmaCjs2HxTE8WkG538fw_JmoWxPKCKHm_tweeM7FmI/edit?usp=sharing

Sitio web proyectos personales prof.
www.etab.cl


C1 – 31/5/2022

Pdfs de apoyo:
Electricidad Intro: Pdf
Herramientas: Pdf

Conceptos introductorios
. energía, transducción, electricidad, circuito, hif-i, low-fi

PhCompDiagram

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.

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 BanziDavid CuartiellesTom IgoeGianluca 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.

Links de instalación y proyecto Arduino
Sitio oficial Arduino: http://arduino.cc
IDE Arduino online: https://create.arduino.cc/editor

C2

Conceptos ejercicio #1
. Electrónica: led, resistencia, jumper wire, protoboard, placa arduino.
. Lenguaje Arduino: comentario, función, parámetros, digitalWrite, HIGH, LOW, delay, pinMode, LED_BUILTIN (corresponde a pin Digital 13)

Ejercicio desarrollado en clases:
Hello World / Hola mundo
1) File –> Examples –> Basics —> Blink
Referencia en línea: https://www.arduino.cc/en/Tutorial/Blink


If
La instrucción if () es la más básica de todas las estructuras de control de programación. Permite hacer que algo suceda o no, dependiendo de si una condición dada es verdadera o no. Se parece a esto:

if (unaCondición) {
   // ejecuta algo, si la condición es verdadera
}

Existe también una variación común llamada if-else que se ve así:

if (unaCondición) {
   // ejecuta algo, si la condición es verdadera
} else {
   // ejecuta algo, si la condición es falsa
}

También existe una tercera instrucción: else-if, con la que se puede verificar una segunda condición si la primera es falsa:

if (unaCondición) { 
// ejecuta algo, si la condición es verdadera 
} else if (otraCondición) { 
// ejecuta algo, sólo si la pimera condición es falsa
// y la segunda condición es verdadera
}

Operadores
https://www.arduino.cc/reference/en/#structure
En la programación Arduino, los operadores se utilizan para realizar operaciones como asignación, lógica, incremental, etc. El conocimiento de estos operadores es importante para realizar el cálculo matemático y lógico en Arduino. Básicamente, un operador es responsable de operar con datos. Por ejemplo, si tenemos que realizar la suma de dos números, usaremos el operador de suma, ya que es responsable de realizar la operación de suma en los datos. En la programación de Arduino, todos estos operadores se agrupan en cinco categorías diferentes según sus operaciones

. Arithmetic Operators / Operadores aritméticos
. Comparison Operators / Operadores de comparación o Comparadores
. Boolean Operators / Operadores booleanos

. Compound Operators / Operadores compuestos
. Bitwise Operators / Operadores bitwise (bit a bit)


Ejercicio a desarrollar en casa:
A partir del circuito desarrollado en clases (Spaceship Interface, pg.33), desarrollar un botón DYI (“Hazlo tú mismx”) a partir de materiales conductivos, recordando cuál es el fundamento o principio de un pulsador o push button.
El objetivo de este ejercicio es el de explorar las características de un botón, proponer un objeto (sensor, pulsador, compuerta eléctrica) que sirva como compuerta para el circuito eléctrico, tomando el lugar del pulsador original.
Por otra parte, desarrollar una interfaz propia, obliga a ejercitar la observación y creación del objeto tecnológico.xRef. pulsadores, interruptores: https://youtu.be/eN-Itoia-Hk




C3

Referente
Tristan Perich en el Museo de Arte Contemporáneo de la Universidad de Chile

Texto curatorial
Compositor y matemático Tristan Perich (Estados Unidos, 1982), es considerado uno de los artistas sonoros más innovadores de la actualidad, según el Museo de Arte Moderno de Nueva York (MOMA)

Esta muestra reúne tres piezas que dan cuenta de distintas interfaces entre tecnologías análogas y digitales. Con elogiosas críticas del New York Press y el Wall Street Journal, el primer caso corresponde a 1-Bit Symphony (2010) composición electrónica en cinco movimientos desarrollada mediante programación y circuito integrado. Aunque se aloja en un CD, no se trata de una grabación en el sentido tradicional, sino de una activación en tiempo real del código desarrollado por el artista. La obra requiere de la intervención del público que podrá escucharla con audífonos cada vez que la encienda.

El segundo caso corresponde a 0.01s. La primera centésima de segundo de 1 – Bit Symphony (2014), un libro de 695 páginas, que evidencia la programación oculta que da vida la composición orquestal.

La tercera pieza corresponde a Machine Wall Drawing 2015-03-19 7:00PM to 2015-04-24 7:00PM, dibujo sobre muro ejecutado aleatoriamente por una máquina, cuya acción que no se detendrá mientras dure la muestra.

Las tres piezas conviven en un mismo espacio, en una instalación que parte de la poética del código para tomar curso hacia la visualidad, la música y la objetualidad.

La muestra forma parte del programa Cruces Sonoros. Residencias Colaborativas desarrollado por Anilla Cultural MAC con el aporte de FONDART 2014 y será exhibida hasta el 24 de mayo de 2015.

MAC Parque Forestal
Santiago 2015

Sitio personal del artista: http://www.tristanperich.com/
Canal de Vimeo del artista: https://vimeo.com/tristanperich/videos/page:2/sort:date

*********Ejemplo desarrollado en clases: Fading***********

Material de apoyo ciclo for: http://etab.cl/clases/uchile/obj-tec/pdfs/clase_ciclo-for_processing.pdf

analogWrite() y Pulse Width Modulation (PWM) o Modulación por ancho de pulso:

El ejemplo “Fading” del programa Arduino demuestra el uso de salida analógica (PWM) para atenuar un LED. Está disponible en el menú Archivo-> Sketchbook-> Ejemplos-> Analógico del software Arduino.

La modulación de ancho de pulso, o PWM, es una técnica para obtener resultados analógicos con medios digitales. El control digital se utiliza para crear una onda cuadrada, una señal que se activa y desactiva. Este patrón de encendido y apagado puede simular voltajes entre encendido total (5 voltios) y apagado (0 voltios) al cambiar la parte del tiempo que la señal permanece encendida frente al tiempo que pasa la señal apagada. La duración del tiempo en modo encendido, se denomina ancho de pulso. Para obtener valores analógicos variables, se debe cambiar o modular ese ancho de pulso. Si repite este patrón de encendido y apagado lo suficientemente rápido con un LED, por ejemplo, el resultado es como si la señal fuera un voltaje constante entre 0 y 5v controlando el brillo del LED.

En el gráfico siguiente, las líneas verdes representan un período de tiempo regular. Esta duración o período es el inverso de la frecuencia PWM. En otras palabras, con la frecuencia PWM de Arduino a aproximadamente 500Hz, las líneas verdes medirían 2 milisegundos cada una. Una llamada a analogWrite () está en una escala de 0 a 255, de modo que analogWrite (255) solicita un ciclo de trabajo del 100% (siempre encendido), y analogWrite (127) es un ciclo de trabajo del 50% (en la mitad del tiempo) por ejemplo.

+ v/s +=
+ es un operador aritmético.
+= es una abreviación a partir de la combinación de un operador aritmético (+) con uno de asignación (=) que es usada solamente si es que hay una variable común a la izquierda y derecha del signo igual.

Por ejemplo:
int x = 1;
x += 5 // Esto es equivalente a x = x + 5
El resultado de esto es 6

Si decimos lo siguiente:
x+5, no estamos dando al instrucción de asignar el valor a la variable. Por esto en un ciclo for habrá que incluir el (=) en la actualización final:

for (int i=20; i<400; i+=60){
line(i, 40, i+60, 80);
}
// lo destacado en negrita entonces, no es lo mismo que i+60, ya que con esta expresión.

1024 v/s 256
Los pines analógicos (analogRead) manejan valores que van de 0 a 1023, es decir 1024 valores.
Los pines digitales (analogWrite) manejan valores que van de 0 a 255, es decir 256 valores.

Esto es porque los computadores trabajan en base al código binario (0 y 1), con un esquema de numeración de base dos, que quiere decir que se compone de dos dígitos que luego se van combinando (lo que usamos de manera cotidiana es base 10, es decir números 0 a 9).



Entendiéndolo desde la lógica de Arduino y no olvidando que opera en base 2, podríamos traducir los números 1 y 0 de la siguiente manera:

1 = High / On / Encendido
0 = Low / Off /Apagado

El que se ocupe base 2 para operar los computadores, tiene que ver entonces con su construcción en base a transistores que básicamente son interruptores que sólo tienen dos estados: encendido o apagado; es decir un estado que deja pasar la corriente y otro que no.
La vinculación entre el Hardware y Software de los computadores o de los microcontroladores (circuito integrado programable), se da a través de la analogía entre esos transistores que operan en los dos estados mencionados anteriormente y la unidad mínima de información se llama bit. Esta puede ser 0 o 1.
De esta manera, podemos “hablar” con la máquina física a partir de un código que se adapta a sus restricción de sólo dos estados.
Los microcontroladores tienen dentro un registro (shift register) compuesto por flip-flops o biestable (que a su vez se componen de transistores), por lo que la combinación de estados de estos, es lo que los habilita para conseguir resultados más complejos que sólo un encendido y un apagado.
Esto se manifiesta en la capacidad de bits de operación de una máquina (Arduino opera con un microcontrolador Atmega328 de 8bits y un Conversor analógico-digital / Analog to digital converter (ADC) de 10 bits).

Es por esto que cuando se usa, por ejemplo, un potenciómetro conectado a A0, esta señal eléctrica pasa por el ADC que se traduce a 1024 valores (10 bits); y por otro lado, un led conectado a D9 puede variar su brillo en valores que van de 0 a 255 (256 valores / 8bits).
Por lo tanto, para ajustar esos 1024 valores de entrada (resultantes de girar el potenciómetro) a los 256 de salida (variaciones de brillo de led), dividimos por 4 en el código, como en este ejemplo:

sensorValue = analogRead(pote)/4;
analogWrite(led, sensorValue);

Referencias:
Atmega328
Microcontrolador
Flip flop o biestable
Shift register
Registro
Bit
8 bits
Arduino 8bits and 10bits .

C4


*********Ejemplo desarrollado en clases: Analog Read Serial*********


Código revisado en clases: map(), constrain()

**************************************************************
Ejercicio para desarrollar en casa: pgs.:42 a 51
Datasheet / Hoja de datos sensor de temperatura TMP36: https://www.arduino.cc/en/uploads/Main/TemperatureSensor.pdf

Componentes: Led, resistencia 220, sensor de temperatura TMP36, potenciómetro.

Código: monitor serial, Serial.begin, Serial.print, Serial.println, ciclo for, operadores, if, else if, += v/s +
**************************************************************

Referente visto en esta clase:
Peter Vogel
The Sound of Shadows website: http://vogelexhibition.weebly.com/
The Sound of Shadows video: https://vimeo.com/59829961
Página personal: http://www.petervogel-objekte.de

https://vimeo.com/59829961


C5

Sensores: pdf
Desarrollo autónomo de ejercicios propuestos: https://docs.google.com/spreadsheets/d/1TYin6G1jFwluIOKyYqQgcEKi7vCttCqpfoQLiZxXq2c/edit?usp=sharing

C6 y C7

Multitasking en Arduino: https://learn.adafruit.com/multi-tasking-the-arduino-part-1/using-millis-for-timing

Desarrollo autónomo de ejercicios propuestos: https://docs.google.com/spreadsheets/d/1TYin6G1jFwluIOKyYqQgcEKi7vCttCqpfoQLiZxXq2c/edit?usp=sharing

Referencia Fundamentos Arduino:
https://www.arduino.cc/en/Tutorial/Foundations

https://amormunoz.net/2019/11/13/maquila-region-4/

Sandra de Berducci – Aruma: https://sandradeberduccy.com


.

Evaluación final

La evaluación final para este curso se hará a partir de la revisión de las bitácoras personales de cada estudiante (proceso). Estas deberán contener una detallada y organizada documentación de los ejercicios llevados en clase según lo establecido más abajo en “Características de contenidos”.

1) Características de contenidos:
Documentación fotográfica, audiovisual y/o sonora de los ejercicios desarrollados en clase y en casa.
Referentes artísticos o de otro tipo en formato escrito, fotográfico y/o con links que lleven a contenido en línea. Al citar referentes es importante considerar anotaciones que dejen ver cuál es el interés por la referencia en particular, así como también qué vinculaciones se pueden hacer con el propio trabajo.
Escritos de distinta extensión que manifiesten los procesos seguidos, aspectos formales y conceptuales que puedan emerger de los ejercicios (por muy iniciales que sean).
– Documentación en detalle del ejercicio final.

2) Se evaluará lo siguiente:
– Calidad y organización del contenido según lo establecido en el punto (1) : 1.5 pts.
– Cantidad del contenido según lo establecido en el punto (1): 1.5 pts.
– Ejercicio final según la calidad y cantidad documentada de este proceso en particular 3 pts.
– +1 pt base

– Además, se evaluará separadamente la bitácora

3) Fecha de entrega:
Por definir



Lista de referentes artísticos

Tristan Perich
1bit Music: 1 bit Music
1bit Symphony: http://www.1bitsymphony.com/
1bit Symphony video: https://vimeo.com/12244413
Breathing Potraits: https://vimeo.com/15259734
Microtonal Wall: http://tristanperich.com/#Artwork/Microtonal_Wall
Microtonal Wall: https://vimeo.com/45225412
Interval Studies: https://vimeo.com/9218458

Peter Vogel
The Sound of Shadows website: http://vogelexhibition.weebly.com/
The Sound of Shadows video: https://vimeo.com/59829961
Página personal: http://www.petervogel-objekte.de

Christina Kubisch
https://vimeo.com/54846163

Zimoun
http://www.zimoun.net/2013-329.html
http://www.zimoun.net/2014-20.html
http://www.zimoun.net/2009-25.html

Otros/as
Joseph Beuys: Capri Battery
Walter de Maria: Lightning Field
Golan Levin
Daniel Rozin
Lev Manovich
Manovich Lev, El lenguaje de los nuevos medios de comunicación (The Language of New Media)
Real Snail Mail Project
Jie Qi
Bare Conductive
Makey Makey
High-Low Tech Lab
Botanicalls
Bitforms Gallery
Yuri Suzuki
Exposición Talk to Me – MOMA
Nicole L’Hullier
Sofía Balbontín
Amor Muñoz
Makey Makey
Bare Conductive Board