Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'lampa'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - DIY
    • Projekty - DIY roboty
    • Projekty - DIY (mini)
    • Projekty - DIY (początkujący)
    • Projekty - DIY w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie

Kategorie

  • Quizy o elektronice
  • Quizy do kursu elektroniki I
  • Quizy do kursu elektroniki II
  • Quizy do kursów Arduino
  • Quizy do kursu STM32L4
  • Quizy do pozostałych kursów

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Imię


Strona

Znaleziono 2 wyniki

  1. Pomysł zrodził się kilka miesięcy temu, gdy zbliżały się święta i trzeba było zastanowić się nad prezentami. Jako, że dziewczyny lubią malować paznokcie to postanowiłem obdarować moją dziewczynę lampą do paznokci. Ale jaki byłby ze mnie majsterkowicz, gdybym kupił gotową w sklepie? Przygotowanie Zabrałem się do pracy. Na początku zrobiłem research o lampach. Trzeba było odpowiedzieć sobie na kilka pytań: Jakie światło jest najlepsze do utwardzania lakieru? Jaka średnio moc maja podobne lampy? Jakie posiadają cechy charakterystyczne, funkcjonalności? Dowiedziałem się, ze moc 30-48W oraz światło UV* są najlepsze do utwardzania lakieru. Większość lamp posiada wyświetlacz, kilka przycisków oraz czujnik i odbiornik podczerwieni do wykrywania, czy ktoś włożył dłoń. Co do typu światła w lamie są podzielone opinie. Ogólnie rzecz biorąc na rynku można znaleźć 3 rodzaje lamp: ze świtałem UV, białym zimnym oraz hybrydy, czyli połączenie tych obu. Teraz pytanie który rodzaj jest najlepszy? Niestety nie da się tak prosto na to odpowiedzieć. Nie jestem ekspertem w tej dziedzinie, ale z tego co przeczytałem to UV (mówię tutaj o typie A [315–400 nm], czyli tym jeszcze widzialnym, które użyłem w moim projekcie i te które stosuje się na ogól w lampach UV) ogólnie utwardzi każdy lakier, ale zajmuje to trochę czasu. Natomiast LED o barwie "biały zimny" nie utwardzi już każdego lakieru tylko te przeznaczone do tego typu lamp. Ma też swoje plusy. Utwardzanie lakieru trwa szybciej oraz nie oślepia tak mocno jak UV. Co do szkodliwości nie będę tutaj nic pisał, bo nigdzie nie znalazłem jednoznacznej, fachowej opinii.. Poza wyglądem lampy już nic nadzwyczajnego nie mają. Można zadbać np.: o to, aby światło wewnątrz się dobrze rozpraszało. Naszkicowałem schemat blokowy lampy, wypisałem wymagania i wszystkie pomysły. Lista potrzebnych elementów, wraz z cenami: [25zł] zasilacz 12V o wydajności, co najmniej 1A [15zł] LED UV lub białe zimne [16zł] części elektroniczne: płyta główna, moduł wyświetlacza [15zł] wydruk 3D kilka śrubek (dokładne wymiary w sekcji o składaniu lampy) [2zł] przełącznik i złącze DC [7zł] 9 szt. radiatorów do LED Praca Zacząłem oczywiście od wykonania prototypu. Wykorzystałem MSB dla Atmega16 oraz mój moduł wyświetlacza siedmio-segmentowego, resztę elementów umieściłem na płytce stykowej. Elektronika Sercem układu jest Atmega16 i wybrałem ją nie przypadkowo. Potrzebowałem mikrokontroler z dużą ilością wyjść, aby móc podłączyć wyświetlacz LED oraz przyciski. Dało się oczywiście wykonać to na mikrokontrolerze o mniejszej liczbie wyprowadzeń. Przyciski można podłączyć pod jeden pin ADC, a wyświetlacz LED siedmioprocentowy przez konwerter na magistrale I2C, ale dysponowałem już gotowymi rozwiązaniami, które przekonały mnie do takiego rozwiązania. Nie wykorzystuje tutaj biblioteki Arduino z tego samego powodu co wyżej. Układ jest zasilany 12V, niestety zasilacz się nie zmieścił już w środku wiec trzeba doprowadzić zasilanie zewnętrznie. Wydajność zasilacza powinna wynosić, co najmniej 1A, gdyż same LED używają prawie tyle. Postanowiłem podzielić elektronikę na dwie części: płytę główną oraz części odpowiedzialna za interakcje z użytkownikiem, czyli wyświetlacz oraz przyciski. Postąpiłem tak z dwóch powodów. Pierwszy to zasada dziel i zwyciężaj, dzięki której oddzielając wyświetlacz oraz przyciski, płyta główna stała się mniej skomplikowała, co oznacza, że występuje mniejsze prawdopodobieństwo fakapu. Drugą przyczyną był problem ze zamieszczeniem całego układu w jednym miejscu w obudowie. Moduł wyświetlacza W tym module znajdują się jedynie przyciski, wyświetlacz siedmio-segmentowy LED oraz kilka rezystorów i gniazd połączeniowych. Zadaniem tego układu jest wyświetlanie czasu oraz informowanie mikrokontrolera o wciśniętym przycisku. Moduł jest na tyle prosty, że nie będę tutaj się rozpisywał. Dodam tylko tyle, że w przyszłości planuję przenieść całą część odpowiedzialną za sterowanie wyświetlaczem właśnie w to miejsce, więc wtedy będzie można napisać coś więcej. Schemat plytki PCB: Tak się prezentuje gotowy moduł: Płyta główna Jak już wspominałem, sercem układu jest Atmega16 i znajduję się ona na płycie głównej razem z elementami potrzebnymi do jej funkcjonowania. Umieściłem tutaj również stabilizator, który redukuje napięcie z 12V do 5V. Wszytko, co jest z niego zasilane nie zużywa na tyle dużo prądu, aby potrzeba było użycia radiatora. Dla pewności można LM7805 zastąpić jakimś innym, bardziej wydajnym układem np.: przetwornicą impulsową LM2576, która ma znacznie większy współczynnik sprawności. Umieściłem tutaj część układu sterującego wyświetlaczem siedmiosegmentowy, czyli ULN2803 wraz z rezystorami i trzema tranzystorami bipolarnymi (dokładny opis rozwiązania jest tutaj), ponieważ nie zmieścił się on na drugiej płytce. Sterowanie LED odbywa się poprzez tranzystor MOSFET. Początkowo chciałem każdy segment diod (3 LED połączone szeregowo) sterować osobnym tranzystorem, aby uniknąć przegrzania się pojedynczego, ale w trakcie realizacji projektu stwierdziłem, że nie ma to sensu. Zajmowało tylko wolne porty w mikrokontrolerze oraz komplikowało logikę sterowania (w oprogramowaniu), a MOSFET'y prawie w ogóle się nie grzały. Projekt 3D Od samego początku istotnym elementem tego projektu był projekt obudowy w 3D. O ile część elektroniczna i research był proste to tutaj poziom się komplikował. Zdecydowanie jest to jeden z najbardziej zaawansowanych modeli 3D, jaki tworzyłem, wiec nie jest pozbawiony kilku wad, ale za to jest sukcesywnie i powoli modernizowany, co widać po rosnącej w górę wersji projektu. Na początku lampa miała mieć kształt ćwiartki kuli z wydłużonym tyłem, ale okazało się to dość niepraktyczne i zbyt skomplikowane, wiec szybko zmieniłem koncepcje. Ostateczny kształt, jaki wybrałem to prostokąt z zaokrąglonymi krawędziami. Przed rozpoczęciem projektowania trzeba ustalić wymiary lampy wewnątrz oraz na zewnątrz. W środku musi mieścić się ręka, a zarazem lampa nie może być za duża, aby była poręczna. Pomiarami wzorowałem się głównie na gotowych rozwiązaniach,, z tym że naniosłem swoje poprawki, co do grubości ścianek oraz tyłu, niestety kosztem rozmiarów powierzchni w środku. Musiałem gdzieś zmieścić układ elektroniczny oraz LED'y, a, że całość się grzeje to również potrzebna jest przestrzeń, aby ciepło mogło być odprowadzane. Kolejnym etapem, było podzielenie całości na dwie części, aby był łatwy dostęp do "wnętrzności" lampy. W rozsądny sposób trzeba było poprowadzić linię cięcia dbając o to, aby dało się to wydrukować (czyli jak najmniej poziomych krawędzi) oraz potem łatwo zmontować w jedno. Trzeba jeszcze wykombinować, w jaki sposób łączyć te dwa elementy razem?. W głowie miałem dwa rozwiązania, śrubki albo zatrzaski. Wybrałem to pierwsze, gdyż projektowanie zatrzasków może być zbyt skomplikowane. W kilku miejscach umieściłem elementy, w które wkręca się śrubę/wkręt oraz dziury na dole. Jest jeszcze jedno miejsce, w którym te dwa elementy się łączą, ale rozwinę to w cześć montażu modułu wyświetlacza. Teraz pozostało już porozkładać elementy wewnątrz takie jak: LED'y, płyta główna, czujnik ruchu, moduł wyświetlacza z przyciskami, złącze zasilania oraz switch do włączania i wyłączania lampy. Płyta główna została umieszczona na ściance tylnej i przykręcona na dystansach do niej. Naprzeciwko niej znajduję się switch oraz gniazdo zasilania 12V. LED'y znajdują się oczywiście u góry lampy, ale ich rozstaw nie jest przypadkowy. Raz, że są rozłożone symetrycznie to dwa musiały zostać umieszczone w odpowiednich pozycjach, aby starczyło miejsca na moduł wyświetlacza. Jedno nie mogło być nad drugim, gdyż po przyklejeniu radiatorów na LED'y nie było już wystarczająco miejsca na umieszczenie nad nimi niczego. Na końcu została jak się okazało najtrudniejsza część, czyli montaż modułu wyświetlacza z przyciskami. Trzeba było poczekać, aż zostanie on zlutowany, aby można było dokonać dokładnych pomiarów, gdyż te teoretyczne miały za duży błąd. Poza rozmieszczeniem dziur na przyciski musiałem w odpowiednim miejscu i dokładnym wymiarze (z bardzo małym marginesem błędu) umieścić otwór na wyświetlacz. Dlaczego był potrzebny tak mały margines błędu? Ponieważ, jeśli wyświetlacz by był przesunięty o milimetr albo mniej w którąś stronę, to nie pokrywałyby się otwory na przyciski i nie dałoby się ich wciskać. Odstęp płytki od górnej części, również musiał być dokładnie obliczony, żeby przyciski nie wystawały zbyt dużo, ale zarazem nie chowały się w obudowie i wyświetlacz mieścił się idealnie w otworze nie wychodząc poza płaszczyznę zewnętrzną. W tym momencie wpadłem na pomysł, że można umieścić tutaj, dodatkowe mocowanie całości. Stworzyło to drobne problemy, ale koniec końców udało się to wykonać i całość trzyma się solidnie. Projekt obudowy można zobaczyć tutaj, a pliki stl dostępne są w repozytorium projektu. Poniżej zdjęcia wydruku: Kolor wydruku wewnętrznej części nie jest przypadkowy. Wybrałem biały, aby światło w środku dobrze się rozpraszało. Niestety efekt był na tyle dobry, że aż oślepiało, więc musiałem na samym spodzie przykleić czarną podkładkę. Mimo tego myślę, że warto zostać przy tym kolorze, ponieważ jeśli zmienimy rodzaj świtała z LED UV na zwykłe LED to może się okazać, że dzięki kolorowi białemu zredukujemy moc lampy, a co za tym idzie diody będą się mniej nagrzewać i zwiększą swoją żywotność. Montaż całości Krok po kroku jak całość zmontować + zdjęcia które zrobiłem. Zacznijmy od przygotowania potrzebnych narzędzi do montażu: Klej na gorąco - do montażu LED Klej termoprzewodzący - do montażu radiatorów dla LED 8 szt. małych śrub lub wkrętów 4 sztuki M3 o długości 12mm Wiertło 3.5mm do powiększenia dziur na płytce Jeśli już wszystko skompletowaliśmy to możemy zabrać się do składania. Zaczynamy od przymierzenia i wkręcenia układu z wyświetlaczem. Musimy ustawić go na miejscu, aby otwory się pokrywały. Składamy dwie części obudowy razem i wkręcamy śrubki M3. Ma to na celu wyrobienie otworów, aby montaż całości z zamontowanymi LED'ami i resztą podzespołów przebiegł bez problemu. Możemy również otwory nagwintować gwintownikiem M3. Po tym kroku przechodzimy do właściwego montażu. Pierwsze co robimy to lutujemy przewody do LED'ów i łączymy trzymając się mniej więcej tego schematu: Na końcu powinno prezentować się to mniej więcej tak: Teraz musimy przykleić radiatory do tylnych części LED'ów. Najpierw oczyszczamy całą powierzchnię z zanieczyszczeń. Możemy to zrobić zmywaczem do paznokci lub jakimś alkoholem (najlepiej izopropanolem). Sam przeszlifowałem jeszcze całość papierem ściernym gradacji od 1000 do 1500, ponieważ na moich radiatorach były małe ryski. !UWAGA! radiatory naklejamy na wszystkie diody, prócz nr 3, gdyż w tej wersji lampy zachodzi na nią moduł wyświetlacza. Kolejnym etapem, będzie przytwierdzenie do zewnętrznej obudowy przełącznika oraz gniazda zasilania. O ile switch trzyma się bez problemu, bo jest na zatrzaski, to ze złączem zasilania będzie więcej problemu. Sam użyłem techniki spawania plastiku do przymocowania go, ale można równie dobrze użyć mocnego kleju. Nastała chwila na podłączenie elektroniki. Zaczynamy od płyty głównej. Przymocowujemy ją do specjalnie dla niej zaprojektowanego elementu 3D i potem razem z tym wydrukiem na tył wewnętrznej części obudowy. Jeśli całość się dobrze trzyma to możemy wziąć się za podłączenie przewodów oraz moduł z wyświetlaczem. Całość powinna prezentować się jak na zdjęciach poniżej: W tym momencie proponuje wykonać test, czy wszystko działa poprawnie i lampa świeci. Jeśli wszystko pracuje jak trzeba to można zabrać się za skręcanie dwóch części razem. W tej wersji lampy nie jest to najprostsze, ponieważ trzeba dobrze wpasować moduł wyświetlacza z otworami do wkręcenia śruby, ale da się z tym uporać. Najważniejsze, aby złapać jeden otwór, wtedy już pójdzie z górki 😄 A teraz czas na efekt końcowy: Podsumowanie Całkowity kosz lampy wyniósł 80 zł. Wszystkie ceny są podane w nawiasach na liście zakupów u góry wpisu. Może nie jest to tanio, szczególnie że za niecałe dwa razy więcej dostaniemy taką lampę w sklepie, ale myślę, że jakość projektu i zabawa przy jego tworzeniu rekompensuje koszt lampy. Projekt uważam za udany, gdyż przeszedł kilka testów praktycznych i sprawuje się bardzo dobrze. LED'y nie nagrzewają się aż tak bardzo, aby nie można było ich dotknąć. Jedynym minusem jest oślepiające światło UV. Zdecydowanie następnym razem jak będę robił/ulepszał lampę zastosuje tutaj LED'y o kolorze biały-zimny. Pytania do wyjaśnienia: Jaka długość fali jest najlepsza do utwardzania lakierów hybrydowych? Jakie są różnice pomiędzy LED UV a LED białe zimne na tle utwardzania lakieru? (odpowiedź u góry wpisu) Plany na przyszłość: Przerobienie sterowania wyświetlaczem siedmio-segmentowym na I2C oraz redukcja ilości przewodów łączących oba moduły. Wiąże się z tym również przeniesienie elementów sterowania wyświetlaczem z płyty głównej na moduł. Zamienić fotokomórkę na odbiornik i nadajnik podczerwieni. Zastosować inserty gwintowane do montażu wyświetlacza Ulepszyć projekt wydruku 3D o wzmocnienia obudowy, ponieważ w niektórych miejscach się wgniata, gdyż nie ma podparcia Linki i źródła: https://www.24sklep.pl/content/29-led-uv-i-utwardzanie-zywic-klejow-farb-lakierow-uv https://www.yahoo.com/lifestyle/the-gel-manicure-low-down-uv-vs-led-106537862903.html https://practicalpolish.com/ledvsuvlampfornails
  2. 1. Wprowadzenie Pewnego dnia zapragnąłem stać się właścicielem lampki nocnej RGB, którą mógłbym sterować smartfonem przy wykorzystaniu przeglądarki internetowej. Z możliwością sterowania w przyszłości takimi systemami, jak Domoticz, czy też asystentem takim jak Google Home Mini, czy Alexa Amazon. Nie potrzebuje dużej mocy, aby na przykład móc czytać przy jej świetle literaturę piękną, a raczej preferuję podejście proekologiczne w zużyciu energii. Lampka ma pełnić funkcję głównie dekoracyjną tworząc przyjemny nastrój w pomieszczeniu. Przeglądając ofertę dostępnych na rynku rozwiązań doszedłem do wniosku, że ceny tego typu urządzeń są w moim mniemaniu bardzo wysokie, więc postanowiłem zbudować lampkę własnoręcznie. Moją uwagę przykuł jeden z modeli marki Xiaomi, a mianowicie Mi Bedside Lamp (cena to około 250 pln). Na tym projekcie będę bazował podczas budowy. Całość planuję wykonać z materiałów ekologicznych, oczywiście w miarę moich skromnych możliwości. 1.1. Lampka nocna Mi Bedside Lamp Silver. 1.2. Lampka nocna Mi Bedside Lamp Silver – schemat budowy wewnętrznej. 1.3. Lampka nocna Mi Bedside Lamp Silver – prezentacja wyglądu podświetlenia w różnych kolorach. 2. WS2812 Według producenta WS2812 jest on inteligentnym sterownikiem LED z wbudowanym źródłem światła. Bliższe rzeczywistości jest jednak stwierdzenie, że układ ten składa się zazwyczaj z diody RGB 5050 z wbudowanym w nią sterownikiem WS2811. Należy zaznaczyć, że rozwiązanie to produkowane jest wielu typach obudów. Ogromną zaletą takiego rozwiązania w przeciwieństwie do konwencjonalnych diod RGB jest możliwość szeregowego łączenia i sterowania niemalże dowolną liczbą diod za pomocą pojedynczego przewodu sygnałowego z cyfrowego pinu mikrokontrolera. 2.1. Schemat szeregowego połączenia WS2812. Na rynku dostępne jest wiele wersji WS2812 w różnych obudowach. Dość popularną wersją, która została wykorzystana tym w projekcie jest wersja WS2812B w obudowie 5050. Wersja WS2812 posiada sześć nóżek, natomiast wersja z dopiskiem B tylko cztery. Największą różnicą między modelami bez dopisku B i z dopiskiem jest zabezpieczenie przed odwrotnym podłączeniem zasilania diody dla wersji B, co w przypadku standardowej wersji skutkuje zniszczeniem elementu. 2.2. Pojedyncza dioda WS2812 w wersji obudowy 5050. 2.3. Pojedyncza dioda WS2812B w wersji obudowy 5050. 2.4. Schemat szeregowego łączenia WS2812B. Podczas pracy z WS2812 niezależnie od wersji należy pamiętać, aby: Nie przekraczać napięcia zasilania powyżej 5V, ponieważ uszkodzimy układ. Dodać kondensator elektrolityczny o pojemności od 100µF do 1000µF (na 6.3V lub wyższy) przy zasilaniu pierwszej diody. Dodać rezystor o wartości od 300Ω do 1kΩ pomiędzy mikrokontrolerem, a pierwszym pinem DIN i aby umieść go jak najbliżej diody. W miarę możliwości jak najbardziej skrócić odległość pomiędzy mikrokontrolerem, a pierwszą diodą. Nie podłączać diod przy włączonym zasilaniu. Jeśli nie mamy innego wyboru, to należy zachować kolejność: masa, zasilanie, linia sterująca, a odłączamy w odwrotnej kolejności. Jeżeli diody zasilane są z oddzielnego źródła zasilania, to najpierw należy doprowadzić zasilanie do diod, a następnie do mikrokontrolera. 3. Projekt i narzędzia Główną część lampy stanowi szklany słoik, wewnątrz są warstwy rozpraszające światło w postaci arkusza kalki technicznej i białego papieru. Całość została osadzona w kartonowej podstawie. Całość będzie składała się z: Szklany słoik, najlepiej wypiaskowany aby dobrze rozpraszał światło. Ja użyłem słoika Ikea Dropper, ale nada się każdy inny podobny. Ten, którego użyłem nie jest idealny, ponieważ nie jest w całości wypiaskowany. Kalka techniczna do rozpraszania światła. Pomaga uzyskać lepsze rozproszenie, zwłaszcza gdy piaskowanie nie jest całkowite. Kartka białego papieru A4. Również pomocna przy rozpraszaniu, warto wąski pasek umieścić przy tuż przy diodach. Karton, tektura. Do do budowy podstawy, jeśli nie umiemy sobie takiej podstawy wyrzeźbić na przykład z drewna lub nie mamy drukarki 3D. Klej biurowy, przeźroczysta taśma klejąca. Ładowarka z wyjściem USB 5V 1A+. Taka, jakiej używa się się do ładowania większości smartfonów. Kabel USB – micro USB o długości dostosowanej do własnych potrzeb. W projekcie zastosowałem taki o długość 100 cm. Kondensator elektrolityczny w przedziale od 100µF do 1000µF na 6.3V. W projekcie został użyty 1000µF 6.3V. Rezystor o wartości od 300Ω do 1kΩ. W projekcie został użyty 470Ω ¼W. Gniazdo wejściowe microUSB do zasilania układu. Z racji braku gniazda użyłem moduły TP4056, co daje dodatkową możliwość zastosowania w przyszłości zasilania bateryjnego z ogniw 18650. Koło / pierścień diod WS2812B + moduł ESP8266 (ESP-01 / ESP-01S) + łącznik ESP-01S/ESP-01 RGB LED. W tym konkretnym projekcie zostało użyte koło z 16 diodami. Lutownica lub stacja lutownicza, stop lutowniczy i topnik. Przewody, kilka cm. Cążki do metalu. Śrubokręt, nożyczki, czy inne narzędzia potrzebne do obróbki wybranego materiału. 3.1. Zestaw składający się z WS2812B, ESP-01 i łącznika. 4. Schemat połączeń Jeśli korzystamy z gotowego zestawu, to schemat połączeń jest bardzo prosty. 4.1. Schemat połączeń wszystkich podzespołów. 5. Kod i programowanie #include <adafruit_neopixel.h> #include <esp8266wifi.h> const char* ssid = "<nazwa_sieci_wifi>"; const char* password = "<haslo_do_sieci_wifi>"; Adafruit_NeoPixel strip = Adafruit_NeoPixel(16, 2, NEO_GRB + NEO_KHZ800); WiFiServer server(80); long aniMillis = 0; byte aniFlag = 0; void setup() { Serial.begin(115200); delay(100); strip.begin(); for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0); strip.show(); } IPAddress ip(192, 168, 0, 100); IPAddress gateway(192, 168, 0, 1); IPAddress subnet(255, 255, 255, 0); WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } server.begin(); } void loop() { while (WiFi.status() == WL_CONNECTED) { WiFiClient client = server.available(); if (!client) { return; } while (!client.available()) { delay(10); } String request = client.readStringUntil('\r'); client.flush(); if (request.indexOf("/off") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0); strip.show(); } } // jasnosc if (request.indexOf("/b0") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setBrightness(30); strip.show(); } } if (request.indexOf("/b1") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setBrightness(128); strip.show(); } } if (request.indexOf("/b2") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setBrightness(255); strip.show(); } } // jasnosc end // kolory // bialy if (request.indexOf("/c0") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 255, 255); strip.show(); } } // zoly if (request.indexOf("/c1") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 255, 0); strip.show(); } } // pomaranczowy if (request.indexOf("/c2") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 127, 0); strip.show(); } } // czerwony if (request.indexOf("/c3") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 0, 0); strip.show(); } } // rozany if (request.indexOf("/c4") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 0, 127); strip.show(); } } // magenta if (request.indexOf("/c5") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 255, 0, 255); strip.show(); } } // fioletowy if (request.indexOf("/c6") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 127, 0, 255); strip.show(); } } // niebieski if (request.indexOf("/c7") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0, 0, 255); strip.show(); } } // blekitny if (request.indexOf("/c8") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0, 127, 255); strip.show(); } } // cyjan if (request.indexOf("/c9") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0, 255, 255); strip.show(); } } // wiosenna zielen if (request.indexOf("/c10") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0, 255, 127); strip.show(); } } // zielony if (request.indexOf("/c11") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 0, 255, 0); strip.show(); } } // zielen chartreuse if (request.indexOf("/c12") > 0) { for (uint16_t i = 0; i < strip.numPixels(); i++) { strip.setPixelColor(i, 127, 255, 0); strip.show(); } } // kolory end client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println(""); client.println(""); client.println(""); client.println("<title>Lampka</title>"); client.println("<meta charset="\"utf-8\"">"); client.println("<meta name="\"apple-mobile-web-app-capable\"" content="\"yes\"">"); client.println("<meta name="\"apple-mobile-web-app-status-bar-style\"" content="\"black\"">"); client.println("<meta name="\"robots\"" content="\"none\"">"); client.println("<meta name="\"viewport\"" content="\"width=device-width," initial-scale="1\"">"); client.println("<style>"); client.println("body {background: #313236; text-align: center; padding: 0; margin: 50px 0;}"); client.println("button {border: 0; font: bold 12px Verdana, sans-serif; color: #000000; width: 85px; height: 85px; border-radius: 50%;}"); client.println(".b0 {background: #000000; color: #ffffff;}"); client.println(".b1 {background: #949494;}"); client.println(".b2 {background: #bdbebd;}"); client.println(".b3 {background: #e9e9e9;}"); client.println(".c0 {background: rgb(255, 255, 255); margin-right: 266px;}"); // bialy client.println(".c1 {background: rgb(255, 255, 0);}"); // zolty client.println(".c2 {background: rgb(255, 127, 0);}"); // pomaranczowy client.println(".c3 {background: rgb(255, 0, 0);}"); //czerwony client.println(".c4 {background: rgb(255, 0, 127);}"); // rozany client.println(".c5 {background: rgb(255, 0, 255);}"); // magenta client.println(".c6 {background: rgb(127, 0, 255);}"); // fioletowy client.println(".c7 {background: rgb(0, 0, 255);}"); // niebieski client.println(".c8 {background: rgb(0, 127, 255);}"); // blekitny client.println(".c9 {background: rgb(0, 255, 255);}"); // cyjan client.println(".c10 {background: rgb(0, 255, 127);}"); // wiosenna zielen client.println(".c11 {background: rgb(0, 255, 0);}"); // zielony client.println(".c12 {background: rgb(127, 255, 0);}"); // zielen chartreuse client.println(".mgb4 {margin-bottom: 4px;}"); client.println(".mgb50 {margin-bottom: 50px;}"); client.println("</style>"); client.println(""); client.println(""); client.println("<a href="\"/b0\""><button class="\"b1" mgb50\"="">MIN</button></a>"); client.println("<a href="\"/b1\""><button class="\"b2" mgb50\"="">50%</button></a>"); client.println("<a href="\"/b2\""><button class="\"b3" mgb50\"="">MAX</button></a>"); client.println("<a href="\"/off\""><button class="\"b0" mgb50\"="">OFF</button></a><br>"); client.println("<a href="\"/c0\""><button class="\"c0" mgb4\"=""></button></a><br>"); client.println("<a href="\"/c1\""><button class="\"c1" mgb4\"=""></button></a>"); client.println("<a href="\"/c2\""><button class="\"c2" mgb4\"=""></button></a>"); client.println("<a href="\"/c3\""><button class="\"c3" mgb4\"=""></button></a>"); client.println("<a href="\"/c4\""><button class="\"c4" mgb4\"=""></button></a><br>"); client.println("<a href="\"/c5\""><button class="\"c5" mgb4\"=""></button></a>"); client.println("<a href="\"/c6\""><button class="\"c6" mgb4\"=""></button></a>"); client.println("<a href="\"/c7\""><button class="\"c7" mgb4\"=""></button></a>"); client.println("<a href="\"/c8\""><button class="\"c8" mgb4\"=""></button></a><br>"); client.println("<a href="\"/c9\""><button class="\"c9\""></button></a>"); client.println("<a href="\"/c10\""><button class="\"c10\""></button></a>"); client.println("<a href="\"/c11\""><button class="\"c11\""></button></a>"); client.println("<a href="\"/c12\""><button class="\"c12\""></button></a>"); client.println(""); client.println(""); delay(10); } setup(); } 6. Efekt końcowy Efekt końcowy prezentuje się tak, jak to widać na poniższych zdjęciach. Należy zaznaczyć, że w rzeczywistości podświetlenie jest bardziej jednolite, niż widać to na zdjęciach. Prawdopodobnie ekspozycja podczas robienia zdjęcia byłą zbyt długa, ale ciężko zrobić w inny sposób zdjęcia w nocy bez dobrego sprzętu. Obsługa lampki odbywa się przez interfejs sieciowy pod adresem 192.168.0.100. 6.1. Interfejs sieciowy pod adresem 192.168.0.100. 6.2. Wnętrze podstawy lampy. 6.3. Warstwy rozpraszające światło bez i z koszem. 6.4. Wybrane kolory.
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.