Spisu treści:
Wideo: Brak niebieskiej lampy: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Więc ten Lazy Old Geek (L. O. G.) pracował nad projektem Blue Light:
www.instructables.com/id/Blue-Light-Projec…
www.instructables.com/id/Blue-Light-Projec…
Cóż, w następnym kroku chciałem lampę, która będzie jasna w ciągu dnia i nie będzie miała niebieskiego światła wieczorem/w nocy.
Sprzęt projektowy:
Zdecydowałem się użyć zegara czasu rzeczywistego (RTC) do kontrolowania czasów zmian światła.
Wybrałem DS3231, ponieważ ma lepszą dokładność czasu niż DS1307. DS3231 może mieć napięcie 5 V lub 3,3 V.
Do światła użyję ciągu LED WS2812B. Posiadają prosty, trzyprzewodowy interfejs i sterowalne diody LED w kolorze czerwonym, zielonym i niebieskim. WS2812B to urządzenia 5v.
Do mikrokontrolera użyję Pro Micro, 5v 16MHz.
Podczas gdy WS2812B prawdopodobnie będzie działał z napięciem 3,3 V, lepiej użyć Arduino 5 V.
Pro Micro to tanie Arduino wykorzystujące mikrokontroler Atmega32U4.
Lampa będzie miała włącznik/wyłącznik do włączania lub wyłączania lampy.
Nie zabraknie potencjometru do sterowania jasnością.
Oprogramowanie do projektowania:
DS3231 RTC będzie kontrolował czas, ma podtrzymanie bateryjne, więc powinien utrzymywać czas nawet w przypadku utraty zasilania.
W ciągu dnia wszystkie diody RGB byłyby włączone, sterowane przez potencjometr do pełnej intensywności.
Wczesnym wieczorem niebieskie diody będą wyłączone, czerwone i zielone włączone max.
W miarę upływu wieczoru czerwone i zielone diody LED będą ściemniać się, z preferencją czerwonego nad zielonym (moje testy w części 2 sugerują, że zielone diody LED mają w sobie trochę niebieskiego).
Po około 22.00 wszystkie diody LED zgasną.
PROBLEM:
Wracając do modułu DS3231 RTC, kupiłem go od Aliexpressa, tak jak dla innych komponentów.
Mają one współpracować i ładować akumulator LIR2032. Wypróbowałem to. Po około dniu bateria była wyczerpana.
Po kilku poszukiwaniach w Internecie znalazłem ten artykuł.
www.onetransistor.eu/2019/07/zs042-ds3231-…
Zgadzam się z tą analizą, ale uważam, że LIR2032 ładuje się odpowiednio, ale nie nadmiernie. Najwyraźniej się myliłem. Mój DS3231 choć również oznaczony jako ZS-042 jak w artykule był nieco inny niż jego, ale prawie taki sam. Odlutowałem więc diodę widoczną na zdjęciu i zainstalowałem baterię CR2032. Bez diody moduł nie będzie próbował ładować akumulatora. Teraz DS3231 utrzymuje prawidłowy czas nawet przy odłączonym zasilaniu, a bateria powinna działać przez wiele lat.
Wymagania dotyczące zasilania:
WS2812B to ciąg diod LED RGB nazywanych czasami NeoPixels. Każdy NeoPixel wymaga maksymalnie 60mA. Używam 12 Neo Pixels, więc potrzebuję 0,72A. Używam adaptera USB 2A, więc mam dużo prądu.
Krok 1: PCB BlueLamp
Tak jak zwykle, użyłem darmowego oprogramowania Eagle Cadsoft (obecnie Autodesk) do rozplanowania i stworzenia mojej płytki drukowanej.
www.autodesk.com/products/eagle/free-downl…
Schemat orła i pliki planszy są załączone wraz ze schematem na zdjęciu.
Jeden komentarz na temat schematu, rezystora 330 omów i kondensatora 10 000 uFd to zalecenia przewodnika po neopixelach Adafruit:
learn.adafruit.com/adafruit-neopixel-uberg…
Przycisk przełącznika, którego użyłem „Przełącznik palnika” był stąd:
www.aliexpress.com/item/32904942704.html? s…
Potencjometr 10K (B103) stąd:
www.aliexpress.com/item/32672253655.html? s…
Krok 2: Montaż lampy
Zdarzyło mi się mieć ciężką podstawę od zakupionej lampy. Miał na sobie dużą okrągłą szpilkę. Wziąłem kawałek rury PVC, który pasował do niego. Był trochę luźny, więc wziąłem śrubę i kilka nakrętek, aby móc je dokręcić. (widzieć zdjęcie)
WS2812B można przyciąć do żądanej liczby NeoPixels. Listwa, którą kupiłem, ma duże odstępy między NeoPixelami. Chciałem, żeby było trochę jaśniej, więc wyciąłem dwa paski 6 NeoPixel i poprowadziłem je równolegle, lekko przesunięte. Paski WS2812B można ciąć między NeoPixels. W tym przypadku potrzebowałem zmiany o 180 stopni, więc przeciąłem pasek i poprowadziłem przewody połączeniowe. Jeśli kiedykolwiek to zrobisz, upewnij się, że sygnały i strzałki kierunkowe są prawidłowe. (patrz zdjęcie)
Ten WS2812B ma również przewody i złącze (to złącze to 3-pinowe złącze JST-SM, jeśli chcesz go użyć gdzie indziej). Ponieważ to złącze już tam było, po prostu przylutowałem przewody do mojej płytki. W przypadku tego WS2812B czerwony przewód to 5 v, zielony to sygnał, a biały to masa.
Kiedy już wykonałem płytkę, nałożyłem na spód taśmę i przykleiłem ją do podstawy. Następnie podłączyłem Pro Micro i DS3231.
Krok 3: Szkic Arduino
Chociaż kupiłem mój Pro Micro od Aliexpress.com, użyłem następujących informacji, aby uruchomić Arduino:
learn.sparkfun.com/tutorials/pro-micro--fi…
Aby zainstalować bibliotekę dla DS3231, używam tej:
github.com/PaulStoffregen/DS1307RTC
Pobierz plik Zip
Otwórz Arduino, wybierz „Szkic” „Dołącz bibliotekę” „Dodaj bibliotekę.zip”
Zainstaluj następujące, użyj tej samej metody
Biblioteka Czasu PaulStoffregen
github.com/PaulStoffregen/Time
Biblioteka stref czasowych
github.com/JChristensen/Strefa czasowa
Po zakończeniu uruchom Arduino.
W sekcji Tablice narzędziowe wybierz „Sparkfun Pro Micro”
Kliknij ponownie Narzędzia, pojawi się wybór procesora
Może być konieczna zmiana „Atmega32U4 (5V 16Mhz)”
OSTRZEŻENIE: Jeśli jesteś tak nieostrożny, jak ja, przez pomyłkę wybrałem „Atmega32U4 (3,3 V 8 Mhz)”. To go „zamurowało”, więc Arduino nie mogło tego zobaczyć. Cóż, zwykle staram się czytać o nowych rzeczach, zanim je dostałem i przypomniałem sobie coś o tym wydarzeniu:
learn.sparkfun.com/tutorials/pro-micro--fi…
W tym przewodniku znajduje się sekcja zatytułowana „Jak ożywić ‚Bricked’ Pro Micro” Jak wspomniano, jest to trudna procedura, ale udało mi się odzyskać moją.
FYI: Jeśli zastanawiasz się, dlaczego istnieją dwie wersje o różnych napięciach i prędkościach, Atmega32U4 (taka sama jak Atmega328) będzie działać dobrze przy 5 V z zegarem 16 MHz. Ale przy 3,3 V specyfikacja projektowa mówi, że zegar 16 MHz nie będzie działał, dlatego mają zegar na 8 MHz. Ogólnie rzecz biorąc, oprogramowanie Arduino zajmie się wszelkimi problemami z synchronizacją.
WSKAZÓWKA RTC: Większość oprogramowania napisanego dla DS1307 będzie działać z DS3231, ponieważ mają one bardzo podobne oprogramowanie.
Czas letni
Cóż, chciałem wdrożyć DST, więc nie musiałem przeprogramowywać lampy dwa razy w roku. Pracowałem nad tym przez kilka dni. Nie mogłem znaleźć żadnych dobrych prostych wyjaśnień na temat działania Time, TimeLib i RTClib.
Napisałem trochę kodu DST dla mojego IPClocka:
www.instructables.com/id/NO-MORE-SPRING-FO…
to działało dla czasu internetowego, ale nie mogłem go uruchomić w czasie RTC.
W końcu natknąłem się na następujące przez JChristensena:
forum.arduino.cc/index.php?topic=96891.0
github.com/JChristensen/Strefa czasowa
Aby z tego skorzystać, musisz najpierw ustawić RTC na UTC (uniwersalny czas koordynowany), czyli czas w Greenwich w Anglii. Cóż, nie wiedziałem, jak to zrobić, ale znalazłem ten artykuł:
www.justavapor.com/archives/2482
Przepisałem go na czas górski (w załączeniu) UTCtoRTC.ino
Następnie włączyłem strefę czasową do mojego szkicu. Szczerze mówiąc, nie testowałem tego, więc zakładając, że to działa.
Mój szkic jest załączony MTS_BlueLamp.ino.
Krok 4: Wniosek
Zrobiłem mały haczyk na górze mojej maski CPAP. Wieszałam go na mojej starej lampce nocnej.
W zasadzie bardzo zadowolony z tej lampy. Całkowicie jasny w ciągu dnia i bez niebieskiego wieczorem i w nocy.
Jedna rzecz, której nie lubię, to to, że nie mogę jej używać po 22:00. a przed 5 rano
Odkryłem również, że nie używam przełącznika włączania / wyłączania, ponieważ zwykle używam tylko ściemniacza.
W przyszłości mogę przepisać szkic i zmienić przycisk na zaplanowane lub nieplanowane (pełne włączenie). Ale z moimi słabymi umiejętnościami kodowania mogę chwilę poczekać.
Zalecana:
Uaktualnij podświetlenie miernika VU do niebieskiej diody LED za pomocą starych części żarówek CFL.: 3 kroki
Uaktualnij podświetlenie miernika VU do niebieskiej diody LED za pomocą starych części żarówek CFL.: Podczas naprawy starego magnetofonu szpulowego Sony TC630 zauważyłem, że jedna ze szklanych żarówek podświetlenia miernika VU jest uszkodzona. Brak farby przewodzącej działał, ponieważ ołów odłamał się pod szklaną powierzchnią. Jedyny zamiennik, który mogę
Zasilanie USB DSO138: brak konwertera doładowania!: 3 kroki
Zasilanie USB DSO138: brak konwertera doładowania!: JYE DSO138 to doskonały mały oscyloskop do pracy z dźwiękiem i świetnie sprawdzi się jako przenośny znacznik sygnału. Problem polega na tym, że nie jest przenośny, ponieważ potrzebuje zasilacza 9V. Byłoby lepiej, gdyby mógł być zasilany ze standardowego
ESP32-CAM Przechwytuje zdjęcia i wysyła je pocztą e-mail przy użyciu pamięci SPIFF. --Brak wymaganej karty SD: 4 kroki
ESP32-CAM Przechwytuje zdjęcia i wysyła je pocztą e-mail przy użyciu pamięci SPIFF. ||Nie wymaga karty SD: Witam ludzi, płyta ESP32-CAM to tania płytka rozwojowa, która łączy w sobie układ ESP32-S, kamerę OV2640, kilka GPIO do podłączenia urządzeń peryferyjnych i gniazdo kart microSD. Ma wiele zastosowań, od serwera internetowego do strumieniowego przesyłania wideo, ale
Naprawa uszkodzonego koncentratora USB, brak ładowania baterii: 4 kroki
Naprawa uszkodzonego koncentratora USB, brak ładowania baterii: nie nienawidzisz tego, gdy bateria w telefonie komórkowym rozładowuje się i nie możesz uruchomić telefonu, aby wykonać kopię zapasową, aby wykonywać połączenia, wysyłać SMS-y lub uzyskiwać dostęp do kontaktów w telefonie, dopóki nie uzyskać zamienny koncentrator USB. Aby uruchomić telefon lub naładować
Modyfikacja niebieskiej latarki LED: 4 kroki
Blue LED Flashlight Mod: Oto szybki 10-minutowy hack, aby zmienić zwykłą białą latarkę LED w znacznie fajniejszą niebieską latarkę LED