Spisu treści:

Interaktywna lampa Led - Struktura Tensegrity + Arduino: 5 kroków (ze zdjęciami)
Interaktywna lampa Led - Struktura Tensegrity + Arduino: 5 kroków (ze zdjęciami)

Wideo: Interaktywna lampa Led - Struktura Tensegrity + Arduino: 5 kroków (ze zdjęciami)

Wideo: Interaktywna lampa Led - Struktura Tensegrity + Arduino: 5 kroków (ze zdjęciami)
Wideo: НОВЫЙ ЛИДЕР ТЕПЛОГО СВЕТА для ЛИНЗ // LED lamps X3 30000lum, 120w, 4300K 2024, Listopad
Anonim
Interaktywna lampa Led | Struktura Tensegrity + Arduino
Interaktywna lampa Led | Struktura Tensegrity + Arduino
Interaktywna lampa Led | Struktura Tensegrity + Arduino
Interaktywna lampa Led | Struktura Tensegrity + Arduino
Interaktywna lampa Led | Struktura Tensegrity + Arduino
Interaktywna lampa Led | Struktura Tensegrity + Arduino

Ten element to lampa reagująca na ruch. Zaprojektowana jako minimalna rzeźba tensegrity, lampa zmienia konfigurację kolorów w odpowiedzi na orientację i ruchy całej konstrukcji. Innymi słowy, w zależności od orientacji lampa przechodzi w określony kolor, jasność i tryb świecenia.

Gdy dwudziestościan obraca się (nad własną osią), wybiera wartość z wirtualnego próbnika kolorów sferycznych. Ten selektor kolorów nie jest widoczny, ale korekty kolorów odbywają się w czasie rzeczywistym. W ten sposób możesz dowiedzieć się, gdzie każdy kolor jest umieszczony w przestrzeni, podczas gry z kawałkiem.

Kształt dwudziestościenny zapewnia 20 płaszczyzn twarzy, a struktura tensegrity daje mu 6 dodatkowych punktów widzenia. Daje to łącznie 26 możliwych kolorów, gdy lampa stoi na płaskiej powierzchni. Ta liczba wzrasta, gdy obracasz lampę w powietrzu.

System jest kontrolowany przez Pro Trinket połączony z trzyosiowym akcelerometrem. Oświetlenie zapewniają taśmy LED RGBW, które mogą indywidualnie sterować kolorem i jasnością bieli. Cały obwód, w tym mikroprocesor, czujniki i system oświetleniowy, pracuje na 5V. Do zasilania systemu potrzebne jest źródło do 10A.

Lista głównych elementów użytych w lampie jest następująca:

- Adafruit Pro Trinket - 5V

- Trójosiowy akcelerometr Adafruit LIS3DH

- Taśma LED Adafruit NeoPixel Digital RGBW - Biała płytka PCB 60 LED/m

- Zasilacz impulsowy 5 V 10 A

Ta reagująca na ruch lampa jest pierwszą wersją lub prototypem dłuższego osobistego projektu. Ten prototyp został wykonany z materiałów pochodzących z recyklingu. Przez cały proces projektowania i budowy uczyłem się na sukcesach i błędach. Mając to na uwadze, pracuję teraz nad następną wersją, która będzie miała bardziej inteligentną strukturę i solidne oprogramowanie.

Chciałbym podziękować społeczności LACUNA LAB za pomoc, pomysły i sugestie podczas całego rozwoju projektu.

możesz śledzić moją pracę na:action-io / tumblraction-script / github

Krok 1: Pomysł

Pomysł
Pomysł
Pomysł
Pomysł
Pomysł
Pomysł

Ten projekt był wynikiem kilku pomysłów, którymi bawiłem się w głowie od jakiegoś czasu.

Odkąd zacząłem, koncepcja się zmieniła, początkowy projekt ewoluował i nabrał rzeczywistego kształtu.

Początkowym podejściem było zainteresowanie kształtami geometrycznymi jako środkiem interakcji. Ze względu na swoją konstrukcję, wielokątne powierzchnie tej lampy służą jako metoda wprowadzania.

Pierwszym pomysłem było użycie dynamicznego systemu do wymuszenia ruchu dwudziestościanu. Mogło to być kontrolowane przez interaktywną aplikację lub użytkowników mediów społecznościowych.

Inną możliwością byłoby posiadanie wewnętrznej kulki lub kulki, która naciskała różne przyciski lub czujniki, a tym samym generowała losowe dane wejściowe podczas ruchu elementu.

Struktura tensegrity pojawiła się później.

Ta metoda konstrukcji mnie zafascynowała: sposób, w jaki poszczególne części konstrukcji utrzymują się nawzajem w równowadze. Jest bardzo przyjemny wizualnie. Cała struktura jest samozrównoważona; kawałki nie dotykają się bezpośrednio. Jest to suma wszystkich napięć, które tworzą utwór; to jest fantastyczne!

Ponieważ pierwotny projekt uległ zmianie; projekt posuwa się do przodu.

Krok 2: Struktura

Struktura
Struktura
Struktura
Struktura
Struktura
Struktura
Struktura
Struktura

Jak wspomniałem wcześniej, ten pierwszy model został wykonany z materiałów pochodzących z recyklingu, które miały być wyrzucone.

Drewniane deski, które wyjąłem z łóżka z listew, które znalazłem na ulicy. Złote wykończenia były częścią ramienia starej lampy, a zatyczki do gumek to biurowe klipsy.

W każdym razie konstrukcja konstrukcji jest dość prosta, a kroki są takie same jak w każdym tensegriry.

To, co zrobiłem z tablicami, to zebranie ich w grupy po dwie. Robienie „kanapki” ze złotymi przekładkami, pozostawiając lukę, przez którą przeświecałyby światła.

Wymiary projektu są całkowicie zmienne i będą zależeć od wielkości konstrukcji, którą chcesz wykonać. Drążki drewniane ze zdjęć tego projektu mają 38cm długości i 38mm szerokości. Odstęp między deskami wynosi 13mm.

Deski drewniane zostały jednakowo przycięte, przeszlifowane (w celu usunięcia starej warstwy farby), a następnie perforowane na obu końcach.

Następnie pomalowałem deski rustykalnym ciemnym lakierem. Do łączenia kawałków użyłem pręta gwintowanego 5mm, pociętego na odcinki 5cm i 5mm z węzłem z każdej strony.

Napinacze to czerwone gumki. Aby przymocować gumę do drążków, zrobiłem mały otwór, przez który przepuściłem opaskę, a następnie złapałem ją zatyczką. Uniemożliwia to swobodne przesuwanie się desek i przesuwanie konstrukcji do demontażu.

Krok 3: Elektronika i światła

Elektronika i światła
Elektronika i światła
Elektronika i światła
Elektronika i światła
Elektronika i światła
Elektronika i światła
Elektronika i światła
Elektronika i światła

Konfiguracja elementów elektronicznych została zaprojektowana tak, aby utrzymać to samo napięcie, zarówno logiczne, jak i zasilające w całym systemie przy użyciu 5V.

System jest kontrolowany przez Pro Trinket połączony z trzyosiowym akcelerometrem. Oświetlenie zapewniają taśmy LED RGBW, które mogą indywidualnie sterować kolorami i wartościami jasności bieli. Cały obwód, w tym mikroprocesor, czujniki i system oświetleniowy, pracuje na 5V. Do zasilania systemu potrzebne jest źródło do 10A.

Pro Trinket 5V wykorzystuje układ Atmega328P, który jest tym samym układem rdzeniowym w Arduino UNO. Ma też prawie takie same piny. Jest to więc naprawdę przydatne, gdy chcesz przenieść swój projekt UNO do zminiaturyzowanych przestrzeni.

LIS3DH to wszechstronny czujnik, który można skonfigurować tak, aby odczytywał +-2g/4g/8g/16g, a także umożliwia wykrywanie stuknięcia, dwukrotnego stuknięcia, orientacji i swobodnego upadku.

Taśma LED NeoPixel RGBW może oddzielnie zarządzać kolorem odcienia i intensywnością bieli. Dzięki dedykowanej białej diodzie LED nie musisz nasycać wszystkich kolorów, aby uzyskać białe światło, dzięki czemu biel jest czystsza i jaśniejsza, a ponadto oszczędza energię.

Do okablowania i połączenia komponentów postanowiłem poprowadzić kabel i stworzyć gniazda z pinami męskimi i żeńskimi za pomocą zacisków i obudów złącz.

Błyskotka podłączyłem do akcelerometru wrzucam SPI z domyślną konfiguracją. Oznacza to podłączenie Vin do zasilania 5V. Podłącz GND do wspólnego uziemienia zasilania/danych. Podłącz pin SCL (SCK) do Digital #13. Podłącz pin SDO do Digital #12. Podłącz pin SDA (SDI) do Digital #11. Podłącz cyfrowy pin CS #10.

Listwa led sterowana jest tylko jednym pinem, czyli idzie do #6 a masa i 5v idzie bezpośrednio do zasilacza.

Cała dokumentacja, której możesz potrzebować, znajdziesz, bardziej szczegółową i lepiej wyjaśnioną na stronie adafruit.

Zasilacz podłączony jest do żeńskiego zasilacza DC, który jednocześnie zasila mikrokontroler i pasek LED. Posiada również kondensator chroniący obwód przed niestabilnym prądem w momencie „włączenia”.

Lampa ma 6 pasków świetlnych, ale paski LED występują w jednym długim pasku. Taśma LED została pocięta na odcinki 30 cm (18 diod LED), a następnie zespawana z 3 pinami męskimi i żeńskimi, aby połączyć się modułowo z resztą obwodu.

Do tego projektu używam zasilacza 5v - 10A. Ale w zależności od liczby diod, których potrzebujesz, będziesz musiał obliczyć prąd potrzebny do zasilania systemu.

W dokumentacji elementu widać, że dioda LED ma pobierane 80mA na diodę LED. Łącznie używam 108 diod LED.

Krok 4: Kodeks

Kod
Kod

Schemat działania jest dość prosty. Akcelerometr dostarcza informacji o ruchu na osi x, y, z. Na podstawie orientacji aktualizowane są wartości RGB diod LED.

Praca jest podzielona na następujące etapy.

  • Wykonaj odczyt z czujnika. Po prostu użyj interfejsu API.
  • Za pomocą trygonometrii rozwiąż wartości „przechyłu i skoku”. Więcej informacji można znaleźć w tym dokumencie autorstwa Marka Pedleya.
  • Uzyskać odpowiedni kolor, związany z wartościami rotacji. W tym celu za pomocą funkcji konwersji HSL - RGB zamieniamy wartość RGB na 0-360. Wartość pitch jest używana w różnych skalach do regulacji natężenia światła białego i nasycenia kolorów. Przeciwległe półkule sfery próbnika kolorów są całkowicie białe.
  • Zaktualizuj bufor świateł, który przechowuje informacje o poszczególnych kolorach LED. W zależności od tych informacji kontroler bufora utworzy animację lub odpowie kolorami dopełniającymi.
  • Na koniec pokaż kolory i odśwież diody.

Początkowo pomysł polegał na stworzeniu kolorowej sfery, w której można było wybrać dowolny kolor. Umieszczenie koła kolorów na południku i w kierunku bieguna ciemnych i jasnych tonów.

Ale szybko pomysł został odrzucony. Ponieważ diody LED wytwarzają różne tony, wyłączają się i szybko zapalają każdą diodę rgb, gdy podano niskie wartości reprezentujące ciemne kolory, diody LED dają bardzo słabą wydajność i można zobaczyć, jak zaczynają migać. Sprawia to, że ciemna półkula sfery kolorów nie może prawidłowo funkcjonować.

Następnie wpadam na pomysł, aby do aktualnie wybranego tonu przypisać kolory dopełniające.

Tak więc jedna półkula wybiera monochromatyczną wartość koloru koła z 50% oświetlenia 90 ~ 100% nasycenia. Tymczasem druga strona wybiera gradient koloru z tej samej pozycji koloru, ale dodaje po drugiej stronie gradientu jego kolor dopełniający.

Odczyt danych z czujnika jest surowy. Można zastosować filtr, aby złagodzić hałas i wibracje samej lampy. W tej chwili uważam to za interesujące, ponieważ wygląda bardziej analogicznie, reaguje na każdy dotyk i trwa sekundę, aby całkowicie się ustabilizować.

Wciąż pracuję nad kodem i dodawaniem nowych funkcji oraz optymalizacją animacji.

Najnowsze wersje kodu możesz sprawdzić na moim koncie github.

Krok 5: Podsumowanie

Zawijanie
Zawijanie
Zawijanie
Zawijanie
Zawijanie
Zawijanie
Zawijanie
Zawijanie

Ostateczny montaż jest dość prosty. Przyklej silikonową osłonę taśm LED za pomocą dwuskładnikowego kleju epoksydowego do prętów i połącz 6 części szeregowo jedna za drugą.

Ustal punkt, w którym chcesz zakotwiczyć elementy i przykręć akcelerometr i drobiazg pro do drewna. Do zabezpieczenia dolnej części pinów użyłem plastikowych przekładek. Zasilacz jest prawidłowo zamocowany pomiędzy przestrzenią prętów za pomocą większej ilości kleju epoksydowo-epoksydowego. Został zaprojektowany tak, aby pasował i zapobiegał przesuwaniu się, gdy lampa się obraca.

Obserwacje i ulepszenia

W trakcie rozwoju projektu pojawiły się nowe pomysły dotyczące sposobów rozwiązywania problemów. Zdałem sobie również sprawę z pewnych wad konstrukcyjnych lub części, które można poprawić.

Następnym krokiem, który chciałbym podjąć, jest poprawa jakości produktu i wykończenia; głównie w strukturze. Mam świetne pomysły na lepsze structreas jeszcze prostsze, włączając tensory jako część projektu i ukrywając komponenty. Ta struktura będzie wymagała mocniejszych narzędzi, takich jak drukarki 3D i wycinarki laserowe.

Nadal czekam na ukrycie okablowania wzdłuż konstrukcji. I pracować nad bardziej efektywnym zużyciem energii; zmniejszyć wydatki, gdy lampa długo pracuje i nie zmienia oświetlenia.

Dziękuję za przeczytanie artykułu i zainteresowanie moją pracą. Mam nadzieję, że nauczyłeś się z tego projektu tak samo jak ja.

Zalecana: