Tartalomjegyzék:

Interaktív LED -lámpa - Tensegrity Structure + Arduino: 5 lépés (képekkel)
Interaktív LED -lámpa - Tensegrity Structure + Arduino: 5 lépés (képekkel)

Videó: Interaktív LED -lámpa - Tensegrity Structure + Arduino: 5 lépés (képekkel)

Videó: Interaktív LED -lámpa - Tensegrity Structure + Arduino: 5 lépés (képekkel)
Videó: Amazing arduino project 2024, November
Anonim
Interaktív LED -lámpa | Tensegrity Structure + Arduino
Interaktív LED -lámpa | Tensegrity Structure + Arduino
Interaktív LED -lámpa | Tensegrity Structure + Arduino
Interaktív LED -lámpa | Tensegrity Structure + Arduino
Interaktív LED -lámpa | Tensegrity Structure + Arduino
Interaktív LED -lámpa | Tensegrity Structure + Arduino

Ez a darab egy mozgásra érzékeny lámpa. A minimális feszültségű szoborként tervezett lámpa megváltoztatja a színek konfigurációját az egész szerkezet tájolásának és mozgásának megfelelően. Más szóval, a tájolástól függően a lámpa egy bizonyos szín-, fényerő- és fénymódra vált.

Amikor az ikozaéder forog (saját tengelye felett), akkor egy virtuális gömb alakú színválasztóból választ ki értéket. Ez a színválasztó nem látható, de a színbeállítások valós időben történnek. Így kitalálhatod, hogy az egyes színek hol helyezkednek el a térben, miközben játszol a darabbal.

Az ikozaéder alakzat 20 arcsíkot biztosít, a feszítő szerkezet pedig további 6 álláspontot biztosít. Ez összesen 26 lehetséges színt biztosít, ha a lámpa sík felületen nyugszik. Ez a szám növekszik, amikor a lámpát a levegőben forgatja.

A rendszert egy háromtengelyes gyorsulásmérőhöz csatlakoztatott Pro Trinket vezérli. A fényt RGBW LED szalagok biztosítják, amelyek egyedileg szabályozhatják a szín és a fehér fényerő értékét. A teljes áramkör, beleértve a mikroprocesszort, az érzékelőket és a világítási rendszert, 5 voltos feszültséggel működik. A rendszer bekapcsolásához 10A -es forrás szükséges.

A lámpában használt fő elemek listája a következő:

- Adafruit Pro csecsebecsék - 5V

- Adafruit LIS3DH hármas tengelyű gyorsulásmérő

- Adafruit NeoPixel digitális RGBW LED szalag - fehér NYÁK 60 LED/m

- 5V 10A kapcsoló tápegység

Ez a mozgásra érzékeny lámpa egy hosszabb személyes projekt első változata vagy prototípusa. Ez a prototípus újrahasznosított anyagokból készült. A tervezési és kivitelezési folyamatok során tanultam a sikerekből és a hibákból. Ezeket szem előtt tartva, most a következő verzión dolgozom, amely intelligensebb szerkezetet és robusztus szoftvert tartalmaz.

Szeretném megköszönni a LACUNA LAB közösség segítségét, ötleteit és javaslatait a projekt kidolgozása során.

munkáimat itt követheti: action-io / tumblraction-script / github

1. lépés: Az ötlet

Az ötlet
Az ötlet
Az ötlet
Az ötlet
Az ötlet
Az ötlet

Ez a projekt több olyan ötlet eredménye volt, amelyekkel már egy ideje játszottam a fejemben.

Amióta elkezdtem, a koncepció megváltozott, a kezdeti projekt fejlődött és tényleges formát öltött.

A kezdeti megközelítés a geometriai formák iránti érdeklődés volt, mint az interakció eszköze. Kialakítása miatt a lámpa több sokszögű oldala beviteli módként szolgál.

Az első ötlet az volt, hogy dinamikus rendszerrel kényszerítsük az ikozaédert mozgásra. Ezt egy interaktív alkalmazás vagy a közösségi média felhasználói irányíthatták.

Egy másik lehetőség az lett volna, hogy a belső márvány vagy golyó különböző gombokat vagy érzékelőket nyom meg, és így véletlenszerű bemeneteket generál a darab mozgatásakor.

A feszültségszerkezet később következett be.

Ez az építési módszer lenyűgözött: az, hogy a szerkezet részei hogyan tartják egymást egyensúlyban. Vizuálisan nagyon kellemes. Az egész szerkezet önmagában kiegyensúlyozott; a darabok nem érintkeznek közvetlenül egymással. Minden feszültség összege alkotja a darabot; ez fantasztikus!

Ahogy a kezdeti kialakítás megváltozott; a projekt halad előre.

2. lépés: A szerkezet

A szerkezet
A szerkezet
A szerkezet
A szerkezet
A szerkezet
A szerkezet
A szerkezet
A szerkezet

Amint már említettem, ez az első modell újrahasznosított anyagokból készült, amelyeket el kell dobni.

A fadeszkákat, amelyeket az utcán találtam egy rácsos ágyból. Az arany kárpitok egy régi lámpa karjának részét képezték, a gumiszalagok dugói pedig irodai klipek.

Mindenesetre a szerkezet felépítése meglehetősen egyszerű, és a lépések ugyanazok, mint minden tensegriry -ben.

A táblákkal az volt, hogy összehoztam őket, kétfős csoportokban. "Szendvics" készítése az arany távtartókkal, rést hagyva, ahol a fények átvilágítanak.

A projekt mérete teljesen változó, és a létrehozni kívánt szerkezet méretétől függ. A projekt képein látható fa rudak 38 cm hosszúak és 38 mm szélesek. A táblák közötti távolság 13 mm.

A falapokat azonos módon vágták, csiszolták (a régi festékréteg eltávolítása érdekében), majd mindkét végén perforálták.

Ezután a táblákat rusztikus sötét lakkal festettem meg. A darabok összekapcsolásához 5 mm -es menetes rudat használtam, 5 cm -es és 5 mm -es szakaszokra vágva, mindkét oldalon csomóval.

A feszítők piros gumiszalagok. Ahhoz, hogy a gumit a rudakhoz rögzítsem, készítettem egy kis lyukat, amelyen átengedtem a szalagot, majd egy dugóval befogtam. Ez megakadályozza, hogy a táblák szabadon mozogjanak, és hogy a szerkezet szétszerelhető legyen.

3. lépés: Elektronika és fények

Elektronika és fények
Elektronika és fények
Elektronika és fények
Elektronika és fények
Elektronika és fények
Elektronika és fények
Elektronika és fények
Elektronika és fények

Az elektronikus alkatrészek konfigurációját úgy tervezték, hogy ugyanazt a feszültséget fenntartsák, mind logikailag, mind tápellátásban az egész rendszerben 5 V -ot használva.

A rendszert egy háromtengelyes gyorsulásmérőhöz csatlakoztatott Pro Trinket vezérli. A fényt RGBW LED szalagok biztosítják, amelyek egyedileg szabályozhatják a színeket és a fehér fényerő értékeket. A teljes áramkör, beleértve a mikroprocesszort, az érzékelőket és a világítási rendszert, 5 voltos feszültséggel működik. A rendszer bekapcsolásához 10A -es forrás szükséges.

A Pro Trinket 5V az Atmega328P chipet használja, amely ugyanaz a mag chip az Arduino UNO -ban. Szinte ugyanazokkal a csapokkal rendelkezik. Tehát nagyon hasznos, ha az UNO projektet miniatürizált terekbe szeretné vinni.

A LIS3DH sokoldalú érzékelő, átkonfigurálható +-2g/4g/8g/16g-ra, és koppintást, dupla koppintást, orientációt és szabadon esést is érzékel.

A NeoPixel RGBW LED szalag külön kezelheti a színárnyalatot és a fehér intenzitást. A dedikált fehér LED -del nem kell minden színt telítenie ahhoz, hogy fehér fény legyen, hanem tisztábbá és fényesebbé teszi a fehéret, ráadásul energiát takarít meg.

A kábelezéshez és az alkatrészek összekapcsolásához úgy döntöttem, hogy átvezetem a kábelt, és csatlakozóaljzatokat hozok létre hüvely- és hüvelycsapokkal, krimpek és csatlakozóházak használatával.

Csatlakoztattam a csecsebecsét a gyorsulásmérőhöz, az alapértelmezett konfigurációjú SPI -vel. Ez azt jelenti, hogy csatlakoztassa a Vin -t az 5 V -os tápegységhez. Csatlakoztassa a GND -t a közös tápellátáshoz/adatföldhöz. Csatlakoztassa az SCL (SCK) csapot a Digital #13 -hoz. Csatlakoztassa az SDO -tűt a #12. Csatlakoztassa az SDA (SDI) tűt a Digital #11 -hez. Csatlakoztassa a CS #10 digitális tűt.

A led szalagot csak egy érintkező vezérli, amely a #6 -os lesz, és a föld és az 5V közvetlenül a tápegységhez kerül.

Minden szükséges dokumentációt megtalál, részletesebben és jobban megmagyarázva az adafruit oldalon.

A tápegység egy női egyenáramú adapterhez van csatlakoztatva, amely egyidejűleg táplálja a mikrokontrollert és a LED szalagot. Ezenkívül kondenzátorral rendelkezik, amely megvédi az áramkört az instabil áramtól a "bekapcsolás" pillanatában.

A lámpának 6 fénysávja van, de a LED csíkok egyetlen hosszú sávban vannak. A LED -sávot 30 cm -es szakaszokra vágták (18 LED), majd 3 hüvelyes és anya csapokkal hegesztették, hogy modulárisan csatlakozzanak az áramkör többi részéhez.

Ehhez a projekthez 5–10 A tápegységet használok. De a szükséges LED -ek számától függően ki kell számítania a rendszer táplálásához szükséges áramot.

A darab dokumentációjában látható, hogy a LED LED -enként 80 mA -t húz. Összesen 108 LED -et használok.

4. lépés: A kód

A kód
A kód

A séma működése meglehetősen egyszerű. A gyorsulásmérő információt nyújt az x, y, z tengely mozgásáról. A tájolás alapján a LED -ek RGB értékei frissülnek.

A munka a következő szakaszokra oszlik.

  • Olvassa le az érzékelőt. Egyszerűen használja az API -t.
  • A trigonometria segítségével oldja meg a "roll and pitch" értékeket. Ebben a dokumentumban Mark Pedley sokkal több információt talál.
  • Szerezze be a megfelelő színt a forgási értékekkel kapcsolatban. Ehhez 0-360 RGB értékre térünk át egy HSL - RGB konverziós funkció segítségével. A hangmagasság értékét különböző skálákon használják a fehér fény intenzitásának és a színtelítettség szabályozására. A színválasztó gömb ellentétes félgömbje teljesen fehér.
  • Frissítse a fények pufferét, amely tárolja az egyes LED -színek adatait. Ezen információktól függően a puffervezérlő animációt hoz létre, vagy kiegészítő színekkel válaszol.
  • Végül mutassa meg a színeket, és frissítse a LED -eket.

Kezdetben az volt az ötlet, hogy hozzon létre egy színgömböt, ahol bármilyen szín közül választhat. A színkerék elhelyezése a meridiánon, és a sötét és világos tónusok oszlopos irányba állítása.

De az ötletet gyorsan elvetették. Mivel a LED -ek különböző hangokat hoznak létre, kikapcsolják és gyorsan meggyújtják az egyes rgb LED -eket, ha alacsony értékeket adnak a sötét színeknek, a LED -ek nagyon gyenge teljesítményt nyújtanak, és láthatja, hogyan kezdenek villogni. Ezáltal a színes gömb sötét félgömbje nem tud megfelelően működni.

Aztán eszembe jut, hogy kiegészítő színeket rendeljek az éppen kiválasztott hangszínhez.

Tehát az egyik félgömb a kerék monokróm színértékét választja ki 50% -os megvilágításból 90–100% -os telítettségből. Eközben a másik oldal kiválaszt egy színátmenetet ugyanabból a színhelyzetből, de a színátmenet másik oldalán hozzáadja annak kiegészítő színét.

Az érzékelőből származó adatok kiolvasása nyers. Szűrő alkalmazható a lámpa zajának és rezgésének kiegyenlítésére. Egyelőre érdekesnek találom, mert analógabbnak tűnik, reagál minden érintésre, és egy másodpercbe telik, amíg teljesen stabilizálódik.

Továbbra is dolgozom a kódon, új funkciók hozzáadásával és az animációk optimalizálásával.

A kód legújabb verzióit a github -fiókomban ellenőrizheti.

5. lépés: Csomagolás

Csomagolás
Csomagolás
Csomagolás
Csomagolás
Csomagolás
Csomagolás
Csomagolás
Csomagolás

A végső összeszerelés meglehetősen egyszerű. Ragassza a LED szalagok szilikon borítását két komponensű epoxi ragasztóval a rudakba, és kösse össze a 6 alkatrészt egymás után.

Rögzítsen egy pontot, ahol rögzíteni szeretné az alkatrészeket, és csavarja a gyorsulásmérőt és a csecsebecsét a fára. A csapok aljának védelmére műanyag távtartókat használtam. A tápegység adapter megfelelően rögzítve van a rudak között, több epoxi epoxi ragasztóval. Úgy tervezték, hogy illeszkedjen és megakadályozza a mozgást a lámpa forgása közben.

Megfigyelések és fejlesztések

A projekt fejlesztése során új ötletek merültek fel a problémák megoldásának módjairól. Rájöttem néhány tervezési hibára vagy javítható részre is.

A következő lépés, amelyet szeretnék megtenni, a termékminőség és a befejezés javítása; leginkább a szerkezetben. Nagyszerű ötletekkel érkezem a még egyszerűbb, jobb szerkezetekről, amelyek a tervezés részeként beépítik a tenzorokat és elrejtik az alkatrészeket. Ehhez a szerkezethez erősebb eszközökre lesz szükség, mint például 3D nyomtatók és lézervágók.

Még mindig várom az utat, hogy elrejtsem a vezetékeket a szerkezet mentén. És dolgozzon a hatékonyabb energiafogyasztáson; hogy csökkentse a kiadásokat, ha a lámpa hosszú ideig működik, és nem változtatja meg a világítást.

Köszönöm, hogy elolvasta a cikket, és érdeklődik a munkám iránt. Remélem, Ön is sokat tanult ebből a projektből, mint én.

Ajánlott: