Elektroda.pl
Elektroda.pl
X
Sklep HeluKabel
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Budzik świetlny LED, ATmega8A

japko1024 08 Gru 2017 20:34 4434 12
  • Budzik świetlny LED, ATmega8A
    Budzik świetlny LED, ATmega8A
    Kiedy zbliżała się tegoroczna jesień i słońce wschodziło coraz później, postanowiłem zbudować budzik świetlny - urządzenie, które o zadanej godzinie włącza stopniowo rozjaśniające się światło. Nawet, jeśli nie obudzi ono użytkownika, to sprawi, że kiedy zadzwoni zwykły budzik, będzie znajdował się w płytszej fazie snu.
    Jako źródło światła zastosowałem LED o mocy 1 W na napięcie 3,3 V i zimnej barwie (działa bardziej pobudzająco niż ciepła, ponieważ receptory sterujące zegarem biologicznym człowieka są wrażliwe głównie na światło niebieskie). Jest ona sterowana przez wyjście OCR1A mikrokontrolera ATmega8A, podczas gdy ORC1B odpowiada za jasność podświetlenia wyświetlacza LCD HD44780. Timer 1 działa w trybie 8-bitowym, co wprawdzie zmniejsza liczbę dostępnych poziomów jasności, ale zwiększa częstotliwość PWM. Do pomiaru czasu wykorzystałem oscylator kwarcowy 32768 Hz i timer 2. Całość zlutowałem na płytce uniwersalnej.
    Wiele części pochodzi z odzysku:
    -zasilacz (ładowarka od starego Samsunga, 4,75 V / 0,55 A),
    -obudowa (przezroczyste pudełko po czekoladkach - wewnętrzna strona pokrywki obecnie zmatowiona papierem ściernym),
    -tranzystor D13007 sterujący LED (prawdopodobnie z zepsutego zasilacza komputerowego),
    -dyfuzor (z plastikowego korka od szampana - zamontowany tak, żeby nie nagrzewał się od LED)
    -część przewodów.

    Urządzenie nie ma funkcji alarmu dźwiękowego, bo mam już radiobudzik (ze sklepu), jednak w razie potrzeby można ją łatwo dodać (oczywiście sygnał powinien być uruchamiany po osiągnięciu odpowiedniej jasności).
    Urządzenie rzeczywiście pomaga obudzić się, kiedy trzeba wstać przed wschodem słońca. Jednak planuję poprawić pewne rzeczy: zmienić sposób obsługi przycisków, dodać automatyczne wyłączanie diody po upływie określonego czasu, wprowadzić usypianie procesora pomiędzy przerwaniami, regulację jasności wyświetlacza i możliwość ustawienia planu tygodniowego z ewentualnymi odstępstwami od niego. Wszystkie parametry powinny być też zapisywane w pamięci EEPROM. Jeśli chodzi o modyfikacje hardware'u, myślę, że przydałby się kondensator do stabilizacji prądu LED i podtrzymanie zasilania zegara.
    Załączam pliki z kodem źródłowym i opisami połączeń głównych elementów.
    Film pokazujący pracę urządzenia: Link (chciałem wgrać na Elektrodę, ale po wybraniu pliku i kliknięciu "Wgraj" wyświetla "Nie udało się uzyskać bezpiecznego połączenia", w dodatku plik jest za duży).


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz pendrive 32GB.
  • Sklep HeluKabel
  • #2 09 Gru 2017 08:46
    japycz321
    Poziom 25  

    Co tu oceniać? Idea urządzenia dobra, realizacja już znacznie gorzej.

    Po pierwsze, brak podstawowej funkcjonalności. Co to za urządzenie do którego jakiegokolwiek sensownego działania wymagane jest inne? Pisanie o posiadaniu innego budzika jest również bez sensu, bo nie wierze że ktoś ma ochotę ustawiać w obydwu godzinę budzenia.

    Przechodząc dalej, zlutowane na płytce uniwersalne(fajne jeśli to prototyp, albo przynajmniej tego nie widać), obudowa byle była, i uroczy napis. Estetyka pozostawia wiele do życzenia. Jeśli to pierwszy projekt w którym nacisk został postawiony na część programową to ok (plus za sporą ilość komentarzy w kodzie), jeśli oceniać to jako całość to tragedia.

    Cytat:
    podtrzymanie zasilania zegara

    Do tego służą gotowe moduły RTC.

  • #3 10 Gru 2017 12:28
    japko1024
    Poziom 17  

    japycz321 napisał:

    Po pierwsze, brak podstawowej funkcjonalności. Co to za urządzenie do którego jakiegokolwiek sensownego działania wymagane jest inne? Pisanie o posiadaniu innego budzika jest również bez sensu, bo nie wierze że ktoś ma ochotę ustawiać w obydwu godzinę budzenia.
    Być może wolę, jak mnie budzi muzyka albo najnowsze informacje, niż melodia z Koziołka Matołka w przebiegu prostokątnym. Czy to znaczy, że powinienem wyposażyć budzik świetlny w funkcję radia i nie korzystać z posiadanego radiobudzika? Czy może przerobić go, żeby oba urządzenia się synchronizowały (co, jeśli jest na gwarancji)?
    japycz321 napisał:

    Przechodząc dalej, zlutowane na płytce uniwersalne(fajne jeśli to prototyp, albo przynajmniej tego nie widać), obudowa byle była, i uroczy napis. Estetyka pozostawia wiele do życzenia.
    Co jest złego w lutowaniu na płytce uniwersalnej? Rozumiem, gdyby to miało być produkowane w większej ilości, np. na sprzedaż jako zestawy do samodzielnego montażu (wtedy budzik dźwiękowy też by był), ale na razie wykonałem jedno urządzenie na własny użytek. Jeśli chodzi o estetykę, to wiem, że mogłaby być lepsza, ale nie jest aż tak źle. Myślę, że problemem nie jest obudowa, tylko widoczne przez nią wnętrze. Po co kupować gotową obudowę, skoro można zrobić bardziej ekologiczną? Napięcie zasilania wynosi kilka V, maksymalne natężenie też jest nieduże, urządzenie nie jest też narażone na uszkodzenia mechaniczne.
    japycz321 napisał:
    Do tego służą gotowe moduły RTC.
    W takim razie po co ATmega ma złącze oscylatora kwarcowego i timer taktowany asynchronicznie? Czy wszystko trzeba robić na gotowych modułach, skoro wystarczy parę elementów dyskretnych? Budzik chodzi już od paru miesięcy i nigdy nie musiałem korygować godziny.

  • Sklep HeluKabel
  • #4 10 Gru 2017 22:27
    japycz321
    Poziom 25  

    japko1024 napisał:
    Być może wolę, jak mnie budzi muzyka albo najnowsze informacje, niż melodia z Koziołka Matołka w przebiegu prostokątnym. Czy to znaczy, że powinienem wyposażyć budzik świetlny w funkcję radia i nie korzystać z posiadanego radiobudzika? Czy może przerobić go, żeby oba urządzenia się synchronizowały (co, jeśli jest na gwarancji)?
    japycz321 napisał:

    Ale co stoi na przeszkodzie aby w swojej konstrukcji kolega dodał to radio? nie chce kolega używać gotowych modułów i lubi "ekologiczne" rozwiązania? stara mp3 i mały wzmacniacz powinny spełnić swoje zadanie. Jeśli nie to przecież urządzenie może włączać cokolwiek innego. Można wysłać sygnał uruchomienia chociażby do wieży stereo.

    japko1024 napisał:
    Jeśli chodzi o estetykę, to wiem, że mogłaby być lepsza, ale nie jest aż tak źle. Myślę, że problemem nie jest obudowa, tylko widoczne przez nią wnętrze. Po co kupować gotową obudowę, skoro można zrobić bardziej ekologiczną? Napięcie zasilania wynosi kilka V, maksymalne natężenie też jest nieduże, urządzenie nie jest też narażone na uszkodzenia mechaniczne.

    To już kwestia gustu i poczucia estetyki, ja bym czegoś takiego u siebie nie postawił. Znowu, skoro ma być tanio i ekologicznie można to zrobić ładniej. Używa kolega przeźroczystej obudowy to niech o wnętrze też zadba. Widywałem obudowy z plexy które wyglądały naprawdę dobrze mimo przeźroczystości. Myślę że w kolegi wypadku umieszczenie wyświetlacza klawiszy i innych elementów na jednej płytce już by wiele poprawiło. Alternatywne rozwiązanie to nieprzeźroczysta obudowa.

    japko1024 napisał:
    Budzik chodzi już od paru miesięcy i nigdy nie musiałem korygować godziny.
    fajnie że działa, ale sam kolega napisał:
    japko1024 napisał:
    Jeśli chodzi o modyfikacje hardware'u, myślę, że przydałby się [...] i podtrzymanie zasilania zegara.

    Skoro autor tematu pisze że czegoś mu brakuje to jednak sugeruje że dana opcja jest potrzebna.

  • #5 11 Gru 2017 13:52
    Frog_Qmak
    Poziom 25  

    Kolega pisze, że urządzenie pomaga w budzeniu, czy faktycznie tak jest ? Czym się to objawia, jak się zmienia samopoczucie ? Czy są jakieś publikacje na ten temat ? Ciekawa sprawa

  • #6 11 Gru 2017 18:56
    japko1024
    Poziom 17  

    Zanim zbudowałem budzik świetlny, ciężko mi się wstawało przed świtem. Czasami zwykły budzik wyrywał mnie z głębokiego snu - wtedy czułem się najgorzej. Chyba każdy zna to uczucie. Teraz to mi się raczej nie zdarza. Parę razy nawet obudziło mnie samo światło, zanim radiobudzik zaczął grać. We wrześniowym (albo jakiś podobny miesiąc) Focusie był artykuł o zegarze biologicznym i zalecali m.in. używanie budzików świetlnych - wtedy, kiedy ja kończyłem konstruować swój.

  • #7 11 Gru 2017 19:38
    Frog_Qmak
    Poziom 25  

    A w jaki sposób należy "zaprogramować" budzenie, żeby było naturalnie? Na ileś czasu przed obudzeniem? W zależności od godziny?

  • #8 11 Gru 2017 23:22
    japko1024
    Poziom 17  

    Nie wiem. Przy obecnym programie czas narastania wynosi 256 s (co sekundę wartość OCR wzrasta o 1). Budzik dźwiękowy ustawiam na ok. 5 min po wystartowaniu świetlnego. Optymalne czasy (narastania i pełnej jasności przed dźwiękiem) zależą też od tego, o której godzinie użytkownik poszedł spać. Naturalny świt (rozjaśnianie nieba przed wschodem słońca) trwa parę godzin, ale tutaj może być krótszy - żeby łatwiej było się obudzić, trzeba też wcześniej się wyspać.

  • #9 12 Gru 2017 10:23
    Piottr242
    Poziom 17  

    japko1024 napisał:
    żeby łatwiej było się obudzić, trzeba też wcześniej się wyspać.

    Otóż to.
    Kilka lat temu zainstalowałem sobie taśmę niebieskich led-ów, podświetlającą firanki od strony okna, zapalaną zwykłym wyłącznikiem czasowym. Na początku była to rewelacja i nowe życie, ale zauważyłem, że od pewnego czasu przestało pomagać.
    Kluczem jest to, że się po prostu nie wysypiam.
    Choć cały czas się noszę, żeby do tej linijki zbudować sterownik który za pomocą PWM by rozjaśniał stopniowo.

  • #10 12 Gru 2017 11:02
    japycz321
    Poziom 25  

    Niebieskie światło jest wyjatkowo nieprzyjemnie odbierane przez czlowieka więc nie wiem czy to dobry pomysł.

  • #11 12 Gru 2017 12:15
    japko1024
    Poziom 17  

    Zależy, jakie niebieskie. Niebo o świcie też jest niebieskie, ale ma wtedy szersze spektrum, niż monochromatyczne LED (nie wiem, jak na początku, ale wtedy jest jeszcze bardzo słabe).

  • #12 12 Gru 2017 13:34
    Piottr242
    Poziom 17  

    japycz321 napisał:
    Niebieskie światło jest wyjatkowo nieprzyjemnie odbierane przez czlowieka więc nie wiem czy to dobry pomysł.

    Niebieskie światło hamuje wydzielanie melatoniny. Niebo o świcie też ma niebieski kolor. Stąd wybór tego koloru, oparty właśnie na pierwszej przesłance.

  • #13 01 Paź 2018 16:13
    japko1024
    Poziom 17  

    Zaktualizowałem ostatnio software, dodając nowe funkcje:
    - możliwość ręcznego włączania, wyłączania i zmiany jasności
    - regulacja maksymalnej jasności
    - regulacja prędkości narastania jasności (zwiększanie wartości OCR o 1 może trwać od 1 do 9 sekund)
    - regulacja jasności podświetlenia wyświetlacza
    Pliki hd44780.c i hd44780.h pozostały niezmienione.