Innehållsförteckning:

Interaktiv LED -lampa - Tensegrity Structure + Arduino: 5 steg (med bilder)
Interaktiv LED -lampa - Tensegrity Structure + Arduino: 5 steg (med bilder)

Video: Interaktiv LED -lampa - Tensegrity Structure + Arduino: 5 steg (med bilder)

Video: Interaktiv LED -lampa - Tensegrity Structure + Arduino: 5 steg (med bilder)
Video: Amazing arduino project 2024, Juli
Anonim
Interaktiv LED -lampa | Tensegrity Struktur + Arduino
Interaktiv LED -lampa | Tensegrity Struktur + Arduino
Interaktiv LED -lampa | Tensegrity Struktur + Arduino
Interaktiv LED -lampa | Tensegrity Struktur + Arduino
Interaktiv LED -lampa | Tensegrity Struktur + Arduino
Interaktiv LED -lampa | Tensegrity Struktur + Arduino

Denna bit är en rörelsekänslig lampa. Designad som en minimal tensegrity -skulptur, ändrar lampan sin konfiguration av färger som svar på hela strukturens orientering och rörelser. Med andra ord, beroende på dess orientering, ändras lampan till en viss färg, ljusstyrka och ljusläge.

När ikosaedern roterar (över sin egen axel) väljer den ett värde från en virtuell sfärisk färgväljare. Denna färgväljare är inte synlig, men färgjusteringar sker i realtid. Således kan du räkna ut var varje färg är placerad i rymden, medan du leker med stycket.

Den icosahedral -formen ger 20 ansiktsplan och tensegrity -strukturen ger den ytterligare 6 ståndpunkter. Detta ger totalt 26 möjliga färger när lampan vilar på en plan yta. Detta antal ökar när du vrider lampan i luften.

Systemet styrs av en Pro Trinket ansluten till en treaxlad accelerometer. Ljuset tillhandahålls av RGBW LED -remsor som kan styra färg och vit ljusstyrka individuellt. Hela kretsen, inklusive mikroprocessor, sensorer och belysningssystem fungerar vid 5v. För att starta systemet krävs en källa upp till 10A.

En lista över huvudelementen som används i lampan är följande:

- Adafruit Pro Trinket - 5V

- Adafruit LIS3DH Accelerometer med tre axlar

- Adafruit NeoPixel Digital RGBW LED Strip - Vit PCB 60 LED/m

- 5V 10A växelströmförsörjning

Denna rörelsekänsliga lampa är den första versionen eller prototypen av ett längre personligt projekt. Denna prototyp är gjord av återvunnet material. Under hela design- och konstruktionsprocesserna lärde jag mig av framgångar och misstag. Med dessa i åtanke, nu arbetar jag med nästa version som kommer att ha en mer intelligent struktur och robust programvara.

Jag vill tacka LACUNA LAB -gemenskapen för deras hjälp, idéer och förslag under hela projektets utveckling.

du kan följa mitt arbete på: action-io / tumblraction-script / github

Steg 1: Idén

Idén
Idén
Idén
Idén
Idén
Idén

Detta projekt var resultatet av flera idéer som jag hade lekt med i mitt huvud en tid.

Sedan jag började har konceptet förändrats, det första projektet utvecklats och tog verklig form.

Det första tillvägagångssättet var ett intresse för geometriska former som medel för interaktion. På grund av dess design fungerar lampans flera polygonala ytor som inmatningsmetod.

Den första idén var att använda ett dynamiskt system för att tvinga ikosaedern att röra sig. Detta kunde ha kontrollerats av en interaktiv applikation eller användare av sociala medier.

En annan möjlighet skulle ha varit att få en intern marmor eller boll att trycka på olika knappar eller sensorer och därmed generera slumpmässiga ingångar när stycket rör sig.

Tensegritetsstrukturen hände senare.

Denna konstruktionsmetod fascinerade mig: hur delar av strukturen håller varandra balanserade. Det är mycket visuellt tilltalande. Hela strukturen är självbalanserad; bitarna rör inte varandra direkt. Det är summan av alla spänningar som skapar stycket; det är fantastiskt!

Eftersom den ursprungliga designen har förändrats; projektet går framåt.

Steg 2: Strukturen

Strukturen
Strukturen
Strukturen
Strukturen
Strukturen
Strukturen
Strukturen
Strukturen

Som jag nämnde tidigare var denna första modell gjord av återvunnet material som var tänkt att kasseras.

Träskivorna tog jag från en lamellbädd som jag hittade på gatan. De gyllene listerna var en del av armen på en gammal lampa och proppen för gummibanden är kontorsclips.

Hur som helst, konstruktionen av strukturen är ganska enkel och stegen är desamma som i alla tensegriry.

Det jag gjorde med brädorna är att få ihop dem, i grupper om två. Att göra en "smörgås" med guldbrickorna och lämna ett gap där lamporna skulle lysa igenom.

Projektets dimensioner är helt varierande och beror på storleken på den struktur du vill göra. Trästavarna från bilderna på detta projekt är 38 cm långa och 38 mm breda. Avståndet mellan brädorna är 13 mm.

Träskivorna skars identiskt, slipades (för att ta bort det gamla färgskiktet) och perforerades sedan i båda ändarna.

Därefter färgade jag brädorna med rustikt mörkt lack. För att fästa bitarna använde jag en 5 mm gängad stång, skuren i sektioner på 5 cm och 5 mm med en knut på varje sida.

Spännarna är röda gummiband. För att fästa gummit på stavarna gjorde jag ett litet hål genom vilket jag passerade bandet och spärrade det sedan med en propp. Detta förhindrar att brädorna rör sig fritt och strukturen att demontera flyttas.

Steg 3: Elektronik och lampor

Elektronik och lampor
Elektronik och lampor
Elektronik och lampor
Elektronik och lampor
Elektronik och lampor
Elektronik och lampor
Elektronik och lampor
Elektronik och lampor

Konfigurationen av de elektroniska komponenterna har utformats för att bibehålla samma spänning, både logik och matning i hela systemet med 5v.

Systemet styrs av en Pro Trinket ansluten till en treaxlad accelerometer. Ljuset tillhandahålls av RGBW LED -remsor som kan styra färgerna och vita ljusstyrkor individuellt. Hela kretsen, inklusive mikroprocessor, sensorer och belysningssystem fungerar vid 5v. För att starta systemet krävs en källa upp till 10A.

Pro Trinket 5V använder Atmega328P -chipet, vilket är samma kärna i Arduino UNO. Den har också nästan samma stift. Så det är verkligen användbart när du vill ta ditt UNO -projekt till miniatyriserade utrymmen.

LIS3DH är en mångsidig sensor, den kan omkonfigureras för att läsa in till +-2g/4g/8g/16g och ger också Tap, Double-tap, orientering och fri falldetektering.

NeoPixel RGBW LED Strip kan hantera nyansfärgen och vitintensiteten separat. Med en dedikerad vit LED behöver du inte”mätta alla färger för att få ett vitt ljus, det gör dig också vit mer ren och ljus och dessutom sparar det energi.

För kabeldragning och för att ansluta komponenterna bestämde jag mig för att passera kabeln och skapa uttag med han- och honstift med hjälp av krympor och kontaktdon.

Jag anslöt prydnadssaken till accelerometern, kasta SPI: n med standardkonfigurationen. Detta innebär att Vin ansluts till 5V. Anslut GND till gemensam ström/datajord. Anslut SCL (SCK) -stiftet till Digital #13. Anslut SDO -stiftet till Digital #12. Anslut SDA -stiftet till Digital #11. Anslut CS -stiftet Digital #10.

LED -remsan styrs av endast en stift, det går till #6 och marken och 5v går direkt till nätadaptern.

All dokumentation du kan behöva hittar du, mer detaljerad och bättre förklarad på adafruit -sidan.

Strömförsörjningen är ansluten till en kvinnlig DC -adapter som samtidigt matar mikrokontrollern och LED -remsan. Den har också en kondensator för att skydda kretsen från instabil ström vid "påslagning" -momentet.

Lampan har 6 ljusstänger, men LED -remsorna finns i ett enda långt band. LED -bandet skärs i sektioner på 30 cm (18 LEDS) och svetsades sedan med han- och honstiften 3 stift för att ansluta till resten av kretsen modulärt.

För detta projekt använder jag en 5v - 10A strömförsörjning. Men beroende på antalet lysdioder du behöver måste du beräkna strömmen som behövs för att mata systemet.

Genom hela dokumentationen av stycket kan du se att lysdioden har 80mA dragit per LED. Jag använder totalt 108 lysdioder.

Steg 4: Koden

Koden
Koden

Schemat fungerar är ganska enkelt. En accelerometer ger information om rörelse på x-, y-, z -axeln. Baserat på orienteringen uppdateras lysdiodernas RGB -värden.

Arbetet är uppdelat i följande faser.

  • Gör en avläsning från sensorn. Använd bara api.
  • Genom trigonometri, lösa värdena för "rulla och kasta". Du kan hitta mycket mer information i detta dokument av Mark Pedley.
  • Skaffa motsvarande färg, relaterad till rotationsvärdena. För att vända oss till 0-360 RGB -värde med en HSL - RGB -konverteringsfunktion. Värdet på tonhöjden används i olika skalor för att reglera intensiteten hos vitt ljus och färgmättnad. De motsatta halvklotet i färgväljarsfären är helt vita.
  • Uppdatera bufferten för lampor som lagrar information om enskilda LED -färger. Beroende på denna information kommer buffertkontrollen att skapa en animering eller svara med kompletterande färger.
  • Slutligen visa färgerna och uppdatera lysdioderna.

Inledningsvis var tanken att skapa en färgsfär där du kunde välja vilken färg som helst. Placera färghjulet på meridianen och polera de mörka och ljusa tonerna.

Men snabbt blev idén bortkastad. Eftersom lysdioderna skapar olika toner, släckt och snabbt tända varje rgb -LED, när de ges låga värden för att representera mörka färger, ger lysdioderna en mycket dålig prestanda och du kan se hur de börjar blinka. Detta gör att färgsfärens mörka halvklot inte kan fungera korrekt.

Då kommer jag på idén att tilldela kompletterande färger till den valda tonen.

Så, ett halvklot väljer ett monokromatiskt färgvärde för ett hjul från 50% belysning 90 ~ 100% mättnad. Samtidigt väljer den andra sidan en färggradient från samma färgposition men lägger till, på andra sidan av gradienten, dess kompletterande färg.

Läsningen av data från sensorn är rå. Ett filter kan appliceras för att släta ut buller och vibrationer från själva lampan. För tillfället tycker jag det är intressant eftersom det ser mer analogt ut, reagerar på alla beröringar och tar en sekund att stabilisera sig helt.

Jag arbetar fortfarande med koden och lägger till nya funktioner och optimerar animationerna.

Du kan kontrollera de senaste versionerna av koden på mitt github -konto.

Steg 5: Förpackning

Avslutar
Avslutar
Avslutar
Avslutar
Avslutar
Avslutar
Avslutar
Avslutar

Den slutliga monteringen är ganska enkel. Lim fast silikonskyddet på LED -remsorna med två komponentepoxilim i stängerna och anslut de 6 delarna i serie efter varandra.

Fixera en punkt där du vill förankra komponenterna och skruva in accelerometern och prinkrysset i träet. Jag använde en distansplast av plast för att skydda stiftets botten. Strömförsörjningsadaptern är ordentligt fixerad mellan stavarnas utrymme med mer epoxilim. Utformad för att passa och förhindrar att den rör sig när lampan roterar.

Observationer och förbättringar

Under hela utvecklingen av projektet har nya idéer framkommit om sätt att lösa problem. Jag insåg också några designfel eller delar som kan förbättras.

Nästa steg som jag skulle vilja ta är en förbättring av produktkvalitet och finish; mestadels i strukturen. Jag kommer med bra idéer om bättre strukturer ännu enklare, med tensorer som en del av designen och döljer komponenterna. Denna struktur kommer att kräva kraftfullare verktyg som 3D -skrivare och laserskärare.

Jag har fortfarande väntat på sättet att dölja ledningarna längs strukturen. Och arbeta för en mer effektiv energiförbrukning; att minska utgifterna när lampan fungerar länge och inte ändrar belysningen.

Tack för att du läste artikeln och ditt intresse för mitt arbete. Jag hoppas att du har lärt dig så mycket av detta projekt som jag.

Rekommenderad: