Spisu treści:

Lampy dotykowe z synchronizacją kolorów: 5 kroków (ze zdjęciami)
Lampy dotykowe z synchronizacją kolorów: 5 kroków (ze zdjęciami)

Wideo: Lampy dotykowe z synchronizacją kolorów: 5 kroków (ze zdjęciami)

Wideo: Lampy dotykowe z synchronizacją kolorów: 5 kroków (ze zdjęciami)
Wideo: Lampa błyskowa w 4 minuty! 2024, Listopad
Anonim
Image
Image

Na potrzeby tego projektu wykonamy dwie lampy, które mogą zmieniać kolor dotykiem i synchronizować ten kolor ze sobą przez internet. Wykorzystaliśmy to jako prezent świąteczny dla przyjaciela, który przeprowadził się do innego miasta. Dostała jedną z lamp, a druga została z nami. W ten sposób oboje mamy ładnie wyglądającą lampę, a jednocześnie możemy przesyłać sobie nawzajem kolory. Jest to miły i fajny sposób komunikowania się ze sobą, nawet jeśli są osobno, i znacznie lżejsza forma komunikacji niż za pomocą tekstu, głosu lub obrazów.

Ten projekt jest inspirowany projektem Syncenlight niemieckiego programu radiowego Netzbasteln, chociaż trochę zmodyfikowaliśmy oprogramowanie i zbudowaliśmy bardziej wyrafinowane lampy dla naszego projektu. Na filmie możesz zobaczyć, jak to działa. W celach demonstracyjnych obie lampy stoją bezpośrednio obok siebie – ale działałoby nawet, gdyby znajdowały się po przeciwnych stronach planety (o ile jest WiFi).

Krok 1: Potrzebne umiejętności, narzędzia i części

Podstawowa idea i jak to działa
Podstawowa idea i jak to działa

Ponieważ musimy lutować elektronikę lampy, jedyne specjalne umiejętności wymagane w tym projekcie to umiejętności lutowania i podstawowa znajomość elektroniki. Jeśli rozumiesz kilka podstawowych rzeczy na temat tworzenia oprogramowania, to byłoby to plusem, ponieważ możesz modyfikować oprogramowanie do swoich potrzeb. Ale jeśli chcesz używać go tak, jak my to zrobiliśmy, możesz po prostu pobrać oprogramowanie i wgrać je do własnej lampy.

Części potrzebne do lampy widać na powyższym obrazku. Jeśli chcesz zbudować dokładnie tak, jak my to zrobiliśmy, to jest to, czego potrzebujesz:

  • rezystor 100kΩ
  • Wemos D1 mini (lub dowolna inna płyta oparta na ESP8266)
  • niektóre diody LED WS2812B (pojedyncze lub ich pasek)
  • trochę kabli
  • kabel USB (ten sam, który jest używany w większości smartfonów, musi być kablem do transmisji danych)
  • metalowa doniczka
  • szklany wazon
  • puszka mrożonego kwiatu w sprayu (lub coś podobnego)
  • dwa drewniane kije
  • mały kawałek tektury (rozmiar Wemos D1 mini)

Ostatnie pięć pozycji na tej liście to te, których użyliśmy do jednego z naszych konkretnych projektów lamp. To jest projekt lampy, którego użyjemy jako przykładu w tej instrukcji. Możesz zbudować własną lampę dokładnie taką, jak ta, ale oczywiście możesz również wykazać się kreatywnością w tej części i zaprojektować własną lampę, jak tylko chcesz. Jak widać na zdjęciach, druga zbudowana przez nas lampa wygląda inaczej niż pierwsza i mamy już pomysły na nowe projekty lamp. Jest to więc część, w której możliwości są prawie nieograniczone.

Oczywiście do złożenia wszystkiego potrzebujemy nie tylko części, ale także narzędzi. Do tego potrzebujemy następujących przedmiotów:

  • lutownica (plus lut)
  • trochę papieru ściernego
  • nożyczki
  • pistolet do kleju topliwego
  • piła do drewna

Teraz, gdy mamy już wszystko, czego potrzebujemy, wyjaśnimy podstawową ideę lampy, jak to wszystko działa i oczywiście jak ją zbudować.

Krok 2: Podstawowa idea i sposób jej działania

Podstawową ideę widać na schemacie okablowania. Sercem projektu jest mini płytka Wemos D1 z mikrokontrolerem ESP8266. Zaletą ESP8266 jest to, że jest tani i ma WiFi bezpośrednio na pokładzie, czyli dokładnie to, czego potrzebujemy. Użyliśmy płytki Wemos D1 mini, ponieważ przy tej płytce nie są potrzebne żadne dodatkowe narzędzia do wgrania oprogramowania do mikrokontrolera (poza standardowym kablem USB do transmisji danych). Ale każda płyta oparta na ESP8266 powinna działać w tym projekcie.

Do sterowania lampą chcemy wykorzystać pojemnościowy czujnik dotykowy (a więc ta sama podstawowa zasada stosowana w większości wyświetlaczy smartfonów). Taki czujnik dotyku można zbudować podłączając rezystor 100kΩ dwoma pinami ESP8266 (w naszym przypadku piny D2 i D5), a następnie podpiąć dodatkowy przewód do pinu D5 i przylutować ten przewód do metalowej płytki. Miejsce lutowania tego przewodu zależy od wybranej przez Ciebie konstrukcji lampy. W schemacie okablowania użyliśmy po prostu ogólnej metalowej płytki, ale w przypadku naszego konkretnego projektu lampy przylutowaliśmy ten kabel do metalowej części lampy. Jeśli interesuje Cię, jak dokładnie to działa, na stronie internetowej znajdziesz dobre wyjaśnienie dotyczące biblioteki Arduino, której użyliśmy do programowania pojemnościowego czujnika dotykowego.

Teraz, gdy mamy coś, czego możemy dotknąć, aby sterować lampą, następną rzeczą, której potrzebujemy, jest źródło światła. Do tego wykorzystaliśmy diody WS2812B. Są one szeroko stosowane w różnych projektach, a ich główną zaletą jest to, że można sterować kolorem wielu diod za pomocą tylko jednego połączenia danych między pierwszą diodą a mikrokontrolerem (w naszym przypadku podłączonym do D8 ESP8266). W naszym projekcie wykorzystujemy cztery diody WS2812B. Na schemacie okablowania pokazane są dwie, ale dodanie dodatkowych diod LED działa dokładnie tak samo, jak dodanie drugiej diody: Pin DOUT drugiej diody LED musi być podłączony do DIN trzeciej, a VSS i VDD muszą być podłączone do pinu uziemienia, a Odpowiednio pin 5V. Te diody WS2812B można następnie łatwo zaprogramować, m.in. z biblioteką NeoPixel firmy Adafruit.

Teraz mamy wszystkie potrzebne składniki: mikrokontroler z funkcją WiFi, czujnik dotykowy do sterowania lampą i samym źródłem światła. W kolejnych krokach opiszemy, jak zbudować właściwą lampę i jak wgrać oprogramowanie oraz co należy zrobić, aby dwie (lub więcej) lampy mogły synchronizować się przez internet.

Krok 3: lutowanie elektroniki

Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki
Lutowanie elektroniki

Więc przede wszystkim musimy zlutować wszystkie części elektroniczne razem. Zaczęliśmy od zlutowania ze sobą pojedynczych diod WS2812B (jak pokazano i opisano w poprzednim kroku). Gdybyśmy zrobili ten projekt ponownie, prawdopodobnie kupilibyśmy po prostu diody WS2812B w formie taśmy. Paski te można przyciąć tak, aby mieć dokładnie taką ilość diod, jaką chcesz, a następnie wystarczy przylutować złącza DIN, VDD i VSS tego paska do pinów D8, 5V i G ESP8266. Byłoby to łatwiejsze niż zrobienie tego tak jak my to zrobiliśmy, ale lutowanie pojedynczych diod WS2812B razem jest również możliwe, co widać na zdjęciach (choć nasze złącza lutownicze nie są zbyt piękne – ale działają)

Następnie wlutowaliśmy rezystor między piny D2 i D5. Na pinie D5 musimy też przylutować dodatkowy przewód, który później przylutujemy do części lampy, która ma pełnić funkcję czujnika dotyku. Na zdjęciach widać, że nie przylutowaliśmy rezystora bezpośrednio do płytki, a zamiast tego przylutowaliśmy złącza do płytki, w której następnie wstawiliśmy rezystor. To dlatego, że chcieliśmy dowiedzieć się, który rezystor najlepiej sprawdza się w tym projekcie, ale można było również przylutować rezystor bezpośrednio do płytki.

Jako ostatni krok możemy teraz podłączyć nasz kabel USB do wtyczki USB Wemos D1 mini (upewnij się, że masz kabel USB do transmisji danych – są też kable, które działają tylko do ładowania, ale nie do przesyłania danych, ale potrzebujemy możliwość późniejszego flashowania oprogramowania).

Krok 4: Budowanie lampy

Budowanie lampy
Budowanie lampy
Budowanie lampy
Budowanie lampy
Budowanie lampy
Budowanie lampy

Teraz, gdy części elektroniczne są gotowe, możemy przystąpić do tworzenia właściwej lampy. W tym celu chcemy oświetlić wazon od góry naszymi diodami LED i chcemy, aby światło lampy było rozproszone. Ponieważ szkło w wazonie, które znaleźliśmy, jest bardzo przezroczyste, użyliśmy sprayu Ice Flower Spray, aby nadać szkłu bardziej matowy wygląd. Dostępnych jest kilka wersji sprayu, które mogą nadać szkłu bardziej matowy lub rozproszony wygląd, dzięki czemu możesz po prostu patrzeć na to, co możesz znaleźć. Jeśli używasz tego sprayu, upewnij się, że wszystko jest dobrze wysuszone, zanim przejdziesz dalej. Może to potrwać kilka godzin w zależności od używanego sprayu.

Aby teraz zbudować lampę, musimy upewnić się, że metalowa doniczka stoi na wazonie na odpowiedniej wysokości, a elektronika jest zamocowana wewnątrz doniczki, aby diody LED oświetlały wazon. Aby to zrobić, użyliśmy dwóch drewnianych patyczków, papieru ściernego i piły do drewna, aby zrobić krzyż. Ten krzyż będzie siedział na wazonie, a końce krzyża zostaną przyklejone do doniczki. W ten sposób upewnimy się, że donica jest na odpowiedniej wysokości (jeśli drewniany krzyż ma odpowiedni rozmiar).

Aby to zrobić, najpierw użyliśmy piły, aby uzyskać odpowiedni rozmiar patyków. Następnie za pomocą papieru ściernego wyszlifowaliśmy rowek w środku jednego z patyczków. Teraz drugi wkleiliśmy w rowek za pomocą pistoletu do klejenia na gorąco. Gdybyśmy położyli to na wierzchu wazonu, nie pasowałoby to dobrze, ponieważ patyczki nie są na tym samym poziomie. Wyszlifowaliśmy więc dwa nowe rowki na końcach patyczka, który znajduje się na dolnym poziomie, aby krzyż idealnie pasował do wazonu. Widać to dobrze na zdjęciach.

Jeśli wszystko dobrze pasuje, następnym krokiem jest przyklejenie kawałka kartonu na krzyżu. To musi być po tej stronie krzyża, gdzie nie ma rowków. Następnie przykleiliśmy płytkę Wemos D1 mini na wierzchu kartonu, a diody LED po drugiej stronie krzyża.

Następnym krokiem jest wtedy przylutowanie kabla rezystancyjnego czujnika dotykowego do metalowego garnka. W ten sposób możemy kontrolować kolor lampy dotykając doniczki. Po wykonaniu tej czynności drewniany krzyż można przykleić do metalowego garnka za pomocą pistoletu do klejenia na gorąco, a następnie krzyż i garnek można przykleić na wazonie.

Jako ostatni krok możemy teraz przykleić kabel USB super klejem do wazonu, aby wszystko wyglądało ładnie i schludnie. Teraz prawie skończyliśmy.

Krok 5: Uruchom go

Ostatnim krokiem jest wgranie oprogramowania do lampy i skonfigurowanie serwera, który będzie używany do synchronizacji lampy. Jeśli interesuje Cię, jak dokładnie działa oprogramowanie, zapraszamy do zapoznania się z kodem źródłowym, nie będziemy tutaj wchodzić w szczegóły. Ale podstawową ideą jest to, że każda z lamp, które chcesz zsynchronizować, musi być podłączona do tego samego serwera MQTT. MQTT to protokół przesyłania wiadomości dla Internetu rzeczy i komunikacji maszyna-maszyna. Jeśli jedna z lamp zmieni swój kolor, opublikuje to na serwerze MQTT, który następnie wyśle sygnał do wszystkich innych lamp, który następnie każe im również zmienić kolor.

Ale nie martw się, nie musisz nic rozumieć o MQTT, jak to działa ani jak skonfigurować serwer MQTT, jeśli chcesz tylko użyć lampy. Oczywiście możesz skonfigurować i skonfigurować własny serwer, jeśli chcesz. Ale jeśli nie chcesz tego robić, dostępnych jest również kilka usług, w których możesz wynająć serwer MQTT hostowany w chmurze. Wykorzystaliśmy do tego CloudMQTT, gdzie możesz uzyskać bardzo ograniczony serwer nawet za darmo (ale z wystarczającą funkcjonalnością i przepustowością dla naszych celów). Darmowy plan nazywa się Cute Cat i jeśli masz jeden z nich, wystarczy zajrzeć do Szczegóły → Informacje o instancji i tam możesz zobaczyć serwer, użytkownika, hasło i port swojej instancji MQTT. Te wartości to wszystko, czego potrzebujesz, więc zapisz je:-)

Teraz, aby wgrać oprogramowanie na lampę, należy podłączyć kabel USB do laptopa lub komputera, a następnie wgrać oprogramowanie za pomocą oprogramowania Arduino. Sposób instalacji i konfiguracji oprogramowania Arduino do użytku z płytami opartymi na ESP8266 jest dobrze wyjaśniony w tej instrukcji, więc nie musimy tutaj powtarzać tych kroków.

Po zainstalowaniu i skonfigurowaniu wszystkiego należy przejść do Narzędzia →Zarządzaj bibliotekami w oprogramowaniu Arduino i zainstalować biblioteki potrzebne do tego projektu: Adafruit NeoPixel, CapacativeSensor, PubSubClient, WifiManager (w wersji 0.11) i ArduinoJson (w wersji 5, nie wersja beta 6). Jeśli są one zainstalowane, możesz pobrać kod źródłowy lampy z naszego repozytorium Github dla tego projektu i przesłać go do lampy za pomocą oprogramowania Arduino.

Jeśli wszystko poszło dobrze, lampa uruchomi się i jest gotowa do użycia:-) Podczas uruchamiania będzie szumieć na niebiesko i spróbuje połączyć się ze znanym WiFi. Przy pierwszym uruchomieniu lampa oczywiście nie wie o żadnym Wi-Fi, więc uruchomi swój własny Hotspot (o nazwie będącej kombinacją „Syncenlight” i unikalnym identyfikatorem używanego ESP8266). Możesz podłączyć m.in. Twój smartfon do tego WiFi i zostaniesz przekierowany na stronę konfiguracji lampy gdzie możesz skonfigurować swoje dane logowania do WiFi a także wprowadzić wymagane ustawienia dla serwera MQTT (te trzeba było zapisać kilka akapitów wcześniej). Jeśli skończysz, lampa uruchomi się ponownie i jest teraz całkowicie gotowa do użycia!

Daj nam znać, jak podobał Ci się ten projekt lub jeśli masz jakieś pytania, mamy nadzieję, że spodobał Ci się ten Instruktaż:-)

Zalecana: