1. Toma de contacto
En esta primera parte se realizará una introducción teórico práctica a Arduino y a los vestibles, asentando las bases sobre las que se apoyarán los siguientes bloques del taller.
- Comenzamos: Microcontroladores
- Os presento al Arduino Nano 33 IoT
- Práctica 1.1: Descargar la IDE de Arduino y encender un LED
- Entender el código para encender el LED
- ¿Qué es un vestible?
- Vestibles 1 : algunos ejemplos dentro del arte y el diseño
- Vestibles 2: algunos ejemplos dentro de la educación
- Práctica 1.2: un vestible ideal
Comenzamos: Microcontroladores
¿Qué es un microcontrolador?
Un microcontrolador es un "microordenador" en un chip. Tiene una CPU, RAM (memoria de acceso aleatorio), registros de funciones especiales, memoria ROM de programa, memoria ROM de datos, de uno a varios puertos paralelos de E/S (entrada/salida), y puede tener una gran cantidad de periféricos en el chip que incluyen, pero no se limitan, a un convertidor analógico-digital (ADC), un convertidor digital-analógico (DAC), una UART serie, uno o varios temporizadores, comparadores/referencia de tensión en el chip, módulo de captura/comparación/PWM (Pulse Width Modulation), puerto serie síncrono maestro para comunicaciones SPI (Serial Peripheral Interface)/I2C (Inter Integrated Circuit), puerto USB, puerto ethernet, osciladores en el chip, junto con una serie de otros periféricos.
Todo esto nos puede parecer farragoso en un primer momento, pero si lo vemos con imágenes, aplicado a un ejemplo de Arduino en concreto y os lo voy comentando, lo vamos a acabar entendiendo perfectamente.
Espera un segundo, pero
¿Arduino es un microcontrolador?
Aunque utilicemos Arduino y microcontrolador como sinónimos, Arduino en realidad es una plataforma de desarrollo que entre otros componentes, contiene un microcontrolador. Junto a este microcontrolador encontraremos una serie de entradas y salidas que nos permitirán añadir interactividad a nuestros proyectos, empleando los sensores y actuadores que hemos mencionado en la página del kit.
El nacimiento y propósito de los Arduinos
Aquí no vamos a hablar de quiénes o cuándo crearon Arduino, ya que eso lo podemos encontrar fácilmente en este enlace (el cual os aconsejo leer) En cambio, sí que vamos a hablar del propósito inicial con el que fue creado: facilitar la comunicación entre un microcontrolador y otros dispositivos. De esta manera, es sencillo incentivar el desarrollo de procesos creativos y el diseño de proyectos tanto a personas de una edad temprana, como a aquellas que sin tener conocimientos amplios de informática o electrónica quieran embarcarse a experimentar con proyectos interactivos.
El formato de Arduino hace posible que podamos adentrarnos en la electrónica sin sentirnos abrumados con información demasiado técnica. Bueno, a continuación, paso a mostraros la imagen de una placa Arduino:
Como podemos ver, la placa Arduino cuenta con muchos componentes dentro de su tarjeta, algunos de los cuales ya hemos mencionado en la cita que abre esta página. No voy a entrar a explicar cada uno de ellos, pero sí los más importantes, los que nos ayudarán a entender cómo funciona un microcontrolador y para qué (y para qué no) lo podemos utilizar.
Un buen símil para un Arduino es el de una caja negra. ¿Por qué? Porque no vamos a necesitar conocer el funcionamiento de cada parte para poder utilizarlo. Lo que es importante conocer es que cuenta con componentes que son de entrada, otros procesan la información y otros son de salida.
____________ ____________ __________
| ENTRADA |-->| PROCESO |-->| SALIDA |
A continuación, veremos cuáles son los componentes de entrada, procesamiento y salida sin perder de vista la definición del comienzo de la página.
Partes que debemos conocer
Uno de los primeros componentes mencionados es el propio microcontrolador. Y es que, el Arduino en sí ya hemos dicho que no es un microcontrolador, sino una placa de desarrollo. El microcontrolador del Arduino es este:
Se llama ATMEGA 328P y es el que tiene el modelo de placa Arduino que estamos viendo en este apartado: el Arduino UNO. Pero claro, existen otros tipos de Arduinos, los cuales cuentan con otros microcontroladores. Cuando lleguemos al apartado en el que os presente el Arduino que utilizaremos en este curso, veréis que el microcontrolador que utiliza es otro y tiene otro aspecto.
Para profundizar sobre el ATMEGA328P podéis encontrar más información aquí.
Este microcontrolador, como podéis ver, cuenta con una serie de 'patitas' llamadas pines. (Esta palabra es una de las importantes y la cual vamos a leer en bastantes ocasiones a lo largo de estas páginas). Estos pines son los que nos van a permitir programar, recibir y enviar la información. Para poder acceder al microcontrolador Arduino nos facilita las cosas con una serie de pines de entrada y salida que encontramos en la imagen siguiente:
Como podéis comprobar, esos pines se encuentran a ambos lados del ATMEGA 328P, aunque visualmente no parezcan directamente en contacto. Ya veremos qué cables y cómo los tenemos que conectar más adelante... Por el momento, nos quedaremos con que esos pines serán los que tendremos que utilizar para conectar los sensores y actuadores.
También veremos que algunas de estas entradas son digitales y otras analógicas, pero de eso nos ocuparemos más adelante...
Por tanto, nuestro ATMEGA 328P cuenta con una CPU, RAM (memoria de acceso aleatorio), registros de funciones especiales, memoria ROM de programa, memoria ROM de datos, puertos paralelos de E/S (entrada/salida), etc. Para el tipo de proyecto que vamos a construir, no es necesario preocuparse sobre la ROM ni sobre la RAM, ya que no vamos a escribir programas excesivamente extensos (quizás en el futuro... ). Los componentes que se mencionan en la definición que abre esta página y que sí vamos a necesitar conocer son otros como por ejemplo el puerto USB.
En el Arduino UNO, el puerto USB se encuentra aquí:
Y el cable que necesitaremos es este, se llama AB USB:
Con él, conectaremos nuestro Arduino al ordenador y seremos capaces de programarlo y también de proporcionarle el voltaje necesario para alimentarlo a él y a los sensores que conectemos a él.
Tendremos que tener cuidado con qué sensores conectamos, porque algunos de ellos necesitarán más alimentación que la que proporcionamos a nuestro Arduino a través del USB, que son 5V. Algunos sensores y actuadores funcionan a 12V o a voltajes mayores. Para este curso no será una preocupación, porque ninguno de los sensores empleados necesita alimentación extra. No obstante, tendremos que tenerlo en cuenta si en el futuro queremos emplear unos sensores diferentes.
Aparte de mediante el puerto USB, es posible alimentar nuestro Arduino UNO utilizando una pila de 9V y un adaptador o un cargador conectado a la corriente con un voltaje de 7 a 12V como máximo.
Para saber más sobre las maneras de alimentar nuestro Arduino, puede ser útil este artículo.
El lugar al que conectaremos nuestra pila o adaptador es este:
Como puedes comprobar, no se han explicado todas las partes que conforman el Arduino UNO. Esto es, porque para los propósitos de este curso no va a ser necesario conocer esta placa en profundidad, sino entender qué función realizan las partes que vamos a utilizar y hacernos una idea general sobre las partes que comparten la mayoría de los Arduinos.
En este curso no vamos a utlizar un Arduino UNO, por lo que más adelante veremos las partes que componen el Arduino que emplearemos, y observaremos cómo la mayor parte de ellas son comunes, aunque nuestro Arduino posee alguna función que no encontramos en el Arduino UNO que acabamos de ver.
FUENTES:
Definición de microcontrolador: https://www.microcontrollertips.com/a-beginners-guide-to-microcontrollers-faq/ [Consultada el 9 de junio de 2022]
Partes del Arduino: https://arduino.cl/principales-partes-de-un-arduino/ [Consultada el 9 de junio de 2022]
Imagen ATMEGA328: By oomlout - Flickr: ATMEGA328 - IC-ATM328-01, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=23315198
Imagen AB USB: https://www.arduino.cc/en/Guide/ArduinoUno
Fuentes de alimentación para Arduino: https://www.geekfactory.mx/tutoriales-arduino/alimentar-el-arduino-la-guia-definitiva/
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Os presento al Arduino Nano 33 IoT
Como podéis comprobar en la imagen superior, nuestro Arduino Nano 33 IoT tiene un tamaño bastante más reducido que el Arduino UNO que hemos visto hasta ahora. Este reducido tamaño nos va a permitir incluirlo en nuestros proyectos, ya que al ser proyectos vestibles nos interesa poder ocultarlos con facilidad y que no se vean demasiado.
De todas formas, si no hemos visto nunca un Arduino UNO, no podemos imaginarnos fácilmente el tamaño real de estos controladores. Nos queda claro que el Arduino 33 IoT es más pequeño que el UNO, pero una imagen que nos va a ayudar a hacernos una idea más aproximada al tamaño real de nuestro Arduino es la siguiente:
Un beneficio que presenta el 33 IoT sobre el UNO, es que se vende con los pines sin soldar. ¿Y eso qué significa? ¿Y qué eran los pines? Podemos volver a la página anterior para verlo, pero también os voy a poner una foto de cómo son los conectores (pin headers) que en este Arduino no nos vienen soldados de manera predeterminada:
Esos conectores (las dos tiras que aparecen en la parte superior) son los que nos permitirán conectar nuestro Arduino a diferentes sensores y actuadores, pero lo bueno que tiene nuestro 33 IoT es que al venir los pines sin soldar, podemos utilizar los circulitos dorados para coser directamente los sensores, eso sí, con hilo conductor.
Si soldásemos los conectores a los pines, nuestro Arduino tendría el siguiente aspecto:
¿Qué diferencia hay entre uno y otro? Pues aparte de que con los pines sin soldar, podemos coser cosas a nuestro Arduino y dado el momento podemos elegir qué tipo de conectores soldar (no, no hay solamente de un tipo), los beneficios terminarían aquí. Por otra parte, tener los pines soldados nos aporta algún beneficio más, por ejemplo el poder realizar conexiones con cables de testeo (jumper wires) y una placa de prototipado (bread board). De esta manera hacer y deshacer un circuito se convierte en algo muy rápido y sencillo.
En este curso no vamos a soldar los conectores a los pines, así que no nos preocuparemos más sobre ellos.
Partes que debemos conocer
Existen ciertas partes de nuestro Arduino que vamos a tener que conocer, mientras que otras no va a ser imprescindible conocerlas.
Al igual que ya vimos con el UNO, la parte principal es el microcontrolador. En este caso, el procesador principal es el SAMD21 Arm® Cortex®-M0 de bajo consumo. Lo que nos permite este microcontrolador es que nuestro Arduino pueda funcionar a 3.3V en lugar de a los 5V que funciona el Arduino UNO. Y eso, ¿por qué es importante? En nuestro caso, que vamos a hacer un proyecto vestible, es bastante importante a la hora de alimentar nuestro proyecto. La mayoría de las baterías funcionan a 3.3V, por ejemplo las baterías Li-Po o las pilas de botón.
Haz clic sobre el nombre para saber más sobre baterías Lipo y Pilas de botón
La fuente de alimentación que recomiendo para nuestros proyectos y el 33IoT es una batería externa (power bank) del mismo tipo que se utilizan para cargar los móviles, pero eso ya lo veremos más adelante.
En la siguiente imagen se muestra el microcontrolador de nuestro 33IoT:
Este microcontrolador nos proporciona 8 entradas analógicas, las cuales podemos ver en la siguiente imagen numeradas del 0 al 7 (A0...A7).
En el otro lado, encontramos 10 pines digitales de entrada/salida (D2...D12):
Otros pines importantes que vamos a necesitar para nuestros proyectos son el que pone 3.3V y cualquiera de los dos en los que pone GND. Te será fácil localizarlos.
Si volvemos a darle la vuelta a nuestro Arduino nos vamos a encontrar algo que ya hemos visto en el UNO, el puerto USB para conectarlo a nuestro ordenador y poder programarlo. En el caso del 22 IoT el puerto USB es un microUSB, lo que nos permitirá fácilmente conectarlo a una power bank cuando llegue el momento.
Es importante manejar con cuidado el puerto USB al conectar y desconectar el cable, ya que al sobresalir puede dañarse. Si se daña, no será posible programar nuestro Arduino.
Otro componente importante de nuesto Arduino es el botón de reinicio (reset). Este se encuentra muy cerca del microUSB.
Si todo va bien, no lo necesitaremos; pero si nuestro programa no responde, tendremos que pulsarlo para reiniciarlo.
Los dos siguientes componentes son los que nos van a permitir conectar nuestro Arduino a Internet y el primero de ellos es el que también nos proporcionará Bluetooth®. Este primero es el módulo NINA-W102 (marcado en la imagen siguiente con un cuadrado azul). El NINA-W102 nos va a permitir establecer una conexión con internet haciendo uso del segundo componente: la antena. Si miramos en la imagen siguiente, es el componente plateado que está colocado justo a la derecha del NINA-W102:
Es importante manejar con cuidado la antena, ya que al sobresalir puede dañarse con facilidad. Si se daña, no será posible conectar nuestro Arduino a Internet.
Otro componente importante en nuestro 33IoT es el IMU: Inertial Measurement Unit o lo que es lo mismo, la suma de un acelerómetro y de un giroscopio. El nombre de ese componente es LSM6DS3. Una de las cosas que podemos conseguir con él es medir la posición relativa de la placa. Esto se logrará utilizando los valores de los ejes del acelerómetro y posteriormente imprimir los valores de retorno a través del Monitor Serial de Arduino IDE, pero ya lo veremos más adelante con un ejemplo práctico.
Hasta aquí nuestra introducción a los componentes que vamos a necesitar conocer de nuestro Arduino antes de comenzar a programarlo, así que... una vez leído esto, podemos pasar a la acción.
FUENTES:
Arduino Noano 33IoT: https://lab.bricogeek.com/tutorial/guia-de-modelos-arduino-y-sus-caracteristicas/arduino-nano-33-iot
Componentes Arduino Nano 33 IoT: https://antonio2709839759912.wordpress.com/2021/11/27/arduino-nano-33-iot/
Batería LiPo: https://vermabaterias.com/baterias-lipo-que-son/
Pilas de botón: https://es.wikipedia.org/wiki/Pila_de_bot%C3%B3n
IMU: https://docs.arduino.cc/tutorials/nano-33-iot/imu-accelerometer
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Práctica 1.1: Descargar la IDE de Arduino y encender un LED
Esta práctica es obligatoria, ya que realizándola nos aseguramos poder continuar el taller correctamente. Para su entrega, se especificarán los detalles en Moodle.
Y es que después de la teoría tenía que llegar la práctica. Ahora que ya conocemos las partes de nuestro 33IoT, es el momento de ver qué podemos hacer con él, comenzando por lo más sencillo: encender un LED.
Para evitar tener que realizar conexiones, vamos a encender el LED con el que cuenta nuestra placa. A este LED se le conoce con el nombre LED_BUILTIN, y esa es exactamente (no vale cambiar las mayúsculas por minúsculas, añadir espacios o escribir los guiones mal) la palabra que utilzaremos para encenderlo y apagarlo.
Instalar la IDE de Arduino
Lo primero que tenemos que hacer es instalar la IDE (Entorno de Desarrollo Integrado) de Arduino en nuestro ordenador. Dependiendo del sistema operativo que empleemos, tendremos que seguir unas instrucciones u otras.
A continuación te dejo los enlaces para instalarlo tanto en Windows, Linux o Mac.
Arduino IDE Linux
Arduino IDE macOS
Arduino IDE Windows
La descarga e instalación nos puede llevar de 5 a 20 minutos, dependiendo de la velocidad de nuestra conexión a internet y del sistema operativo que tengamos, ya que el procedimiento varía notablemente de uno a otro.
En este curso, recomendamos instalar la IDE de Arduino en vuestro ordenador, aunque si durante la instalación tuviéseis muchos problemas (que no suele ser común, aunque puede suceder si, por ejemplo el ordenador que utilizáis tiene un sistema operativo muy antiguo) podrías utilizar la versión online. Para ello es necesario crear una cuenta en la web de Arduino y seguir los siguientes pasos.
Abrimos la aplicación
Una vez hayamos instalado la IDE, estaremos listos para abrirla y nos encontraremos con algo muy similar a esto:
A través de esta aplicación programaremos nuestro Arduino. Lo primero que vamos a hacer es ver qué podemos hacer con algunos de los botones que utilizaremos con más frecuencia. Comenzaremos de arriba a abajo y de izquierda a derecha.
Se recomienda abrir la aplicación para poder ir viendo cada botón conforme se explica su función.
- Símbolo tick (Verificar): con él, comprobaremos que el código que queremos subir a nuestro Arduino no contiene fallos sintácticos. ¿Dónde nos comunicará la aplicación si nuestro código tiene fallos o no? Lo veremos en el rectángulo negro de la parte inferior. Esa parte se denomina consola. ¿Siempre que nuestro código pase satisfactoriamente el paso de verifiación nos aseguramos de que funciona correctamente? Pues, desafortunadamente no. Esta verificación nos asegura que no existen fallos sintácticos: palabras mal escritas, expresiones incorrectas... pero no nos asegura que la lógica de nuestro programa sea la correcta.
- Flecha a la derecha (Cargar): una vez nos hayamos asegurado de que nuestro código es correcto sintácticamente, al darle a la flecha, comenzaremos a cargarlo en nuestra placa Arduino.
- Hoja de papel (Nuevo): este botón abre una pestaña nueva para que podamos escribir código. No la utilizaremos en este taller.
- Flecha arriba (Abrir): nos permite abrir un archivo (sketch) existente.
- Flecha abajo (Guardar): permite guardar el archivo en el que estamos trabajando actualmente.
- Lupa (monitor serial): abre una ventana que nos permite ver la información serie que la placa transmite. Es muy útil para encontrar fallos en el código y ver si el programa y la placa Arduino funcionan correctamente. Lo veremos con más detalle en las partes prácticas del taller.
- Nombre del sketch: en esta pestaña encontraremos el nombre de nuestro sketch. Por defecto será algo similar a sketch_fecha
- Área de escritura: en esta zona escribiremos nuestro programa.
- Área de mensajes: en esta parte, el IDE nos indicará si existen errores en el código.
- Consola de texto: la consola nos mostrará los mensajes de error completos, es muy útil a la hora de depurar nuestro código.
- Placa y puerto serie: se muestra el nombre de la placa (Arduino) que tenemos conectada (o la última que hemos conectado, si no hay ninguna conectada) y el puerto al que está conectada.
Aparte de estas herramientas, contamos con una barra de herramientas en la parte superior (Arduino, Archivo, Editar...). El aspecto de esta barra de herramientas puede variar ligeramente de un sistema operativo a otro, pero las funciones serán las mismas. Algunas de ellas las veremos a continuación.
Cuando Arduino IDE se instala por primera vez en un equipo, crea en el mismo una carpeta llamada Arduino donde almacenará las bibliotecas y otras utilidades que necesita, y donde colocará nuestros proyectos si nosotras no le indicamos lo contrario. Para saber en nuestro equipo dónde ha colocado esa carpeta, podemos verlo desde el menú Archivo/Preferencias.
Por supuesto podemos modificar la ubicación de esta carpeta desde aquí, cambiar el idioma, así como algunas otras opciones que pueden ser interesantes para la accesibilidad de la herramienta como el tamaño de letra o el tema a utilizar. Para más opciones sobre cómo configurar la accesibilidad de arduino por ejemplo para personas con deficiencia visual consulta aquí.
Conectamos nuestro 33 IoT al ordenador
Llegadas a este punto, estamos listas para conectar nuestro Arduino al ordenador. Para ello, necesitaremos nuestro cable USB-microUSB.
Una vez hayamos conectado un extremo a nuestro Arduino y el otro al puerto USB de nuestro ordenador, tendremos que ayudar a la IDE a que reconozca a nuestro Arduino. Lo primero que veremos será un LED amarillo que se enciende y junto al que pone ON. Eso nos indica que la placa está recibiendo corriente desde nuestro ordenador.
Los usuarios de Windows (seguramente) tendrán que instalar una serie de drivers una vez se conecte el Arduino al ordenador.
Lo siguiente que tendremos que hacer es ir a la barra de herramientas superior y precisamente en Herramientas tendremos que configurar dos cosas, la placa y el puerto:
Configuramos la placa
En la imagen superior, en Placa ya nos aparece nuestro 33 IoT, pero cuando lo abras por primera vez.... no tendrás tanta suerte. Lo que tendrás que hacer es descargar lo que se conoce como SAMD core y que permitirá que nuestro ordenador reconozca la placa con la que vamos a trabajar. Como puedes comprobar, es una placa un poco especial, que requiere una serie de pasos hasta que podamos conectarla correctamente a nuestro ordenador.
Para ello, tendremos que ir a Herramientas > Placa > Gestor de tarjetas.
Una vez ahí, nos aparecerán una serie de cores que podemos instalar, pero el que nosotras necesitaremos será el Arduino SAMD Boards (32-bits ARM Cortex-MO+):
Lo podemos buscar en la barra de búsqueda de la derecha o hacer scroll hacia abajo hasta que lo encontremos. Una vez lo hayamos localizado, lo instalaremos haciendo clic en INSTALAR (en la imagen superior no se puede instalar, porque ya está instalado).
El proceso de instalación puede tardar algunos minutos, de nuevo depende de la conexión a internet y de la velocidad del ordenador desde el que estemos realizando la instalación.
Una vez lo hayamos instalado, nos aparecerá la palabra INSTALLED, como puedes ver en la imagen superior, y a continuación podremos ir a Herramientas > Placa > Arduino SAMD (32-bits ARM Cortex-MO+) Boards y seleccionar la nuestra: Arduino Nano 33 IoT.
Al seleccionarla, le estamos diciendo a nuestro Arduino "¡Hey! Prepárate, voy a conectarte un Arduino Nano 33 IoT", por lo que si al final conectásemos otro tipo de Arduino, la IDE no la reconocería y no podríamos programarla.
Si utilizamos otro tipo de Arduino, lo primero que tenemos que hacer es decírselo a Arduino seleccionando la placa correcta en Placa, como acabamos de hacer.
Configuramos el puerto
Una vez le hemos dicho la placa que vamos a conectar, nuestro IDE necesita saber en qué puerto USB la hemos conectado. Para ello, tendremos que ir a Herramientas > Puerto
Para los usuarios de Windows podría tener esta apariencia:
<COM29> (Arduino NANO 33 IoT)
Para los de MAC o Linux, la apariencia puede ser parecida a esta:
/dev/cu.usbmodem14112 (Arduino NANO 33 IoT)
Una vez hayamos seleccionado nuestra placa y puerto, pasaremos a encender el LED.
Y se hizo la luz
Para encender nuestro LED, vamos a utilizar un ejemplo de los que se nos proporcionan desde la propia IDE de Arduino.
Estos ejemplos nos pueden ser útiles para descubrir lo que podemos hacer con estas placas, por lo que os recomiendo que les echéis un vistazo.
El ejemplo que vamos a utilizar se llama Blink y nos va a venir bien para asegurarnos de que la instalación y toda la configuración se han realizado correctamente. Para abrir y subir este ejemplo a nuestro Arduino tenemos que navegar a: Archivo > Ejemplos > 01.Basics > Blink.
Una vez hagamos click, se abrirá una nueva ventana de Arduino con el código que permitirá que nuestro LED comience a parpadear. El código que veremos será el siguiente:
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Ahora, no vamos a entrar a explicar qué significa este código, eso lo haremos en la página siguiente. Lo que sí vamos a hacer es darle a la flecha a la derecha para subir ese código a nuestro 33IoT:
Y si todo ha ido bien, lo que veremos será un LED naranja, justo en el lado del microUSB en el que no está el LED amarillo, permanecer un segundo encendido, un segundo apagado.
¡Y ya lo tenemos!
Es posible que nos de algún error y que no funcione. Eso no significa que algo esté roto.
Como ya avisé en la primera página del taller, no siempre funciona todo a la primera. Si en la consola vemos algún error, tendremos que asegurarnos de que hemos seleccionado el puerto y la placa correctas y que hemos seguido todos los pasos correctamente, sin olvidar ninguno.
Ha habido casos en los que usuarios de Linux se han encontrado con un problema de permisos. Puede que el puerto esté bien seleccionado, pero que el usuario no tenga permiso para acceder al puerto. Para obtener permiso ese necesario emplear el comando: "sudo usermod -a -G dialout ". Tras reiniciar debería funcionar.
FUENTES:
Arduino Nano 33 IoT: https://docs.arduino.cc/hardware/nano-33-iot
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Entender el código para encender el LED
Como ya te comenté en la página anterior, lo que vamos a hacer ahora es entender el código que hemos utilizado para programar nuestro Arduino. El lenguaje de programación que empleamos para programar nuestro 33IoT (o cualquier otro Arduino o placa basada en Arduino que programemos con la IDE que acabamos de descargar) se llama también Arduino y está basado en el lenguaje de programación C++. Diremos que es una versión simplificada de C++.
Es importante tener ciertas nociones de inglés para poder programar Arduino, ya que al ser un lenguaje basado en C++, C++ tiene como lenguaje natural de referencia el inglés.
Para entender el código que ha iluminado nuestro LED, lo que vamos a hacer es ir viéndolo párrafo a párrafo y así, explicaremos diferentes características que necesitaremos conocer para trabajar en nuestros propios proyectos.
¿Y por qué copiamos código en lugar de escribir el nuestro?
Esta pregunta puede venirnos a la cabeza y es normal. A la hora de comenzar a trabajar con Arduino, suelen seguirse los siguientes pasos:
1. Buscar ejemplos similares a lo que queremos hacer.
2. Entender lo que hace el código y copiarlo .
3. Realizar las modificaciones necesarias para adaptarlo a nuestro proyecto.
¿Y por qué se suele hacer eso en lugar de escribir código desde cero?
Arduino se creó con la finalidad de que gente que no pertenece al mundo de la electrónica y la programación fuese capaz de programar y de realizar proyectos interactivos. Por ello, existe una amplia comunidad de creadores que comparten sus proyectos (tanto el hardware como el software) de manera libre, para que la gente pueda reutilizarlo y adaptarlo a sus necesidades. Muchos de los proyectos que queramos realizar, ya habrán sido realizados antes y además la gente que los comparte suele explicar detalladamente cómo replicarlos y por qué los han realizado de una manera determinada.
Aparte de facilitarnos el trabajo, reutilizar código nos puede enseñar funciones y características de Arduino que desconocíamos. Y por supuesto, siempre podremos decidir hacer las cosas de otra manera cuando tengamos los conocimientos suficientes. En algunas ocasiones es bueno intentar crear algo desde cero, pero en muchas ocasiones no es necesario tratar de reinventar la rueda.
¿No estamos plagiando/robando otros proyectos?
- No, los proyectos de Arduino que se comparten son de código abierto (open source) y eso significa que podemos reutilizarlos y adaptarlos a nuestras necesidades sin ningún problema.
Comencemos a entender el idioma de Arduino
Cuando programemos nuestro Arduino, tenemos que tener en mente que el código que escribamos, aparte de ser procesado por nuestro Arduino, es leído por nosotros y por cualquier otra persona que colabore en nuestro proyecto. Como ya se ha comentado, Arduino nació con la finalidad de aproximar la electrónica y la programación a cualquier persona que le interesase sin que sea necesario que tenga amplios conocimientos de programación. Por ello, el trabajo colaborativo y compartir el código es algo muy común. Para que eso se realice correctamente es necesario que nuestro código sea comprensible por nosotros y por cualquiera que pueda trabajar con nosotros en el proyecto.
Una manera de explicar y clarificar la finalidad de nuestro código es el uso de comentarios. Los comentarios son aquellas oraciones que no van destinadas a que las procese nuestro Arduino, sino que el destinatario somos nosotros mismos u otras personas. ¿Nosotros mismos? Sí. Imagina que estás trabajando en un proyecto de Arduino, pero que por alguna circunstancia tienes que dejar de trabajar en él y lo retomas un año después. Quizá después de tanto tiempo no recuerdas bien para qué habías escrito ese código... Los comentarios pueden ayudarte en esa tarea.
Échale un vistazo a este fragmento de código:
/*
Blink
Turns an LED on for one second, then off for one second, repeatedly.
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products
modified 8 May 2014
by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman
This example code is in the public domain.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
Como puedes ver, se trata de un código separado en párrafos:
Blink: Lo primero que nos encontramos es el título del proyecto.
Descripción del proyecto: Breve descripción de la finalidad del código y explicación.
Modificaciones y autores: Fechas de modificación y los autores que lo han editado. Arduino se basa en compartir y reutilizar código, por ello es necesario indicar quién ha creado ese código y quién lo ha modificado. No debemos apropiarnos del código de otra persona sin mencionarlo.
Dominio público: cualquiera puede utilizar este código con los fines que prefiera, comerciales o no.
Web: Tutorial en el que se explica el proyecto.
Cuando nosotras creemos un proyecto, será muy conveniente que nos acostumbremos a escribir algo parecido a esto al principio de nuestro código.
Y si te has fijado bien, al principio y al final encontramos /* y */ eso nos indica que lo que escribamos entre ambos símbolos es un comentario, sin importar que nos ocupe una línea o varias. Normalmente se utiliza para comentar párrafos.
Su función es evitar que Arduino lo lea, y que cuando el código sea compilado se obvie. Si Arduino intentase procesar ese texto escrito en inglés (los comentarios también podríamos hacerlos en español) daría error porque no está escrito en el lenguaje de Arduino.
Otra manera de escribir comentarios cuando solamente ocupan una línea es empleando // solamente al principio.
Con Arduino abierto con el sketch Blink, vamos a guardarlo con otro nombre y podremos hacer pruebas con el texto de los comentarios.
Guardar un archivo preexistente de Arduino
Para guardar una copia del sketch Blink, lo que haremos será ir a Archivo > Guardar como... y ahí se nos abrirá una ventana en la que podremos escribir un nuevo nombre y elegir la ubicación para guardarlo. Recordar que nos mostrará por defecto la carpeta que tenga configurada en Preferencias. Yo os recomiendo que para guardar los sketches que escribamos en este taller os creéis una carpeta, por ejemplo en Documentos o en el Escritorio, y ahí Arduino os creará una subcarpeta para cada archivo nuevo que guardemos.
Al guardar un archivo por primera vez, se genera el archivo con la extensión .ino y una carpeta que lo contiene. Cada sketch necesita estar dentro de una carpeta con su mismo nombre. ¿Por qué? Nosotros en este taller no vamos a emplear archivos externos aparte del sketch en nuestro proyecto, pero podría darse el caso que para funcionar, los necesitásemos; estos archivos deben estar dentro de la carpeta, sino, el programa no funcionaría correctamente.
void setup()
Una vez hemos entendido qué son los comentarios y cómo guardar nuestros archivos, vamos a continuar leyendo el código:
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
Lo próximo que nos encontramos (tras el comentario // que ya hemos explicado en el párrafo anterior) son las palabras void setup(). Bueno, la estructura correcta sería esta:
void setup() {
// aquí escribimos los comandos a ejecutar
}
Es muy importante que no olvidemos ningún paréntesis ni corchete, o el programa no funcionará.
Eso es una función. Y, ¿qué es una función dentro del mundo de Arduino? Una función es un fragmento de código, un subalgoritmo dentro de nuestro algoritmo, que tiene como propósito resolver una tarea determinada.
La palabra void, significa que esta función no nos devuelve ningún valor (sea un número, un caracter, un string, etc.) y la palabra reservada setup indica que el código que escribamos entre las llaves {} se ejecutará una sola vez al inicio del programa.
Una palabra reservada es aquella que dentro de un lenguaje de programación tiene un significado determinado. Lo iremos entendiendo a lo largo del taller. Más ejemplos.
Tienes una lista completa con las funciones que podemos encontrar en Arduino, aquí.
En este caso, el código escrito dentro de la función setup() es:
pinMode(LED_BUILTIN, OUTPUT);
Esta línea está compuesta por una función y dos palabras reservadas.
pinMode(pin, modo) : es una función que nos ayuda a configurar los pines digitales de nuestro Arduino para que funcionen, o bien como entrada, o como salida de la información.
El primer parámetro de esta función recibe el número (o en este caso nombre, porque es un pin especial) del pin que vamos a utilizar.
El segundo parámetro recibe el modo: INPUT o OUTPUT, si lo vamos a utilizar como pin de entrada o de salida respectivamente. La palabra LED_BUILTIN es una palabra reservada y se refiere al LED que viene dentro de nuestra placa, como se ha comentado en la página anterior. Por tanto en esta línea le estamos diciendo a Arduino: "Oye, coge el pin al que llamas LED_BUILTIN y configúramelo como pin de salida, por favor."
Para finalizar, añadimos un ;. Esto es importante, porque sin él tendríamos un error al verificar el código.
void loop()
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Ahora que ya hemos visto qué es una función, nos va a resultar más fácil ver qué es esto de void loop(). Si la función void setup() ejecutaba el código que contenía solamente una única vez al arrancar el programa, la función loop lo hace en bucle (como su propio nombre indica), ejecutando indefinidamente el código que escribimos {} entre las llaves. En este caso encontramos dos funciones, la primera es digitalWrite() y la segunda es delay().
digitalWrite(): recibe dos parámetros, el primero es el led que utilizaremos, y que previamente habremos configurado como pin de salida (como hemos hecho con pinMode()), y el segundo es lo que haremos con ese pin. Al ser digital solo existen dos acciones, activar o desactivar el pin (HIGH o LOW). Si la acción es HIGH, el pin tendrá un voltaje de salida de 3.3V si la acción es LOW, el voltaje será 0V.
delay(): esta función hace que el arduino se detenga una determinada cantidad de tiempo, medido en milisegundos. Solamente cuenta con un parámetro.
Por tanto, a nuestro Arduino, dentro de void loop() le estamos diciendo: "Hey, enciéndeme el LED un segundo y apágalo otro segundo, por favor.
Al principio, puede parecer un poco farragoso, pero poco a poco iremos familiarizándonos con el lenguaje de Arduino y nos iremos entendiendo mejor.
Para practicar, te aconsejo que modifiques los valores dentro de delay (sin que sean menores a 500ms) y subas esas modificaciones a Arduino, para que veas cómo cambia la frecuencia con la que parpadea el LED.
FUENTES:
Lenguaje Arduino: https://descubrearduino.com/lenguaje-arduino/
C++: https://es.wikipedia.org/wiki/C%2B%2B
Código abierto (open source): https://es.wikipedia.org/wiki/Sistema_de_c%C3%B3digo_abierto
pinMode(): https://www.arduino.cc/reference/en/language/functions/digital-io/pinmode/
Funciones de Arduino: https://www.arduino.cc/reference/en/
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
¿Qué es un vestible?
Ahora que ya sabemos qué es un Arduino y hemos visto qué lenguaje habla, es el momento de que veamos qué es un vestible y cómo podemos aunar ambos.
Vamos a entender por vestible (o wearable) a aquello que podemos llevar puesto, ya sea un accesorio o prenda de vestir. En este caso, la idea de vestible llevará implícita que aparte de poder llevarlo puesto, utilizará sensores y actuadores para hacerlo interactivo. Con lo que vamos a trabajar en este taller es con la idea de vestible electrónico.
Un ejemplo de vestible que todos conocemos (y en el que probablemente habrás pensado al oir hablar de vestibles + electrónica) es el smartwatch o pulsera de actividad.
Denominaciones para los vestibles
Algunas maneras de llamar a estas prendas de vestir y accesorios electrónicos son:
- Wearables
- Fashionable Technology (Fashion Tech)
- Tecnología vestible
- Ropa tecnológica
- Ropa inteligente
Casi más conocido que el nombre de vestible es el de wearable, el cuál tiene su origen en el año 2004, cuando los diseñadores de la marca CuteCircuit denominaron así a una de sus creaciones, Hug Shirt.
En este video podemos ver el vestible en acción:
Aunque el video está en inglés, podemos hacernos una idea de lo que sucede con esa camiseta.
Contiene una serie de sensores de presión, los cuales a través de una placa, que podría ser Arduino o similar, envían a una aplicación de nuestro teléfono móvil las zonas y la presión con la que hemos tocado la camiseta. Nuestro móvil, envía esa información al móvil de la otra persona a la que queremos enviarle un abrazo y activa en su camiseta diferentes motores que vibran en las mismas zonas que han sido activadas en la primera camiseta.
En 2004, quizá podía sonarnos extraño enviar abrazos a distancia, aunque después de la pandemia... quizás no es una idea tan descabellada :)
Otras placas para hacer vestibles
En este taller trabajarás con el Arduino Nano 33 IoT, porque en la última parte del taller vamos a conectarlo a internet y es una de las placas más pequeñas que nos permiten hacer eso. Otras alternativas para realizar nuestros proyectos vestibles son las placas denominadas Lilypad y las Flora.
Placas Lilypad. Fuente: https://docs.arduino.cc/retired/getting-started-guides/ArduinoLilyPad
Placa Flora. Fuente: https://www.instructables.com/How-to-use-the-Adafruit-Flora-board-Arduino-Tutori/
Estas placas han sido diseñadas para ser cosidas y algunas de ellas incluso son lavables. También, cuentan con conectores para baterías LiPo. Nuestro Arduino no cuenta con ese tipo de conector, pero, como ya he comentado, lo alimentaremos con una batería externa del tipo power bank.
FUENTES:
Fashionable Technology: https://link.springer.com/book/10.1007/978-3-211-74500-7
Flora: https://www.instructables.com/How-to-use-the-Adafruit-Flora-board-Arduino-Tutori/
Lilypad: https://docs.arduino.cc/retired/getting-started-guides/ArduinoLilyPad
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Vestibles 1 : algunos ejemplos dentro del arte y el diseño
En esta página vamos a ver una serie de proyectos que emplean Arduino (o tecnología basada en esta placa) para crear proyectos dentro del mundo del arte y el diseño. ¿Con qué finalidad? El propósito principal es ver las posibilidades que nos ofrece Arduino y que nos pueda inspirar y dar ideas para los proyectos que podemos llegar a diseñar empleando placas de desarrollo basadas en Arduino.
Sound Shirt, Cute Circuit
La SoundShirt cuenta con 28 microactuadores incrustados en el tejido de la prenda. Estos actuadores reciben de forma inalámbrica y en tiempo real el sonido, transformado en datos táctiles, que capta una aplicación móvil. De este modo, se crea una sensación de inmersión total para todo aquel que quiera disfrutar de la música. Así el sonido se convierte en una serie de sensaciones hápticas (similares al tacto) en el torso de la persona que lleva puesta la camiseta.
El diseño de la camiseta es cómodo y está hecho con un tejido suave y elástico. La Sound Shirt carece de cables ya que está construida con textiles inteligentes y tecnología vestible muy avanzada.
Nuestros proyectos sí que van a llevar cables, sensores y no van a utlizar tecnología vestible muy avanzada, pero algunos de los sensores que veremos se aproximan a las funcionalidades de la SoundShirt.
Tools for Improved Social Interacting, Lauren McCarthy
Fuente: Web de la artista: https://lauren-mccarthy.com/Tools-for-Improved-Social-Interacting
Antes de que yo te explique qué hace cada uno de esos vestibles, me gustaría que vieses el vídeo de los tres proyectos.
Bien, ¿ya lo has visto? Espero que sí.
Como la propia creadora explica en su web, el Anti-Daydreaming Scarf contiene un sensor de radiación térmica que detecta si existe otra persona cerca con la que podemos estar en conversación. Lo que hace este dispositivo es que, mientras estamos en esa posible conversación, la bufanda vibra periódicamente para recordarnos que debemos prestar atención a la conversación y dejar de despistarnos.
El Happiness Hat sirve para entrenarnos en sonreir más. Un sensor flexible enganchado a la mejilla mide el tamaño de nuestra sonrisa. A su vez, un servo motor mueve una punta de metal en nuestra cara con una profundidad inversamente proporcional al tamaño de nuestra sonrisa.
El Body Contact Training Suit requiere que quien lo lleve puesto mantenga contacto físico con otras personas si quiere poder escuchar con normalidad. Si dejamos de tocar a alguien durante demasiado tiempo, unos auriculares comienzan a reproducir ruidos impidiendo que escuchemos con claridad. Un sensor capacitivo mide el contacto piel a piel con un brazalete de metal cosido en la manga.
A diferencia de la Sound Shirt, estos tres proyectos se aproximan más a lo que podemos conseguir con los sensores que veremos más adelante y nuestro 33 IoT.
Diana Eng, Heartbeat Hoodie
Fuente: Jim Driscoll. https://www.flickr.com/photos/netdance/137143816/
El propósito de este vestible es que recordemos las cosas que nos emocionan. ¿Y eso cómo se consigue? Esta camiseta contiene un monitor de ritmo cardíaco (pulsómetro) y una cámara, conectados entre sí. Cuando el ritmo cardíaco aumenta, entendiéndose así que nos estamos emocionando, la cámara comienza a grabar.
Por tanto, este proyecto se basa por un lado en emplear como sensor un pulsómetro y como actuador una cámara que se activará en el momento en que nuestras pulsaciones se hayan elevado hasta un cierto número.
Anouk Wipprecht, Spider Dress
Este proyecto no está basado en Arduino, sino en el Intel Edison; una placa más cercana a un pequeño ordenador que a un microcontrolador. ¿La diferencia? Su complejidad. No obstante, una versión simplificada de este proyecto podría replicarse con Arduino, un sensor de ultrasonidos, el cuál es el encargado de medir distancias, y unos servomotores.
¿Cuál es la idea detrás de este vestido? Este 'vestido araña' evita que la gente invada nuestro espacio personal haciendo que si alguien se acerca a menos de una determinada distancia, unos motores se activen y muevan una especie de 'patas' que harán que esa persona se aleje de nosotros.
Marta PCampos, Anxiume
El último proyecto que vamos a ver es Anxiume. Se trata de un accesorio que podría ser considerado como una interfaz para mediar en nuestra relaciones con otras personas, (human-to-human interface). Su nombre es un acrónimo de las palabras ansiedad (anxiety) y perfume (perfume).
Contiene un circuito que libera un perfume agradable, que busca relajar a quien lo lleva puesto. Este perfume es liberado cuando el portador comienzar a sudar y su pulso se acelera, ambas señales consideradas como indicadores de nerviosismo y ansiedad. El propósito de Anxiume es ayudar a que aquellas personas introvertidas se relajen cuando se encuentran en eventos públicos utilizando la aromaterapia.
Por un lado, Anxiume puede ayudarnos a mejorar nuestro día a día, pero por otro lado, actúa como una crítica a nuestra actual dependencia en todo tipo de dispositivos tecnológicos y apps que nos prometen una vida más fácil.
En la creación de aromas con propiedades relajantes colaboró la perfumista Isabel Guerrero, cuya amplia experiencia y conocimientos sobre las propiedades aromacológicas de algunos componentes químicos sirvió para elaborar dos aromas diferentes.
A continuación, podéis ver un dibujo del circuito que compone este proyecto:
Como puedes ver, no cuenta con muchos sensores ni actuadores. Exactamente, sus componentes son:
Placa: Arduino Lilypad (circular y morada)
Sensor: Un pulsómetro (a la derecha, con un corazón blanco dibujado)
Actuador: Un difusor (en la parte inferior)
Alimentación: Dos Baterías LiPo (a la izquierda)
Veremos estos sensores junto con otros un poco más adelante...
Anxiume nos va a permitir enlazar los proyectos vistos en esta página, más relacionados con el mundo del diseño y el arte, con otros proyectos orientados a la educación.
FUENTES:
Hug Shirt: https://cutecircuit.com/hugshirt/
Sound Shirt: https://cutecircuit.com/soundshirt/
Heartbeat Hoodie: http://www.electricfoxy.com/electricfoxy/tag/heartbeat+hoodie
Anxiume: https://martapcampos.com/proyectos/anxiume/
Intel Edison: https://en.wikipedia.org/wiki/Intel_Edison
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Vestibles 2: algunos ejemplos dentro de la educación
Anxiume
¿Otra vez? Sí, volvemos a este proyecto porque hay algo que nos interesa, y es que, aparte de ser un proyecto que podemos considerar desde el punto de vista del mundo artístico y del diseño, va acompañado de un tutorial que nos invita a replicarlo en nuestra casa. El tutorial, aunque esté en inglés no es complicado de seguir. Puedes echarle un vistazo en este enlace.
Como veis, la conexión entre un proyecto perteneciente al mundo del arte/diseño y la educación puede ser muy estrecha.
Continuemos con otros proyectos que se sitúan en esta misma línea.
Kobakant
Kobakant es un dúo de artistas formado por Mika Satomi y Hannah Perner-Wilson. En su página web, la cual te aconsejo que visites, podrás encontrar gran cantidad de proyectos y talleres que han realizado en los últimos años. En ellos, trabajan con sensores que fabrican ellas mismas, tratando de utilizar materiales suaves y flexibles.
Un ejemplo de ello lo encontramos en su cinturón para medir la respiración. Se trata de una propuesta para un sensor que busca captar el movimiento de la respiración torácica o estomacal mediante un sensor elástico tejido con un hilo de acero inoxidable y poliéster:
El funcionamiento de este sensor se basa en que las fibras de acero inoxidable del hilo conductor son cortas, y la resistencia eléctrica entre ellas es alta (cuando está sin estirar <1M Ohm). Sin embargo, cuando se estira el hilo, la resistencia desciende por debajo de 1K Ohm (dependiendo de la longitud del hilo que se mida). De esta manera, al conectarlo a uno de los pines analógicos de nuestro Arduino usando un divisor de voltaje, que a efectos prácticos consiste en conectar una resistencia o un potenciómetro, detectaremos si la persona que lo lleva puesto está respirando y con qué profundidad lo está haciendo:
Lo bueno de los proyectos de Kobakant es que tienen tutoriales de todos sus proyectos para facilitar que cualquiera pueda construirlos. A parte de eso, suelen utilizar materiales fácilmente accesibles. Para ver el tutorial completo de este proyecto, te aconsejo que visites la página web.
Taller: Sensonautas
(Colonias Etopia Kids 2019, Zaragoza)
El tercer proyecto es un taller que se impartió a chavalxs de 13 a 16 años durante las colonias de verano de Etopia Kids y en el que los protagonistas (a parte de lxs participantes) eran un Arduino + diversos sensores.
Una vez conocieron las herramientas y algunas fuentes de inspiración, se les propuso trabajar a lo largo de una semana en un proyecto que tenían que conceptualizar de manera grupal para posteriormente construirlo.
Dos ejemplos de los resultados obtenidos los encontramos a continuación:
El primero de ellos fue el resultado de un grupo que pensó en aquellas personas con problemas graves de visión. Para ellas creo un vestible consistente en unas gafas, las cuales en la parte frontal contaban con un sensor de ultrasonidos que se encarga de medir la distancia a la que se encuentra un obstáculo.
Aparte de con el sensor, las gafas contaban con un piezo que funcionaba como actuador y emitía diferentes sonidos para evitar que quien lleva puestas las gafas se choque y pueda hacerse daño con obstáculos que estén demasiado cerca de su camino. Todo ello era controlado por un Arduino.
La segunda imagen nos muestra otro proyecto en el que en lugar de usar un Arduino, el grupo diseñador del proyecto utilizó un Lilypad (que como ya hemos visto, también está basado en Arduino). El usuario tiene que colocarse la banda negra, sobre la que están cosidos los diferentes componentes, alrededor del cuello. Una vez colocada, el sensor flex (que está colocado en la parte central y tiene forma alargada) se encarga de detectar si hemos inclinado demasiado la cabeza hacia abajo.... ¿y esto por qué? Pues porque sus creadores querían evitar quedarse dormidos mientras están estudiando. Por eso, si el usuario inclina demasiado la cabeza, un zumbador comienza a vibrar para despertarlo.
En Sensonautas, lxs participantes tenían la opción de elegir entre una serie de componentes dependiendo del tipo de proyecto que quisiesen desarrollar. Lo importante era que trabajasen en equipo, se familiarizasen con el mundo de la electrónica y el de los vestibles/wearables y pensasen en diferentes aplicaciones que para ellos fuesen necesarias/valiosas.
Gesture Drawings Gloves Workshop
El objetivo del wokshop Gesture Drawing Gloves, diseñado por la artista koreana Aesun Kim, es diseñar una interfaz que permita reflexionar sobre los propios gestos de comunicación no verbal que se puedan dar entre los participantes. También, sirvió de introducción a la utilización de materiales conductores de una manera creativa.
La parte principal del taller está basada en la idea de que, al analizar la comunicación y la expresión gestual y comparar las diferencias de origen social y nacional, es posible analizar las expresiones de identidad. Esto resultaba interesante en este taller, ya que los participantes eran personas procedentes de diferentes países.
En este vídeo, podemos ver una breve muestra de algunos resultados del taller:
Como has podido comprobar, este taller no utiliza un Arduino, ni ningún tipo de circuito integrado o microcontrolador. Unicamente se emplean una serie de componentes sencillos que permiten construir circuitos muy básicos con los que experimentar creando vestibles.
FUENTES:
Anxiume, Marta PCampos: https://www.instructables.com/Anxiume/
Data Polluters, César Escudero: https://escuderoandaluz.com/2016/01/01/data-polluters/
Gesture Drawing Gloves Workshop, Aesun Kim: https://aesunkim.com/Gestural-drawing-workshop
Imágenes sensor cinturón respiración: https://www.kobakant.at/DIY/?p=8171
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Práctica 1.2: un vestible ideal
En esta práctica de final de bloque, tendremos que conceptualizar un vestible al que denominaremos como ideal. ¿Y por qué lo vamos a calificar así? Básicamente porque no vamos a tener que pensar exactamente cómo llevarlo a cabo. Vamos a idearlo y no vamos a tener que materializarlo.
El propósito es que dejemos volar nuestra imaginación y que con los ejemplos que hemos visto ideemos un vestible y pensemos en ciertos puntos que será importante que también tengan en cuenta los alumnos cuando se enfrenten a realizar un proyecto utilizando Arduino.
1. ¿Para qué?
El punto principal de nuestro proyecto es saber para qué lo queremos construir. Como hemos visto en los proyectos de las páginas anteriores, existen motivos de todo tipo.
Puede ser que queramos ayudar a aquellas personas que se encuentran limitadas por algunos de sus sentidos, como en el caso de la Sound Shirt. Como hemos visto, es vestible permite que sientan el sonido aquellas personas que carecen de audición. En el caso de la Sound Shirt, incluso puede ser interesante que la usen personas cuyas capacidades auditivas están intactas, para ver sus impresiones. Otro proyecto que se orientó en esa misma dirección es el de las gafas con sensor de distancia que se realizaron en el taller "Sensonautas". Si elegimos crear un proyecto pensando en esta línea, una opción es centrarnos en pensar sobre problemas y limitaciones que podemos encontrar en determinadas circunstancias y plantearnos si sería posible crear un vestible que lo solucionase de alguna manera.
Otro planteamiento es generar una reflexión sobre un determinado tema. Para seguir esa línea, podemos escoger un tema de actualidad y posicionarnos ente él de tres maneras: a favor, en contra o tratando de restarle relevancia (si se te ocurre otro posicionamiento, también es posible). Esta reflexión puede estar planteada desde una perspectiva totalmente seria o con un toque de humor. ¿Qué tipo de proyecto de los que hemos visto pueden considerarse en esa línea? Por ejemplo los realizados por Lauren McCarthy, en los que reflexiona sobre sus propias habilidades sociales planteando una serie de vestibles sin dejar de lado el sentido del humor.
2. ¿Qué tecnología y materiales necesito?
Esta parte es la que a priori nos puede parecer más contradictoria, ¿no habíamos quedado en que no era necesario construirlo? Sí, eso es cierto, no es necesario que lo construyamos.
No obstante, vamos a tener que pensar en su funcionamiento hipotético: qué tipo de sensores necesitaríamos, qué tipo de actuadores, qué tipo de Arduino... No es necesario que sepamos si los sensores/actuadores que queramos usar existen o no, ni tampoco que, en el caso que existan, conozcamos su nombre. Es suficiente con que sepamos describir su funcionamiento, aunque sea vagamente: "sería necesario un sensor que nos permita medir/detectar.... "
3. ¿Cuál será su aspecto?
A parte de pensar y escribir, va a ser necesario que dibujemos un poco. Para ello, no hace falta que seamos unos expertos dibujantes, simplemente es importante que realicemos un boceto de su aspecto. De esta manera, me va a resultar más fácil visualizarlo mientras leo su descripción.
El dibujarlo también va a hacer que te plantees modificaciones y que tengas que pensar en dónde y cómo colocarías cada componente, cómo lo podrías coser, etc.
4. ¿He visto algo parecido antes?
Puede ser que no se nos ocurra nada y que busquemos inspiración en internet o hablando con otros compañeros. Eso no es ningún problema, pero deberemos incluirlo como "Referencias". Estas referencias pueden ser imágenes, vídeos, artículos de prensa, etc. No es necesario emplear ningún formato determinado, pero si lo ves necesario, puedes indicarme en qué medida cada una de esas referencias han influenciado el diseño de tu vestible.
En resumen, ¿qué tenemos que entregar?
Para esta práctica es necesario que realices una memoria de no más de 5 páginas. Las partes de esta memoria son:
1. Portada con el título y tu nombre y apellidos
2. Breve descripción del vestible (5 líneas)
3. Objetivos y finalidad del vestible
4. Tecnología y materiales
5. Bocetos
6. Referencias
Entrégala siguiendo las instrucciones descritas en la tarea de Moodle correspondiente.
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU