====== Hackaton: Tapiz Textiles y Electrónica ======
===== Introducción =====
Según la Wikipedia los [[https://en.wikipedia.org/wiki/E-textiles|E-textiles]] son tejidos que incluyen componentes electrónicos como baterías, LEDs o incluso pequeños ordenadores. Están diseñados con nuevas tecnologías que ofrecen valor añadido a la persona que los lleva puestos. Sin embargo esta definición puede ser demasiado restringida, **el área de los E-textiles no se limita a la moda** y cubre muchas áreas de proyectos relacionados, como pueden ser por ejemplo el campo de los videojuegos, el diseño de producto, el arte de los nuevos medios, el IoT, la salud, la educación o la moda y la tecnología, entre otros.
En el desarrollo de proyectos E-textiles se valora el uso de nuevos materiales conductores o inteligentes junto con otros más tradicionales, lo que permite a los makers con conocimientos previos de electrónica y/o lenguajes de programación, adquirir nuevas técnicas y desarrollar habilidades artísticas y creativas como coser, calcetar, tejer, dibujar o pintar. Y a la inversa, permite a personas que no se relacionaban previamente con la electrónica y si tenían experiencia con textiles ampliar el alcance de sus creaciones mediante el uso de estos nuevos materiales.
El año pasado en la OSHWDem nos introdujimos en el mundo de los E-textiles a través de un taller y varios puestos de exposición relacionados. Este año nos lanzamos con un taller con formato de hackatón de 10 horas de duración que celebraremos el **sábado 29 de ****septiembr**e de la mano de la maker y diseñadora [[https://paolaguimerans.com/|Paola Guimerans]] que va dirigido a personas con interés en nuevas técnicas para la integración de tecnología en textiles.
El objetivo de este documento es **visibilizar el floreciente campo de los e-textiles** que, igual que sucede con otros campos del movimiento maker, como la impresión 3D, o la robótica, se ha popularizado vinculado a esta vanguardia tecnológica.
**RECURSOS E-TEXTILES**
[[http://www.kobakant.at/DIY/|Link a la website de recursos How to get what you want]]
**HACKATON TEXTILES Y ELECTRONICA**
{{:poster.jpg?direct&352x542|poster.jpg}}
| | | | | | | | | | | | | |
| | | | | | | | | | | | | |
**Plataformas de código abierto para desarrollar proyectos de e-textiles**
\\
===== Circuit Playground Express =====
==== Introducción a la Circuit Playground Express ====
{{:circuitplaygroundexpress.png?direct&400}}
La Circuit Playground Express es una placa genial para aprender a programar y para prototipar tus creaciones de e-textiles.
Completar esta sección de introducción
==== Tres consejos importantes para empezar ====
=== Añade las udev rules para la Circuit Playground Express a tu sistema linux ===
En todos los linux que hemos probado hemos tenido que ajustar las //udev rules//. Si conectamos la placa recién comprada al puerto USB de nuestro linux y no ejecuta la "rueda de colores" es, casi seguro, un síntoma de este problema.
Para solucionarlo:
wget https://github.com/adafruit/Trinket_Arduino_Linux/raw/master/99-adafruit-boards.rules
sudo cp 99-adafruit-boards.rules /etc/udev/rules.d/
Una vez añadido el nuevo fichero de reglas podemos reiniciar el ordenador o se puede forzar la recarga de reglas con los siguientes comandos:
sudo reload udev
o si falla el anterior:
sudo udevadm control --reload-rules
sudo udevadm trigger
También hay que asegurarse de que nuestro usuario pertenece a los grupos //dialout// y //plugdev//.
En [[https://learn.adafruit.com/adafruit-arduino-ide-setup/linux-setup#udev-rules-6-4|este enlace]] tenemos instrucciones detalladas.
=== Usa el IDE Arduino más reciente ===
Para evitar problemas con la placa es imprescindible instalar la última versión disponible del IDE Arduino, en la realización del hackathon hemos usado la versión 1.8.7. Hemos comprobado además que esta versión tiene un conjunto más amplio de ejemplos para la //Circuit Playground Express//.
=== Actualiza el bootloader de tu CPE ===
Asegurate de acceder a la unidad ''CPLAYBOOT'' en tu gestor de ficheros, si no la ves pulsa reset una o dos veces (dos veces si estas usando //Circuit Python// o el //Arduino IDE//.
Echa un vistazo al contenido del fichero ''INFO_UF2.TXT'', si ves que hace referencia a una versión anterior a la ''3.3.0'' tienes que actualizarla. Especialmente si programas desde un Mac.
Descarga la versión 3.3.0 del bootloader desde [[https://github.com/adafruit/uf2-samdx1/releases/download/v3.3.0-adafruit.10/update-bootloader-circuitplay_m0-v3.3.0-adafruit.10.uf2|aquí]], hay nuevas versiones del bootloader [[https://github.com/adafruit/uf2-samdx1/releases|aquí]] pero no las hemos probado.
==== Documentación disponible ====
* [[https://learn.adafruit.com/adafruit-circuit-playground-express/overview|Guia de la Playground Express]] Una guía bastante completa en la página de Adafruit. También disponible en formato [[https://cdn-learn.adafruit.com/downloads/pdf/adafruit-circuit-playground-express.pdf|pdf]]
* [[https://learn.adafruit.com/circuit-playground-lesson-number-0|Lección cero]] Otro buen sitio para empezar. Disponible también en formato [[https://cdn-learn.adafruit.com/downloads/pdf/circuit-playground-lesson-number-0.pdf|pdf]]. Es un tutorial centrado en el uso de IDE Arduino para programar la placa. Además desde aquí se accede a la documentación de las clases:
* [[http://adafruit.github.io/Adafruit_CircuitPlayground/html/class_adafruit___circuit_playground.html|CircuitPlayground]]
* [[http://adafruit.github.io/Adafruit_CircuitPlayground/html/class_adafruit___c_play___speaker.html|Speaker]]
* [[http://adafruit.github.io/Adafruit_CircuitPlayground/html/class_adafruit___c_play___mic.html|Mic]]
* [[http://adafruit.github.io/Adafruit_CircuitPlayground/html/class_adafruit___c_play___l_i_s3_d_h.html|Accel]]
* [[https://caternuson.github.io/Adafruit_CircuitPlayground/|Referencia de comandos Arduino]] Más sucinta que las anteriores, no cubre las clases.
* [[https://cdn-learn.adafruit.com/downloads/pdf/sensors-in-makecode.pdf|PDF que describe los sensores equipados]]
* [[http://adafruit.github.io/Adafruit_CircuitPlayground/html/classes.html|Referencia de las clases cpp]] Otro link a la documentación de las clases disponibles para cpp
==== Modos de funcionamiento de la Circuit Playground Express ====
**Modo Bootloader**: Para entrar en modo //Bootloader// hay que pulsar el botón de //reset//, situado en el medio de la placa, una o dos veces (dos veces si estamos usando //Circuit Python// o el IDE Arduino)
Cuando entramos en modo //Bootloader// los neopixels de la placa parpaderán una vez en rojo y quedarán despues fijos en verde. El led verde de //status// quedará fijo y el led rojo de //status// parpaderá lentamente.
Además, al pasar a modo //Bootloader//, nuestra placa debería montarse como una unidad de almacenamiento en nuestro sistema de ficheros. Aparecerá con el nombre **CIRCUITPY** si estamos usando //Circuit Python//, o con el nombre **CPLAYBOOT** si no usamos //Circuit Python//.
=== Métodos de programación ===
[[https://learn.adafruit.com/adafruit-circuit-playground-express|Este artículo]] es una buena introducción a los distintos métodos de programar la Circuit Playground Express.
Tenemos tres métodos para programar:
* MakeCode
* Circuit Python
* Arduino IDE
== MakeCode ==
Si optamos por usar este método programaremos la placa desde el servicio web [[https://makecode.adafruit.com/|MakeCode]]. No tendremos que instalar nada en nuestros ordenadores a excepción del driver para windows, si es que usamos este S.O.
El lenguaje de programación es muy parecido a Scratch, se programa con bloques gráficos. Aunque en realidad el MakeCode gráfico se compila a //javascript// en la web y lo que descargamos en la placa es código //javascript// que podríamos editar directamente.
== CircuitPython ==
Con esta opción dispondremos de un [[https://micropython.org/|MicroPython]] adaptado específicamente a nuestra placa. Con las ventajas y desventajas de disponer de un lenguaje interpretado.
== IDE Arduino ==
Con este método programaremos nuestra placa de una forma análoga a como se programa cualquier Arduino. Compilando código cpp y descargándolo en la placa.
Para usar el IDE Arduino con nuestra placa no tenemos que hacer nada más que lo comentado acerca de las //udev rules// y usar la última versión del IDE.
Es importante escoger la placa correcta en el menú del IDE, no confundir **Adafruit Circuit Playground**, que es incorrecta, con la **Adafruit Circuit Playground Express**, que es la correcta.
En linux cada vez que cargamos un programa en la //Circuit Playground Express// la placa se reseteará, entrará momentaneamente en modo //bootloader// y veremos que por un momento se monta el sistema de ficheros **CPLAYBOOT**
===== Circuit Python =====
==== Instalación de Circuit Python ====
Conectamos la CPE a nuestro ordenador y pulsamos dos veces el botón de reset para entrar en el modo bootloader. La placa se quedará con todos los LED en verde y nos aparecerá una nueva unidad de ficheros **CPLAYBOOT**
Nos bajamos el //Circuit Python// de la red, [[https://github.com/adafruit/circuitpython/releases/latest|aquí tienes la última]].
Arrastramos nuestro fichero //uf2// con la versión del //Circuit Python// que acabamos de descargar de la red, a la unidad **CPLAYBOOT**, en cuanto se transfiera el archivo, la CPE arrancará de nuevo, desaparecerá la unidad **CPLAYBOOT** y aparecerá la unidad **CIRCUITPY**.
==== Instalar las bibliotecas ====
EN REVISION, las librerias de //Circuit Python// ocupan ahora mucho espacio, no se pueden descomprimir directamente en la CPE.
==== Monitor ====
[[https://learn.adafruit.com/welcome-to-circuitpython/advanced-serial-console-on-mac-and-linux|como usar monitor]]
===== Arduino IDE =====
Echa un ojo a los [[tapiz_textiles_electronica#tres_consejos_importantes_para_empezar|consejos iniciales]], asegúrate de tener cargadas las //udev rules// y de que tu usuario pertenece a los grupos ''dialout'' y ''plugdev''.
Si tienes instalada una versión reciente del //Arduino IDE// y la CPE está en modo //bootloader// el propio IDE te indicará que debes instalar bibliotecas para programar esa placa. Si no te aparece el aviso busca en el gestor de placas de arduino: ''Arduino SAMD Boards'' e instala la libreria correspondiente ''Arduino SAMD Boards (32-bits ARM Cortex-M0+)''.
===== Proyectos en curso durante el Hackatón =====
**PILAR, MONTSE: Una idea brillante**
{{:20180929_171128.jpg?200 }}{{:20180929_171233.jpg?200 }}
Control de iluminación por medio de palmadas. Se trata de una bombilla que se activa por medio de sonido y probablemente con distintos niveles de iluminación para crear distintos ambientes y mediante uno o varios pulsadores se podrán escuchar diferentes melodías.
----
**LOLI, MARÍA, XOSÉ: Araña e mosca**
{{:20180929_172215.jpg?200 }}{{:20180929_172228.jpg?200 }} {{youtube>8qYG11TeRGY?medium}}
Unha mosca voa sobre unha tea de araña feita con fío conductor. Cando a mosca se pousa sobre a tea, a araña treme (ou acéndense uns leds, xa veremos).
Para este proxecto non usamos a placa. Trátase dun circuíto simple. Cando a mosca fai contacto coa arañeira péchase o circuíto e acende o motor.
----
**ELIA, MARÍA: Diente de león y faro**
{{:20180929_171410.jpg?200 }}
Con un sensor de movimiento se activa el encendido de los leds imitando el movimiento de un diente de león cuando se sopla. El faro tiene varios leds que se encienden y se apagan en bucle y cambian de intensidad para imitar la luz de un faro.
----
**JAVIER, SAMUEL: Pez abisal**
{{:20180929_164205.jpg?200 }}
Presionando un botón se encienden los ojos y la antena que lleva en la frente.
----
**FELO, INÉS: Sensor de emociones**
{{:20180929_172333.jpg?200 }}
Un corazón con varias capas de fieltro y telas con sensores de sonido que detecte ruído ambiental o gente hablando y haga que se enciendan los leds por tramos: Con menos sonido se enciende el primer nivel, a más decibelios se enciende el nivel intermedio y al máximo se enciende el nivel exterior, que indica que hay demasiado ruido. Sería para uso educativo, en entornos de ruido ambiental, para indicar cuando se están sobrepasando los límites adecuados.
----
**BEA, CRISTINA: Sonrisa de colores**
{{:20180929_182946.jpg?200 }}
Por medio del sensor de luz se detecta el color de los objetos que le ponemos delante y se iluminan los leds con ese color, en forma de sonrisa. Tenemos varias figuras de fieltro en rojo, verde, azul y amarillo, para utilizar de muesta de detección de colores. Y además cada color hace que se emita una nota musical distinta.
----
**PAZ, MARGA: Fágase a luz! **
{{:20180929_165222.jpg?200 }}
Consiste nunha man con un interruptor no dedo índice que cando se pulsa acende unha serie de leds durante un pequeno periodo de tempo. Implementamos o pulsador con resistencia pull up e fío conductor (engadindo unha resistencia limitadora nos leds).
----
**AIDA, PABLO: Araña que mete medo **
{{:20180929_165926.jpg?200 }}{{:20180929_200022.jpg?200 }}
Unha araña no medio de un circuito feito con fío conductor que treme cando se acciona un interruptor ó mesmo tempo que se lle acenden uns terroríficos ollos vermellos.
----
**IRAISY, ROCÍO: Nave súper especial **
{{:20180929_172020.jpg?200 }}{{:20180929_172038.jpg?200 }}
Empleamos la programación por bloques para trabajar futuras implementaciones con niños en edad escolar. Consiste en una nave espacial con luces de despegue que se activan por medio de sonido.
----
**ELENA, BEA, ANXELA: Son luminoso **
{{:20180929_195432.jpg?200 }}
Consiste en un pulsador que acciona un bruador, e cando éste soa, fai que se acendan os neopixels. A aplicación sería una señal luminosa para axudar a un alumno xordo e que sepa, por exemplo, cando rematou a clase.
----
**LOLI E XOSE: OSHWI interactivo **
{{:proyectos:oshwi_de_tela:01.jpg?400|}}
Toda la información del proyecto y el paso a paso [[https://bricolabs.cc/wiki/proyectos/oshwi_de_tela|aquí]]
{{ youtube>8nYRt7XtUZM |}}
----
=== CONSTRUCCION Y MONTAJE DEL TAPIZ DE TEXTILES Y ELECTRONICA ===
**FOTOS DEL PROCESO** {{:20180929_124906.jpg?200 }}{{:20180929_124906.jpg?200 }}{{:20180929_172734.jpg?200 }}{{:20180929_200627.jpg?200 }}
* Los bastidores tendrán dos funciones: por un lado darán soporte a las piezas para mantenerlas en su lugar y formar el tapiz y por otro distribuirán alimentación a todas las piezas (5V)
* Los cuadros se ajustarán al bastidor con velcro, dos tiras de velcro de 1cm por cada columna permitirán fijar las piezas.
* No está definida todavía la posición del bus de alimentación pero estamos considerando tener preparadas “piezas adaptadoras” que irían cosidas debajo de las piezas que nos envíen de forma que los makers puedan trabajar en sus contribuciones sin esperar a que la posición del bus esté definida.
====== RETO E-TEXTIL ======
Continuaremos desarrollando los proyectos E-Textiles, uniremos todos los diseños de los que quieran participar el día de la OSHWDEm creando un gran tapiz, Si quieres formar parte las características de cada baldosa deberán ser:
* medidas 15x15cm
* poder conectarlos a una alimentación de 5V
Pistas para empezar:
* Piensa en que diseño podríamos integrar leds y otros componentes electrónicos, una vela, un faro, una fogata…
* Podemos hacer circuitos sencillos con hilo conductor.
* Se pueden integrar placas tipo Lilypad, dando uso a toda la gama de sensores y conexiones disponibles
* Emplear distintos tipos de materiales conductores y textiles, texturas, colores…
Da rienda suelta a tu creatividad y atrevete a dar el paso para conocer el mundo de los E-Textiles, el día de la OSHWDem habrá disponible un espacio para crear mas baldosas para el tapiz.