Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Okulary karnawałowe - miniprojekt

olelek 11 Jan 2016 12:14 7638 19
  • Okulary karnawałowe - miniprojekt
    Ponieważ karnawał w pełni, chciałbym zaprezentować prosty projekt świecących okularów, które mogą być przydatne, jeżeli chcemy nomen omen zabłysnąć na imprezie.
    Działanie
    Mikroprocesor attiny85 steruje za pomocą jednego pinu łańcuchem WS2812B (ledy z wbudowanym sterownikiem pwm) w liczbie 24 sztuk, po 12 na jedno "oko".
    Całość zasilana jest bezpośrednio przez ogniwo li-ion 3,7V. W celu maksymalnego uproszczenia układu brakuje zabezpieczenia przed nadmiernym rozładowaniem ogniwa, jak i układu ładowania. Oczywiście można takowy dodać, ale przy napięciu 2,7V układ nie będzie pracował, i to będzie informacją dla użytkownika, że czas na ładowanie. Diody pracują przy napięciu poniżej 5V, ale jak widać - wszystko działa. Pozostałe elementy elektroniczne to drobne kondensatory itp. Maksymalny pobór prądu (wszystkie diody włączone na pełną jasność) wynosi <1,5A, ale w praktyce jest dużo niższy.

    Budowa
    Całość została wykonana z gotowych modułów:
    -Arduino Digispark USB,
    -2x Neopixel ring 12.

    Zasilanie z akumulatora 500mAh 3,7V, który posiadam od quadcoptera. Połączone poprzez złącze JST, dzięki czemu łatwo takowy naładować. Został on przymocowany za pomocą rzepa. Wszystkie połączenia zostały wykonane cienkim przewodem. Pierścienie LED zostały umieszczone w tej samej orientacji, aby ułatwić tworzenie efektów w oprogramowaniu.
    Jeżeli chodzi o konstrukcję, to została ona wycięta ręcznie z odpadów czerwonego PCV o grubości 4mm. Taki materiał łatwo obrabia się nożem do tapet, piłą włosową a nawet nożyczkami. Ostre krawędzie zostały przetarte. Ruchome łączenia wykonałem za pomocą małych zawiasów dolutowanych do kawałków laminatu, ponieważ bezpośrednie przyklejenie okazało się nietrwałe.

    Oprogramowanie
    Zostało stworzone w Arduino dostosowanym do obsługi płytki Digispark. Wykorzystałem bibliotekę Adafruit_Neopixel do sterowania WS2812B. Całość opiera się na przykładowym kodzie dołączonym do biblioteki, uzupełnionym o własne efekty. Szczególnie dobrze prezentują się efekty uwzględniające geometryczne położenie każdego "piksela". Plik źródłowy udostępniam do dowolnego wykorzystania:
    glasses_ar...o_code.zip Download (1.95 kB)Points: 4 for user


    Film

    Link


    Model widoczny na filmie nie został oślepiony okularami, ponieważ światło świeci w przeciwnym kierunku. W okularach bardzo dobrze widać w ciemności. Podejrzewam, iż po zmianie oprogramowania mogą być przydatne np. w warsztacie. Ciekawym efektem jest to, iż można w okularach naocznie zaobserwować "efekt czerwonych oczu" u innej osoby.

    Zdjęcia
    Okulary karnawałowe - miniprojekt Okulary karnawałowe - miniprojekt Okulary karnawałowe - miniprojekt Okulary karnawałowe - miniprojekt

    Koszty
    -2x WS2812B 5050 RGB LED Ring 12 Bit RGB LED + Integrated Driver Module For Arduino - $5.88;
    -Digispark - $1.58;
    -kabel ze złączem JST - 0,5zł;
    -akumulator - 10zł;
    -PCV - 0zł (polecam popytać w okolicznych agencjach reklamowych, na pewno mają jakieś resztki które chętnie oddadzą).

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    olelek
    Level 24  
    Offline 
    olelek wrote 567 posts with rating 153, helped 62 times. Live in city Warszawa. Been with us since 2006 year.
  • #2
    michalko12
    MCUs specialist
    Fajne :)
    Świetny efekty mógłbyś osiągnąć po dodaniu akcelerometru i żyro.
  • #3
    metalMANiu
    Level 18  
    Moim zdaniem wada jest mocowanie baterii na rzep. Arduino nie bylo potrzebne w tym projekcie ale niektorzy to by to na RPi zrobili ;)
    PS. Co wedlug Kolegi oznacza zwrot 'nomen omen'?
    PS2. Przepraszam za brak polskich znakow.
  • #4
    olelek
    Level 24  
    Myślałem na dodaniem jakiejś formy interakcji, ale zabrakło miejsca w pamięci a nie chciałem do takiego prostego projektu przepisywać wszystko do C aby lepiej wykorzystać pamięć. Poza tym jak zwykle pierwsza wersja okazała się tą ostateczną, a że okulary leżały już miesiąc bez ulepszeń, zdecydowałem się na publikację taką jaka jest.
    metalMANiu wrote:
    Arduino nie bylo potrzebne w tym projekcie

    Jak zaznaczałem, miał być to szybki projekt. Z resztą jakbym miał pisać w C to też bym pewnie użył attiny85, co by kosztowo wyszło na to samo (Digispark kosztuje jakieś 6zł z dostawą).
  • #5
    war40k
    Level 15  
    Ta ta już widzę jak po godzinie gościu wchodzi po schodach nie widząc na oczy. Rozumiem ze świeca w przeciwnym kierunku ale cześć światła i tak się do oka dostanie a druga sprawa ze nie wyobrażam sobie rozmowy z taka osoba :D Może gdyby zmniejszyć intensywność światła było by inaczej.
  • #6
    pikarel
    Level 34  
    metalMANiu wrote:
    (...)
    PS. Co wedlug Kolegi oznacza zwrot 'nomen omen'?
    (...)

    Cytat: chcemy nomen omem zabłysnąć
    - zabłysnąć nie sobą, kreacją lub zachowaniem (tym błyszczy się najczęściej na zabawach))
    a dosłownie światłem z tego gadżetu, są to więc dwa znaczenia wyrazu zabłysnąć, uważam za bardzo celne użycie tego zwrotu.

    http://lukaszrokicki.pl/2012/05/31/nomen-omen-to-ma-znaczenie/
  • #7
    burur
    Level 19  
    Witam!
    Okulary swiecą prawie jak światła do jazdy dziennej. A tak serio troszkę zmniejszyć intensywność święcenia i pomaszerować na disco. Projekt ogólnie ciekawy.
    Pozdrawiam
  • #8
    sorry1
    Level 12  
    Fajny projekt, czy światło z diod nie razi, gdy założymy owe okulary?
  • #9
    olelek
    Level 24  
    Osoba nosząca nie widzi światła LED'ów bezpośrednio, i nie odczuwa absolutnie żadnego dyskomfortu z tym związanego. W zasadzie trzeba szukać wzrokiem światła odbitego, aby wiedzieć jaki efekt jest aktualnie wyświetlany.
    Co innego osoby postronne - te widzą światło aż za dobrze, choć nie oślepia ono tak bardzo, jak sugeruje to obraz z nagrania na filmie. Prawdopodobnie noszenie takich okularów przez dłuższy czas byłoby nużące dla gości, ale efekt zaskoczenia i rozbawienia na początku jest znaczny (testowane).
  • #10
    ezbig
    Level 19  
    Efekt ciekawy, tylko czemu to wszystko jest na wierzchu? Jasno świeci to i ciężko zauważyć oślepionej osobie ;), ale ja bym na Twoim miejscu przewody i elektronikę ukrył od wewnątrz. Trochę z tym zabawy by było, ale wyglądałby bardziej elegancko.
  • #11
    remzibi
    Level 24  
    Okulary sa tak wyjatkowe, ze musze tu uzyc okreslenia ktore, z racji kontrowersji, rezerwuje na specjalne okazje, najlatwiej to ujac:
    -- "okulary sa w pyte" -- :D
    oraz
    -- "doslownie i w przenosni, sa oczojebne" -- :D
  • #12
    janek1815
    Level 38  
    Okulary są zaje.....fajne. Jeśli faktycznie nie oślepiają osoby która je nosi to dodatkowy plus. Już to widzę jak w nocy jadę autem i wymieniam przebite koło na poboczu przy użyciu tej "latarki". Pomyśl nad produkcją na większą skalę.
  • #13
    Kuba-Wiśnia
    Level 10  
    war40k wrote:
    Może gdyby zmniejszyć intensywność światła było by inaczej.
    Mozna przeciez w WS2812 regulowac jasnosc.
  • #14
    slawek-matyl
    Level 11  
    Nie rozumie tu czegoś Attiny85 ma 8K flasha (nigdy nie bawiłem się arduino) mruganie diodkami co większość zrealizowane jest w pętli i brak pamięci? Przeraziłem się, na STM32 i C kod byłby mizerny, a tu 8K 8 bitowca i brak pamięci, tego bym się nie spodziewał. Chyba to jest jakiś żart bo dalej nie wierze.
    Co do projektu, fajna zabaweczka, jak najbardziej może się przydać do szaleństwa
    Pozdrawiam
  • #15
    REVISOR
    Level 25  
    Czego tu nie rozumieć attiny mają przecież 32 rejestry 8 bitowe, toż to jest jak 32 bajty ram i nawet lepiej, bo szybciej wykonuje się operacje na rejestrach niż z daną w komórce ram. W asemblerze to pewnie nawet 1K flascha by nie zajęło.
  • #16
    slawek-matyl
    Level 11  
    @REVISOR Każdy ATiny, ATmega ma 32 rejestry 8 bitowe i co z tego? Czy ktoś tu coś wspominał o pamięci RAM ?? Nie bardzo, i raczej w tym projekcie ram nie ma szczególnego znaczenia, nie zbieramy próbek np z ADC czy z czego kolwiek innego i nie robimy na tym DSP. Dziwi mnie ilość zajętej pamięci Flash. I tyle w temacie.
  • #17
    olelek
    Level 24  
    slawek-matyl - To są niestety konsekwencje użycia Arduino IDE. Raz że C++ z obiektami robią swoje, dwa Arduino znacznie obudowuje kod swoimi funkcjami.
    Dla przykładu: kod okularów zajmuje u mnie 4630B z 6012B flash, a pusty kod 318B. Tak jak wspominałem, można by przepisać kod na czysty C, i uzyskać sporo wolnego miejsca.
    Oczywiście dokonując zmian w kodzie można zmniejszyć intensywność świecenia.

    Dzisiaj dodałem w nagłówku dyrektywę
    Code: c
    Log in, to see the code

    Oraz w ciele funkcji setup() po strip.begin():
    Code: c
    Log in, to see the code


    Dzięki tej zmianie co drugie uruchomienie okularów skutkuje ciągłym białym światłem o średniej intensywności (40/255). Dzięki temu można wykorzystać okulary do czytania w nocy np. w łóżku, co mam zamiar dzisiaj przetestować. Dodatkowo może się okazać, że warto jeszcze bardziej zmniejszyć składową niebieską światła, aby uniknąć problemów z zasypianiem (wydzielanie melatoniny). Także korzystając z tej "platformy sprzętowej" można uzyskać całkiem praktyczną funkcję urządzenia.
  • #18
    slawek-matyl
    Level 11  
    @olelek Może kiedyś wpadnie mi w ręce jakieś Arduino, to się chętnie pobawię i posprawdzam. Jestem zwolennikiem czystego C, ale warto od czasu do czasu poznać coś innego.
    Pozdrawiam
  • #20
    Frog_Qmak
    Level 25  
    Mam pytanie, jak z obsługą standardowych bibliotek Arduino w tym wynalazku? Trzeba coś modyfikować? Ma może ktoś doświadczenie z innymi projektami na tym układzie?