Moving Ribs by Respiration

by ojiroars in Circuits > Arduino

125 Views, 0 Favorites, 0 Comments

Moving Ribs by Respiration

IMG_4885.jpg
IMG_4884.jpg
IMG_4883.jpg

Dit project is een bodysuit waarbij de ribben meebewegen met diepe ademhaling. De bodysuit heeft drie ribben die ik met de lasersnijder heb uitgesneden en bewegen via drie verschillende servo's die vastzitten aan tandwielen. Het heeft een omhulsing van een lichte foam die vastgenaaid moet zitten aan het pak. Het pak reageert op de ademhaling door middel van een potentiometer die vastzit aan elastiek die meegaat met ademhaling. De ribben zijn uitgesneden uit een acryl plaat.

Als inspiratie heb ik gekeken naar de 3D geprinte designs van Iris van Herpen. Het plan was dan ook als eerst om het te 3D-printen maar met de grootte en tijd heb ik ervoor gekozen om het te lasersnijden. Ik ben zelf heel geinteresseerd in het menselijk lichaam en wilde dan ook een representatie maken van hoe het soms voelt om een diepe ademhaling te maken. Vanuit dat idee kwam deze bodysuit.

Supplies

Elektronische componenten

  • Arduino Uno
  • 3x Micro Servo 9G SG90
  • Schuifpotentiometer F3031N
  • Jumper Kabels
  • Powerbank
  • Soldeerplaat

Behuizing

  • Foambord Zwart 5mm dikte
  • 2x Acrylplaat 50x50m 3mm
  • Zwart geweven elastiek 25 mm
  • Secondelijm
  • Schroeven
  • Stof om bodysuit uit te maken, of optioneel kant en klare bodysuit.

Tools

  • Boormachine
  • Soldeerbout en tin

Schetsen, Proberen, Itereren

image.png
image (1).png
Movement potentiometer
IMG_2067.jpg
IMG_2060.jpg
IMG_2061.jpg
Prototype 1

Ik begonnen met een schets op papier. Ik wilde even goed in mijn hoofd hebben hoe het eruit zou zien. Vervolgens heb ik dit besproken met mijn begeleider en zijn wij op het idee gekomen om de ademhaling te meten via de stretch van de buik. Dit doen we door middel van een breed stuk elastiek die vastzit aan een slider potentiometer. Als de gebruiker een diepe ademhaling doet, beweegt het elastiek en neemt die de slider mee. Ik heb dit meteen uitgeprobeert en het werkte zoals bedacht.

Daarnaast ben ik ook meteen begonnen met een prototype van karton. Ik heb hierbij ook elastiek gebruikt maar het de ribben laten bewegen door middel van een trek beweging. Later werd het duidelijk dat dit een minder stabiele manier van beweging is en heb ik besloten om de ribben te laten bewegen door middel van tandwielen.

Het Pak (optioneel)

IMG_3369.jpg
IMG_3649.jpg
IMG_3653.jpg
d085626d-e9bb-4a34-97f1-8e6838fe22c0.jpg
0d95a318-ccb9-475a-8dda-0ea5ddd12ef6.jpg

In principe is deze stap optioneel, maar ik had ervoor gekozen op zelf een bodysuit te gaan naaien waar ik de behuizing aan wilde vastmaken. Ik heb eerst een slordig prototype gemaakt uit wegwerp stof om alle afmetingen en plaatsingen te bepalen. Vervolgens heb ik een patroon voor de bodysuit gemaakt door mijn lichaam in te tapen en het over te trekken op stof. Daarna heb ik alles vast gepind aan een paspop om te checken of de proporties wel kloppen. Toen dat klopte heb ik het vastgenaaid en de sluiting uit een oude bh-sluiting gemaakt.

Deze stap is vooral optioneel omdat je ook gebruik had kunnen maken van een kant en klare bodysuit uit de winkel.

Ribben

Spine.png
ribs.png
E90B190A-2132-4B3B-A7E4-470A3E2EACB9.jpg
IMG_4985.jpg

In eerste instantie wilde ik de ribben 3D printen, maar omdat de ribben zo groot waren en ik niet alle printers wilde innemen, heb ik ervoor gekozen om ze uit te snijden. Ik wilde graag een soort techno effect en heb er toen voor gekozen om ze uit te laten snijden op doorzichtige acryl platen.

Voor het lasersnijden heb ik eerst een schets via Clip Studio Paint gemaakt, ik heb ervoor gekozen om maar 3 sets van ribben uit te laseren door het gewicht en de ruimte die het op neemt. Voor de behuizing wilde ik ook graag gebruik maken van de ruggenwervels die in het menselijk lichaam voor komen. Vervolgens heb ik deze tekeningen als dxf file gemaakt en laten uitsnijden op acryl platen van 3mm dik.

Ook heb ik meteen de tandwielen uit laten snijden van hetzelfde materiaal. Ik heb deze dxf file via vectorsfile gedownload.

Als laatste heb ik de tandwielen en ribben aan elkaar gelijmd en geschroeft. Ik heb een middenpunt bepaald voor beide de tanwielen en ribben en heb vervolgens een gat geboord waar een klein schroefje doorheen kon. Vervolgens heb ik ze voorzichtig op elkaar gelijmd met seconde lijm zodat de gaten op dezelfde plek zaten. Als extra versteviging heb ik daarna de schroefjes er in geschroefd.

https://vectorsfile.com/z14-gear-dxf-file/

Behuizing En Vastmaken

IMG_4838.jpg
IMG_4847.jpg
IMG_4883 (1).jpg
IMG_4853.jpg
IMG_4984.jpg
IMG_4885 (1).jpg

Ik heb ervoor gekozen om de behuizing uit foam te maken. Ik wilde een licht materiaal gebruiken die ik kon vastnaaien aan het pak. De basis is een foam plaat van 6cm x 50cm. Ik heb kleine sneetjes in de basis plaat gemaakt zodat het materiaal wat flexibeler mee ging. Vervolgens heb ik drie kleine stukjes foam, de breedte van een servo, op elkaar gelijmd met secondelijm. Deze ruimte was nodig zodat de tandwielen genoeg ruimte hadden om te bewegen. Deze kleine stukjes foam heb ik op de plekken gezet waar ik de servo's wilde hebben.

Daarna heb ik het bovenste stuk van de behuizing gemaakt met foam van 8cm x 50cm. Een stukje breder. Hierbij heb ik alle wervels uitgesneden met een stylo mesje, achteraf had ik dit beter ook kunnen lasersnijden. Toen alles was uitgesneden heb ik mijn acryl plaat wervels vastgelijmd in het foam als een soort raampje.

Vervolgens heb ik de overgebleven tandwielen vastgemaakt aan de servo's. Hiervoor heb ik eerst een klein gaatje in de tandwielen geboord en ze vervolgens vastgelijmd aan bestaande servo componenten. Daarna heb ik ze ook extra vastgeschroefd met de bijbehorende schroefjes.

Om alles wat extra stabiliteit te geven heb ik stukjes foam van 10cm x 8cm uitgesneden. Deze stonden als extra support voor de behuizing en gaven ruimte om de ribben/tandwielen in te schroeven.

Daarna liep ik helaas tegen een aantal dingen aan. Als eerst realiseerde ik me, dat wanneer ik alles aan elkaar heb gesoldeerd, er geen ruimte is om de kabels überhaupt om jezelf heen te krijgen. Ik heb dit toen gefixt door een pin stukje van een oud moederbord te halen en dat vast te zetten aan mijn soldeer bord. Hierdoor kan je het draadje vast en los maken als een riem.

Helaas kwam ik daarna met nog een probleem. Het gewicht van de ribben en de zachte foam zorgde ervoor dat de ribben niet vastzaten en naar voren vielen door het ongelijke balans. Mijn manier om dit te fixen zou door een langere buis door de tandwielen te zetten met nog een extra stukje buis door het tandwiel zelf, hierdoor krijg je beter evenwicht en kunnen de ribben alsnog apart van elkaar bewegen. Het programmeren hiervan was helaas een stukje moeilijker omdat de waardes wat moeilijk te lezen waren.

Het laatste ding waar ik tegenaan liep was dat mijn naaimachine niet meer werkte. Ik wilde de foam bedekken met stof en dat vast naaien aan het pak. Ik probeerde nog te handnaaien maar mijn stress zorgde er helaas voor dat dit met trillende handen niet mogelijk was. Wel heb ik nog het elastiek vast kunnen maken aan het pak voordat mijn naaimachine het begaf.

Voor display heb ik een stuk ijzerdraad door de bovenkant van de behuizing gedaan en die laten hangen als een soort ketting aan de nek.

Arduino Circuit

Screenshot 2022-06-19 155254.png
Screenshot 2022-06-19 155319.png
Screenshot 2022-06-19 155337.png

Het circuit van dit project is in principe vrij simpel. De servo's zijn allemaal op een andere pin gezet omdat het in eerste instantie de bedoeling was om de ribben een seconde na elkaar te laten bewegen. Het project wordt gevoed door een kleine powerbank die vastzit aan de Arduino. De rode kabels van de servo's heb ik samen gesoldeerd met de 3e pin van de potentiometer en vervolgens vastgezet aan de 5V van de Arduino. De zwarte kabels van de servo's zijn samen gesoldeerd met de 1e pin van de potentiometer en vastgezet aan de GND pin van de Arduino. Als laatste zit de 2e pin van de potentiometer vast aan de A0 van de Arduino. Dit werkte zoals in de video in de volgende stap.

Code

Movement Servo's
// De code is in principe vrij makkelijk en heb ik deels overgenomen van een video van robojax: http://robojax.com/node/1211 en aangepast op mijn eigen project #include // add servo library Servo myservo1; // servoboven Servo myservo2; // servomidden Servo myservo3; //servoonder int potpin = A0; // analog pin naar 2 van pot int val; // value van analog pin void setup() { Serial.begin(9600); myservo1.attach(9); // servoboven aan pin 9 myservo2.attach(8); // servomidden aan pin 8 myservo3.attach(7); // servoonder aan pin 7 } void loop() { val = analogRead(potpin); val = map(val, 0, 1023, 0, 180); myservo1.write(val); myservo2.write(val); myservo3.write(val); delay(10); int value = analogRead (A0); Serial.println(val); Serial.println(); }

Conclusie

Ik ben met veel enthousiasme begonnen aan dit project. Ik vond het fijn om iets met hardware te doen dat een keertje buiten het gamen zat. Ik heb geleerd hoe ik moet solderen, hoe ik met een Arduino kan programmeren en hoe ik kan lasersnijden.

Ook heb ik geleerd van mijn vele prototypes en er ging een wereld voor mij open in hoe ik mijn ideeën tot leven kon wekken.

Helaas ben ik in dit project in totaal drie weken ziek geweest, twee weken ben ik uitgeschakeld geweest vanwege corona en de laatste week voor de deadline heb ik last gekregen van een lichte luchtweg ontsteking. Door deze dingen kwam ik in tijdnood en heb ik geen ruimte meer over kunnen laten voor fouten en is mijn project niet afgemaakt zoals ik het liefst had.

Al met al een leuk en waardevol project maar met een minder leuk einde.