Cuprins:

Lampă interactivă cu led - Structura Tensegrity + Arduino: 5 pași (cu imagini)
Lampă interactivă cu led - Structura Tensegrity + Arduino: 5 pași (cu imagini)

Video: Lampă interactivă cu led - Structura Tensegrity + Arduino: 5 pași (cu imagini)

Video: Lampă interactivă cu led - Structura Tensegrity + Arduino: 5 pași (cu imagini)
Video: DIY Nanoleaf without 3D printer 2024, Mai
Anonim
Lampă interactivă cu led | Structura Tensegrity + Arduino
Lampă interactivă cu led | Structura Tensegrity + Arduino
Lampă interactivă cu led | Structura Tensegrity + Arduino
Lampă interactivă cu led | Structura Tensegrity + Arduino
Lampă interactivă cu led | Structura Tensegrity + Arduino
Lampă interactivă cu led | Structura Tensegrity + Arduino

Această piesă este o lampă care răspunde la mișcare. Concepută ca o sculptură de tensegrity minimă, lampa își modifică configurația culorilor ca răspuns la orientarea și mișcările întregii structuri. Cu alte cuvinte, în funcție de orientarea sa, lampa se transformă într-o anumită culoare, luminozitate și mod luminos.

Când icosaedrul se rotește (peste propria axa), selectează o valoare dintr-un selector de culori sferic virtual. Acest selector de culori nu este vizibil, dar ajustările culorilor au loc în timp real. Astfel, vă puteți da seama unde fiecare culoare este poziționată în spațiu, în timp ce vă jucați cu piesa.

Forma icosaedrică oferă 20 de planuri de față, iar structura tensegrity îi conferă 6 puncte de vedere suplimentare. Aceasta oferă un total de 26 de culori posibile atunci când lampa se sprijină pe o suprafață plană. Acest număr crește atunci când întoarceți lampa în aer.

Sistemul este controlat de un Trinket Pro conectat la un accelerometru cu trei axe. Lumina este furnizată de benzi LED RGBW, care pot controla culoarea și valoarea luminozității albe în mod individual. Întregul circuit, inclusiv microprocesorul, senzorii și sistemul de iluminare funcționează la 5v. Pentru a porni sistemul, este necesară o sursă de până la 10A.

O listă a principalelor elemente utilizate în lampă sunt următoarele:

- Trinket Adafruit Pro - 5V

- Accelerometru cu trei axe Adafruit LIS3DH

- Benzi LED Adafruit NeoPixel Digital RGBW - PCB alb 60 LED / m

- Alimentare de comutare 5V 10A

Această lampă care răspunde la mișcare este prima versiune sau prototip al unui proiect personal mai lung. Acest prototip a fost realizat din materiale reciclate. De-a lungul proceselor de proiectare și construcție, am învățat din succese și greșeli. Având în vedere aceste lucruri, acum lucrez la următoarea versiune care va avea o structură mai inteligentă și un software robust.

Vreau să mulțumesc comunității LACUNA LAB pentru ajutor, idei și sugestii pe parcursul dezvoltării proiectului.

îmi poți urmări activitatea la: action-io / tumblraction-script / github

Pasul 1: Ideea

Ideea
Ideea
Ideea
Ideea
Ideea
Ideea

Acest proiect a fost rezultatul mai multor idei cu care m-am jucat în cap de ceva timp.

De când am început, conceptul s-a schimbat, proiectul inițial a evoluat și a luat forma reală.

Abordarea inițială a fost un interes pentru formele geometrice ca mijloc de interacțiune. Datorită designului său, fețele poligonale multiple ale acestei lămpi servesc ca metodă de intrare.

Prima idee a fost să folosim un sistem dinamic pentru a forța icosaedrul să se miște. Acest lucru ar fi putut fi controlat de o aplicație interactivă sau de utilizatori de social media.

O altă posibilitate ar fi fost ca o marmură internă sau o bilă să apese diferite butoane sau senzori și astfel să genereze intrări aleatorii pe măsură ce piesa se mișca.

Structura tensegrity s-a întâmplat mai târziu.

Această metodă de construcție m-a fascinat: felul în care părțile structurii se mențin echilibrate. Este foarte plăcut vizual. Întreaga structură este echilibrată de sine; piesele nu se ating direct. Este suma tuturor tensiunilor care creează piesa; e fantastic!

Pe măsură ce designul inițial s-a schimbat; proiectul merge înainte.

Pasul 2: Structura

Structura
Structura
Structura
Structura
Structura
Structura
Structura
Structura

Așa cum am menționat anterior, acest prim model a fost realizat din materiale reciclate care ar fi trebuit aruncate.

Scândurile de lemn pe care le-am luat de pe un pat cu lamele le-am găsit pe stradă. Garniturile aurii făceau parte din brațul unei lămpi vechi, iar dopurile pentru benzile de cauciuc sunt cleme de birou.

Oricum, construcția structurii este destul de simplă și pașii sunt aceiași ca în orice tensegriry.

Ceea ce am făcut cu scândurile este să le reunesc, în grupuri de două. Realizarea unui „sandviș” cu distanțierele de aur, lăsând un spațiu în care luminile ar străluci.

Dimensiunile proiectului sunt complet variabile și vor depinde de dimensiunea structurii pe care doriți să o realizați. Barele de lemn din imaginile acestui proiect au 38 cm lungime și 38 mm lățime. Separarea dintre plăci este de 13 mm.

Plăcile de lemn au fost tăiate identic, șlefuite (pentru a îndepărta vechiul strat de vopsea) și apoi perforate pe ambele capete.

Apoi, am pătat scândurile cu lac închis rustic. Pentru a uni bucățile am folosit tijă filetată de 5 mm, tăiată în secțiuni de 5 cm și 5 mm cu un nod pe fiecare parte.

Dispozitivele de tensionare sunt benzi de cauciuc roșii. Pentru a atașa cauciucul la bare, am făcut o mică gaură prin care am trecut banda și apoi am prins-o cu un dop. Acest lucru împiedică mișcarea liberă a plăcilor și mișcarea structurii de demontat.

Pasul 3: Electronice și lumini

Electronice și lumini
Electronice și lumini
Electronice și lumini
Electronice și lumini
Electronice și lumini
Electronice și lumini
Electronice și lumini
Electronice și lumini

Configurația componentelor electronice a fost concepută pentru a menține aceeași tensiune, atât logică, cât și de alimentare în tot sistemul folosind 5v.

Sistemul este controlat de un Trinket Pro conectat la un accelerometru pe trei axe. Lumina este furnizată de benzi LED RGBW, care pot controla culorile și valorile luminozității albe în mod individual. Întregul circuit, inclusiv microprocesorul, senzorii și sistemul de iluminare funcționează la 5v. Pentru a porni sistemul, este necesară o sursă de până la 10A.

Pro Trinket 5V folosește cipul Atmega328P, care este același cip de bază din Arduino UNO. Are, de asemenea, aproape aceiași pini. Deci, este foarte util atunci când doriți să vă aduceți proiectul UNO în spații miniaturizate.

LIS3DH este un senzor versatil, poate fi reconfigurat pentru a fi citit în + -2g / 4g / 8g / 16g și aduce, de asemenea, atingere, atingere dublă, orientare și detectare a căderilor libere.

Banda LED NeoPixel RGBW poate gestiona separat culoarea nuanței și intensitatea albului. Cu un LED alb dedicat, nu este nevoie să „saturați toate culorile pentru a avea o lumină albă, de asemenea vă face albul mai pur și mai luminos și, pe deasupra, economisește energie.

Pentru cablare și pentru a conecta componentele împreună, am decis să trec cablul și să creez prize cu pini masculi și feminini folosind sertare și carcase de conector.

Am conectat bibeloul la accelerometru aruncând SPI-ul cu configurația implicită. Aceasta înseamnă să conectați Vin la sursa de alimentare de 5V. Conectați GND la solul comun de alimentare / date. Conectați pinul SCL (SCK) la Digital # 13. Conectați pinul SDO la Digital # 12. Conectați pinul SDA (SDI) la Digital # 11. Conectați pinul digital CS # 10.

Banda LED este controlată de un singur pin, care va ajunge la # 6, iar pământul și 5v vor merge direct la adaptorul de alimentare.

Veți găsi toate documentele de care aveți nevoie, mai detaliate și mai bine explicate pe pagina adafruit.

Sursa de alimentare este conectată la un adaptor DC feminin care alimentează simultan microcontrolerul și banda LED. De asemenea, are un condensator pentru a proteja circuitul de curent instabil în momentul „pornirii”.

Lampa are 6 bare de lumină, dar benzile LED vin într-o singură bandă lungă. Banda LED a fost tăiată în secțiuni de 30cm (18 LED-uri) și apoi sudată cu 3 pini masculi și feminini pentru a se conecta la restul circuitului modular.

Pentru acest proiect folosesc o sursă de alimentare de 5V - 10A. Dar, în funcție de numărul de leduri de care aveți nevoie, va trebui să calculați curentul necesar pentru alimentarea sistemului.

De-a lungul documentației piesei, puteți vedea că LED-ul are 80mA tras pe LED. Folosesc 108 LED-uri în total.

Pasul 4: Codul

Codul
Codul

Schema funcționează este destul de simplă. Un accelerometru oferă informații despre mișcarea pe axa x, y, z. Pe baza orientării, valorile RGB ale LED-urilor sunt actualizate.

Lucrarea este împărțită în următoarele faze.

  • Faceți o citire de la senzor. Folosiți pur și simplu API-ul.
  • Prin trigonometrie, rezolvați valorile „roll and pitch”. Puteți găsi mult mai multe informații în acest document de Mark Pedley.
  • Obțineți culoarea corespunzătoare, legată de valorile de rotație. Pentru aceasta trecem la valoarea 0-360 RGB folosind o funcție de conversie HSL - RGB. Valoarea tonului este utilizată la diferite scale pentru a regla intensitatea luminii albe și saturația culorii. Emisferele opuse ale sferei selector de culori sunt complet albe.
  • Actualizați memoria tampon de lumini care stochează informații despre culorile LED individuale. În funcție de aceste informații, controlerul tampon va crea o animație sau va răspunde cu culori complementare.
  • Arată în cele din urmă culorile și reîmprospătează LED-urile.

Inițial, ideea a fost să creezi o sferă de culoare în care să poți alege orice culoare. Așezați roata de culoare pe meridian și poleward tonurile întunecate și luminoase.

Dar rapid ideea a fost abandonată. Deoarece LED-urile creează tonuri diferite, se sting și aprind rapid fiecare LED RGB, atunci când li se oferă valori mici pentru a reprezenta culorile întunecate, LED-urile oferă o performanță foarte slabă și puteți vedea cum încep să clipească. Acest lucru face ca emisfera întunecată a sferei de culoare să nu funcționeze corect.

Apoi am venit cu ideea de a atribui culori complementare tonului selectat în prezent.

Deci, o emisferă alege o culoare monocromatică a unei roți de la 50% iluminare 90 ~ 100% saturație. Între timp, cealaltă parte, alege un gradient de culoare din aceeași poziție de culoare, dar adaugă, la cealaltă parte a gradientului, culoarea sa complementară.

Citirea datelor de la senzor este brută. Se poate aplica un filtru pentru a atenua zgomotul și vibrațiile lămpii în sine. Pentru moment, mi se pare interesant, deoarece arată mai analogic, reacționează la orice atingere și durează o secundă pentru a se stabiliza complet.

Încă lucrez la cod și adaug noi caracteristici și optimizez animațiile.

Puteți verifica cele mai recente versiuni ale codului din contul meu github.

Pasul 5: încheierea

Încheierea
Încheierea
Încheierea
Încheierea
Încheierea
Încheierea
Încheierea
Încheierea

Asamblarea finală este destul de simplă. Lipiți capacul din silicon al benzilor LED cu două adeziv epoxidic component în bare și conectați cele 6 părți în serie una în spatele celeilalte.

Fixează un punct în care vrei să ancorezi componentele și înșurubează accelerometrul și bibeloul profesional de lemn. Am folosit distanțieri din plastic pentru a proteja partea inferioară a știfturilor. Adaptorul de alimentare este fixat corespunzător între spațiul barelor cu mai mult adeziv epoxid epoxidic. A fost proiectat pentru a se potrivi și pentru a preveni mișcarea acestuia când lampa se rotește.

Observații și îmbunătățiri

De-a lungul dezvoltării proiectului au apărut idei noi despre modalități de rezolvare a problemelor. De asemenea, am realizat câteva defecte de proiectare sau piese care pot fi îmbunătățite.

Următorul pas pe care aș dori să-l fac este o îmbunătățire a calității produsului și a finisajului; mai ales în structură. Vin cu idei grozave despre structuri mai bune și mai simple, încorporând tensori ca parte a designului și ascunzând componentele. Această structură va necesita instrumente mai puternice, precum imprimante 3D și tăietoare laser.

Am încă în așteptarea modului de a ascunde cablajul de-a lungul structurii. Și lucrați la un consum mai eficient de energie; pentru a reduce cheltuielile atunci când lampa funcționează mult timp și nu schimbă iluminatul.

Vă mulțumesc pentru citirea articolului și interesul dvs. pentru munca mea. Sper că ați învățat din acest proiect la fel de mult ca mine.

Recomandat: