Workshop Wearable Art (Nederlands)
Inleiding
Workshop planning
Workshop dag 1 | 13:00-17:00 |
---|---|
13:00-13:15 | Binnenkomst, welkom |
13:15-13:45 | Introductie & presentatie (voorbeelden van mogelijke inputs/outputs, draagbare maaktechnieken, interacties) |
13:45-14:15 | Ideevorming, brainstormen, schetsen |
14:15-15:00 | Crashcursus Elektronica & Arduino-programmering gericht op wat jullie willen. Als je al bekend bent met elektronica/programmeren: beginnen! |
15:00-15:15 | Pauze |
15:15-16:45 | Prototyping van circuits en (onderdelen van) het draagbare kunstwerk |
16:45-17:00 | Show & tell, opruimen |
Workshop dag 2 | 13:00-17:00 |
---|---|
13:00-13:15 | Binnenkomst, welkom, wat heb je nodig om te beginnen? |
13:15-15:00 | Werken aan het tot leven brengen van de draagbare kunst: elektronica & vormen samenbrengen, het draagbaar maken, het integreren van het elektronische circuit |
15:00-15:15 | Pauze |
15:15-16:30 | Prototypes afmaken: testen, troubleshooten, puntjes op de i |
16:30-17:00 | Wearable art show! Resultaten vastleggen & reflecteren op het proces, afsluiten met een drankje |
Leerdoel | Hoe |
---|---|
Draagbare objecten ontwerpen in 3D | Prototyping met verschillende beschikbare materialen en 3D-technieken |
Elektronica draagbaar maken | Elektronische circuits integreren, draagbare stroomopties gebruiken |
Basisbeginselen van programmeren in Arduino IDE | Arduino IDE crashcursus - walkthrough voor beginners |
Basisbeginselen van elektronica | ‘Schetsen met hardware’: prototypen van elektronica en leren door te doen, verschillende inputs/outputs uitproberen of er eentje uitkiezen om diep in te duiken |
Einde dag 1 doelen:
- Een duidelijk idee voor een wearable
- Onderdelen van de wearable zonder elektronica, vormtesten en prototypes
- Werkende geprogrammeerde elektronica (hoeft nog niet draadloos, gesoldeerd of definitief te zijn, gewoon een eerste werkende iteratie)
Einde dag 2 doelen:
- Werkende elektronica, gesoldeerd en op batterijen
-
Elektronica en design komen samen in een draagbaar kunstwerk
- Klik hier voor de Arduino IDE setup
Hoe maak je dingen draagbaar?
Er zijn een paar ingrediënten om een succesvolle wearable te maken, en ze werken allemaal samen. Er is geen vaste plek om te beginnen - sommige mensen werken beter met een doordacht concept, anderen werken beter als ze beginnen met maken.
- Wat is je inspiratie? Wat is het concept, wat wil je zeggen met je draagbare kunstwerk?
- Waar en hoe draag je het? Kies een lichaamsdeel - maak je iets voor op je hoofd? Om je arm? Op je hand? Hoe kun je het draagbaar maken voor dat lichaamsdeel?
- Dit kan onderweg veranderen! Door je draagbare ding uit te proberen terwijl je het op verschillende lichaamsdelen maakt, kan het in verschillende richtingen gaan.
- Kies je input/output - beweegt het, geeft het licht af of maakt het geluid? Is er interactie: reageert het op geluid of het dimmen van licht? Kies je elektronica op basis daarvan. Je kunt verschillende opties uitproberen en kijken wat je leuk vindt
- Het prototypen van je elektronica op een breadboard is het makkelijkst
- Kies je materialen - waar is het van gemaakt? Is het hard of zacht? Hoe bevestig je het aan het lichaam? Prototype in 3D!
- Maak iets draagbaars vanaf nul - d.w.z. met patronen, elastiek, bandjes, klittenband, enz.
- Bouw voort op iets bestaands - d.w.z. op een handschoen of hoofdband
Er zijn verschillende manieren om iets draagbaar te maken. Je kunt allerlei soorten clips, haarbanden, handschoenen, klittenband, bandjes gebruiken… Hieronder vind je enkele van de beschikbare opties.
Gereedschappen, technieken, machines en materialen
Om je eigen wearable te maken, kun je verschillende technieken gebruiken - van snelle kartonnen prototypes met lijm tot naai- en sieradenmaaktechnieken. Hieronder vind je enkele voorbeelden van materialen en technieken om 2D- en 3D-vormen te maken om je wearable vorm te geven!
Driedimensionale vormen maken met
- Metaaldraad
- Stof, kleurfiltervellen
- Naaimachine zigzag
Stel de naaimachine in op zigzag en begin voorzichtig met naaien:
- Metaaldraad
- Buigen met een tang (zie ook https://www.wikihow.com/Bend-Wire)
- Stof
- Textielverharder
- Heteluchtpistool (voor snelle drogen)
- Karton
- Lijm
- Papier
- Origami & andere vouwtechnieken
- Papier
- Papier-maché, papierpulp
- Metalen draadframe of andere vormen
- Rekbare stof omwikkelen
- Vezels
- Viltnaalden
Je kunt vilten gebruiken om 3D-vormen te maken:
Je kunt ook direct op een kledingstuk werken! Je zou bijvoorbeeld een e-textiel druk- of aanraaksensor kunnen maken.
Andere prototypingmaterialen en -technieken om te verkennen:
- Luchtdrogende boetseerklei: kleimodelleertechnieken en -gereedschap
- Metaaldraad: technieken voor het maken van sieraden, solderen
- Stof en draad: naaien, textieltechnieken
- Geleidende stof: solderen
- Elektronische componenten in klei inbedden
- LED’s op stof borduren
- Lijmen
Elektronica integreren in wearables
Hoe ga je van een rommelig breadboard en losse elementen naar elektronica die je kunt dragen? Als je iets groots maakt, heb je vaak wat ruimte om je elektronica onder iets te verbergen. Als het echter klein is, heb je andere oplossingen nodig. Het draait niet altijd om hoe je je circuit onzichtbaar maakt, maar eerder om hoe je je microcontroller en batterij ten opzichte van je invoer en uitvoer kunt plaatsen, op een manier die er natuurlijk of opzettelijk uitziet. Als je het niet kunt verbergen, kun je het altijd onderdeel van de look maken! Als je bijvoorbeeld een oorbel met een motor wilt maken, waarom maak je dan niet een andere oorbel waarin je je batterij en microcontroller kunt doen? Of je kunt een microcontrollerketting maken die je onder je shirt kunt dragen, of eroverheen als je het er mooi uit wilt laten zien! Als je iets maakt om op je hoofd te dragen, kun je je microcontroller en batterij misschien onder een paardenstaart verstoppen, of je kunt de microcontroller en batterij op een clip bevestigen die je aan de achterkant van je shirt vastmaakt.
En vergeet niet: we zijn aan het prototypen, dus het is ook oké als het niet meteen de meest efficiënte, optimale, definitieve vorm is van je draagbare dromen. Je moet ergens beginnen!
Je draagbare kunst heeft 3 ingrediënten:
- Elektronica op batterijen
- Iets dat het draagbaar maakt
- Een interessante input/output/interactie die tot leven komt met elektronica en je creaties
Hier zie je deze elementen uitgelegd: er is een microcontroller die wordt aangestuurd door een oplaadbare LiPO-batterij, er is een hoofdband om hem op je hoofd te dragen en er is een oogantenne bevestigd aan de servomotor die voor je kan zweven als een diepzeevis. Met deze ingrediënten kun je de microcontroller en de batterij aan een haarclip lijmen en deze in een knot of onder je haar verstoppen, of je kunt de draden langer maken en deze wat verder weg verstoppen.
Slingerende strik
Een ander voorbeeld om iets draagbaar te maken, is om een ketting te maken met een zakje zoals hier.
De microcontroller en de batterij passen in het zakje en passen bij de bewegende strik. Dit is een voorbeeld van het verbergen van de elektronica in het zicht door ze te laten passen bij de wearable.
Schommelende ring
Als je de beweging liever op je hand wilt, kun je de motor aan een handschoen bevestigen of in dit geval een metalen draad buigen om een ring te maken.
Hier zie je het in actie:
De elektronica zit gewoon verstopt in mijn mouw. Ik draag ze op mijn huid door stukjes klittenband op mijn arm en op de batterij en microcontroller te plakken, zodat ze er gemakkelijk af kunnen als dat nodig is, maar ze nog steeds behoorlijk stevig zijn. Dit is handig voor prototypen. Ze kunnen ook met klittenband aan een armband of mouw worden bevestigd.
Interactieve sjaal
In dit volgende voorbeeld (met behulp van het Arduino-voorbeeld LDR_NeoPixel_amount) kan de elektronica worden verborgen in het draagbare object (een sjaal) zelf.
De lichten (Neopixels) moeten aan de binnenkant worden geplaatst, maar de LDR moet aan de buitenkant zitten zodat deze veranderingen in de verlichting kan detecteren.
Interactieprototyping
Hier zie je het in actie. Zodra je een eerste prototype hebt, kun je beginnen met het prototypen van de interactie die je wilt. Er zijn talloze manieren om de hoeveelheid licht op een LDR te beïnvloeden: door hem met je hand te bedekken, door een donkerdere ruimte in te lopen, door er iets op te leggen. Er zijn veel dingen om uit te proberen!
Hier is een subtiele beweging van de nek al voldoende om de Neopixels aan te doen.
Toetsenbordhandschoen
Dit is een voorbeeld van een heel eenvoudig capacitief aanraaktoetsenbord dat je kunt dragen. Het is gemaakt met geleidende tape op een bestaande handschoen.
De code is in principe hetzelfde als het touch_keyboard_speaker.ino-voorbeeld, maar met 5 in plaats van 6 aanraaksensoren. Zorg ervoor dat je bij het wijzigen van het aantal aanraaksensoren alle arrays wijzigt door waarden toe te voegen of te verwijderen op basis van het aantal dat je hebt (ik heb een half uur verspild om erachter te komen waarom het raar deed hierdoor).
Een volgende stap zou zijn om de elektronica te integreren en draden aan de geleidende tape te solderen in plaats van krokodillenklemmen te gebruiken. Een andere leuke iteratie zou zijn om een MP3-module met aangepaste geluiden toe te voegen, om verder te gaan dan de piepgeluiden van de toonfunctie.
Meer voorbeelden en inspiratie
- Borduurwerk, elektronica in soft circuits embedden
chainStitch Noise door Afroditi Psarra
Output: beweging
Bekijk dit project genaamd Kinetic Wearables Toolkit door het Social Body Lab aan de OCAD University! Ze onderzoeken manieren om beweging en kinetiek te integreren in wearables met 3D-geprinte onderdelen en verschillende motoren, waaronder de servomotoren die wij ook gebruiken. Ik heb een aantal van hun onderdelen geprint, zodat je ermee kunt spelen!
Output: licht
Second Skins Re-FREAM door Malou Beemer toont de integratie van LED’s in kledingstukken, waarbij textiel wordt gebruikt om het licht te diffusen. Het toont ook elektronische traces die met een naaimachine zijn genaaid op de projectpagina.
Hardware & software
Je kunt al elektronische wearables maken zonder microcontroller. Je kunt bijvoorbeeld een knoopcelbatterij (en optionele knoopcelbatterijhouder met aan/uit-schakelaar) en een LED of LED-filament gebruiken en iets maken dat licht uitzendt. Je kunt het zelfs interactief maken door een LDR (lichtafhankelijke weerstand) aan de mix toe te voegen. Maar zodra je een microcontroller en programmering gebruikt, is de sky the limit!
Kit
Jullie hebben allemaal een kit ontvangen met de volgende inhoud:
- Seeed Studio XIAO ESP32S3-ontwikkelbord + 2 sets header-pinnen + Bluetooth-antenne
- Grove Shield voor XIAO
- Breadboard
- Jumperdraden (mannelijk/mannelijk en mannelijk/vrouwelijk)
- Lithium-ionbatterij (3,7 V 600 mAh)
- USB-C naar USB-C of USB-A-kabel
- LED
- LDR
- 2 weerstanden: 67 Ohm en 4,7 kOhm
- Microservomotor
- Piëzo-zoemer
Controleer of de inhoud van je kit overeenkomt met de onderstaande afbeelding (ongeveer):
Solderen
Hier is een soldeerstripbewerking van Andie Nordgren die je de basis laat zien van solderen:
En hier nog een handige referentie:
We gaan dit in de praktijk brengen met de header-pinnen van het XIAO-bord, zodat we eenvoudig elektronische circuitjes kunnen prototypen:
Zorg ervoor dat je verbindingen sterk zijn wanneer je draden soldeert.
Je kunt een flexibele LDR-spanningsdeler maken zoals deze:
De Arduino IDE instellen
In deze voorbeelden gebruiken we een Seeed Studio XIAO ESP32S3. Hun wiki is een geweldige plek om te beginnen en kennis te maken met alle mogelijkheden die dit kleine ontwikkelbord te bieden heeft. Maar eerst moeten we een aantal drivers installeren. Voor zowel Mac als Windows kun je ze hier krijgen (CP210x VCP Mac OSX Driver of CP210x Windows Drivers). Voor Mac kun je ook gewoon de onderstaande stappen volgen en dan voor het eerst iets uploaden naar je ESP32; er zou op een gegeven moment een prompt moeten zijn om wat drivers te installeren.
Voor een snelle start, volg deze stappen in de Arduino IDE (ervan uitgaande dat je het al hebt geïnstalleerd; als dat niet zo is, download dan de nieuwste stabiele versie en start deze):
- Navigeer naar
File > Preferences
en plak deze URL in de ‘Additional Boards Manager URL’s’: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Navigeer nu naar
Extra > Board > Boards Manager...
, typ het trefwoord “esp32” in het zoekvak, selecteer 2.0.17 (de nieuwste versie, 3.x.x, werkt niet met de ESP32Servo-bibliotheek) en installeer deze. - Sluit je board aan en selecteer het board en de poort in het dropdownmenu linksboven in de interface. Klik op ‘Selecteer ander board en poort’ en zoek naar de XIAO_ESP32S3.
Dat zou het moeten zijn! Nu kun je beginnen met het uploaden van de voorbeeldcode of je eigen code schrijven. Houd er rekening mee dat ESP32’s soms in de verkeerde modus staan om te programmeren. Je kunt terug naar de opstartmodus door het board los te koppelen, de opstartknop (B, van boot) op het board ingedrukt te houden en het board vervolgens weer aan te sluiten. Nu zou het weer moeten werken :-)
Basis setup
Om wearables te prototypen, gaan we het Grove Shield voor XIAO gebruiken, wat het prototypen makkelijker maakt. Je kunt zelfs je LiPO-batterij opladen met de XIAO terwijl deze op het shield zit, dus je hebt er geen aparte oplader voor nodig. Het is plug and play en je kunt het kleinere deel van de basis afklikken als je het niet nodig hebt. Het is makkelijk af te breken (maar let op, want daarna kun je ‘m niet meer terugplakken):
Je kunt het shield altijd weglaten als het te groot is voor je uiteindelijke wearable, zodra je weet hoe je alles wilt aansluiten; er is ook protoboard om alles op te solderen als je wil.
Om te beginnen gebruiken we het shield als een prototypingbord samen met een breadboard. Je kunt Grove kabels in de sockets steken om de datapinnen met je inputs en outputs te verbinden, je kunt draden solderen aan de GPIO-gaten of je kunt sockets solderen in de GPIO-gaten (zoals hieronder) om jumperdraden in te pluggen voor plug & play!
Je kunt ook gewoon het mini breadboard gebruiken om te beginnen met prototypen en het shield bewaren voor later.
Batterijgebruik
Let goed op wanneer je de batterij aansluit: verbind + met + en - met min!
De batterij is ongeveer even groot als het shield, dus je kunt hem zo vouwen en met klittenband of dubbelzijdig plakband aan elkaar plakken. Ik zou geen lijm gebruiken, omdat ik niet zeker weet hoe het zou reageren met de batterij en de verbindingen op het shield.
Ik zou de onderkant van het bord met plakband bedekken om kortsluiting te voorkomen, bijvoorbeeld als je een metalen clip aan de basis wilt lijmen om hem draagbaar te maken.
Weerstanden
Voor de led’s gebruiken we een 67 Ohm stroombegrenzende weerstand. De waarden voor de weerstand in serie met een led zijn afhankelijk van een aantal factoren (kleur, voedingsspanning, stroomsterkte); 67 Ohm is gebaseerd op een voedingsspanning van 3,3 V, een gemiddelde spanningsval van 2 V en een stroomsterkte van de LED van 20 mA. Er zijn hier online rekenmachines voor :-) Als je een grotere weerstand gebruikt, zal het (tot op zekere hoogte) nog steeds werken, maar de LED zal iets minder fel schijnen. Als je een kleinere weerstand gebruikt, kan de LED iets feller schijnen, maar kan deze op de lange termijn ook kapot gaan.
Voor de LDR zit er een 4.7k Ohm weerstand in je kit. Deze waarde heb ik uitgekozen omdat die goed werkt met de LDRs omdat ze een vergelijkbare range hebben. Als je zelf LDRs koopt, hebben ze misschien andere minimale en maximale waardes, dus probeer het uit of kijk in de datasheet.
Arduino-code en -circuits
Voorbeeldcode is te vinden in de map Arduino (code)
. Je vindt voorbeelden van geprogrammeerde en externe, digitale, analoge en touch input, gecombineerd met licht-, bewegings- of geluidsoutput. Hieronder vind je hoe je de circuits op een breadboard moet aansluiten. Dit wordt ook beschreven in de Arduino-codebestanden. De link naar de bestanden staat in het zijmenu.
Geprogrammeerde input
- Een LED laten knipperen (licht als output, digitalWrite)
- Een LED laten dimmen (analogWrite, PWM)
Sluit je circuit op het breadboard zo aan:
Hier is een video van wat de output zou moeten zijn.
Als je de LED aansluit op een ESP32S3 op een Grove shield, is het resultaat hetzelfde:
Digitale ingang
- Een LED aanzetten met een drukknop (digitalRead, met interne pullup-weerstand)
Sluit je circuit aan zoals hieronder.
Analoge ingang
- LDR-sensorwaarden lezen (seriële monitor)
- LDR-sensorwaarden gebruiken om LED te dimmen (input toewijzen aan output)
- LDR-sensorwaarden gebruiken om Neopixels te laten oplichten (gebruik van libraries)
Voor de LDR- en LED-voorbeelden maak je je circuit in zoals hieronder.
Hier zie je de interactie:
En voor de Neopixel-strip, sluit je deze als volgt aan:
Ook een voorbeeld wanneer de ESP32S3 op het Grove shield zit:
- Een servo met LDR-ingang (beweging als output) bewegen
Sluit als volgt aan:
Als wearable is dit is wat je kunt doen met een servomotor en een LDR!
Als je het circuit met een LDR hebt gemaakt, is het nog maar één stap verder om je eigen, zelfgemaakte sensor aan te sluiten! Haal de LDR eruit en steek twee jumperdraden met krokodillenklemuitgang waar de poten van de LDR zaten. Zo vervang je de ene variabele weerstand door de ander.
Touch input
- Een LED aanzetten met touch (touchRead, input gebruiken om iets met output te doen, while statement)
- Een LED aanzetten met touch (if/else statement)
- Een LED dimmen met aanraking (touchRead, capaciteitsbereiken in kaart brengen)
- Een capaciteitsbereik mappen naar tonen op een luidspreker (geluid als output, tone functie)
- Aanraakpinnen gebruiken om een toetsenbord te maken (meerdere pinnen, arrays)
Voor de voorbeelden van aanraking en LED, sluit je het breadboard aan zoals hieronder. De krokodillenklem kan ook een mannelijke/mannelijke jumperdraad zijn, zolang er iets is dat je kunt aanraken.
Hier wordt een jumperdraad gebruikt; wanneer je het uiteinde van de draad aanraakt, licht de LED op.
De touch- en speakervoorbeelden kunnen worden aangesloten zoals hieronder; in dit voorbeeld is het met een buzzer, maar het werkt ook met een piëzo buzzer zoals in de kit!
Het voorbeeld van het touch klinkt als volgt:
Je kunt ook iets geleidends aansluiten, zoals een geleidende, gepunnikte sensor. Nu is de interactie veel interessanter!
En als je meer aanraaksensoren wilt, sluit je gewoon meer draden aan op de aanraakpinnen die je wilt gebruiken en pas je de code erop aan. Ik heb de speaker nu naar de andere kant verplaatst, zodat alle aanraakingangen aan één kant zitten.