Spisu treści:

Budzik Sunrise z Arduino: 9 kroków (ze zdjęciami)
Budzik Sunrise z Arduino: 9 kroków (ze zdjęciami)

Wideo: Budzik Sunrise z Arduino: 9 kroków (ze zdjęciami)

Wideo: Budzik Sunrise z Arduino: 9 kroków (ze zdjęciami)
Wideo: Arduino 7: BUDZIK 2024, Listopad
Anonim
Image
Image
Budzik Sunrise z Arduino
Budzik Sunrise z Arduino

Zima może być smutna. Budzisz się, jest ciemno i musisz wstać z łóżka. Ostatnią rzeczą, którą chcesz usłyszeć, jest ryczący dźwięk budzika. Mieszkam w Londynie i rano ciężko mi się obudzić. Tęsknię też za wstawaniem do naturalnego światła.

W tym samouczku zbudujemy budzik o wschodzie słońca. To budzik, jak każdy inny, ponieważ możesz ustawić godzinę i minutę, kiedy chcesz się obudzić, ale z dodatkową korzyścią, jaką jest użycie światła do rozjaśnienia sypialni przez okres czasu, jak wschód słońca, aby obudzić cię bardziej naturalnie.

Lampy Sunrise istnieją na rynku, ale mogą być drogie (szybkie wyszukiwanie na Amazon zwraca produkty w zakresie 100 funtów), kruche i dość klinicznie wyglądające. Zamierzamy zrobić coś dużo tańszego i dużo ładniejszego.

Wszystkie części zostaną wymienione w następnym kroku. Kod można pobrać z mojego repozytorium Github Gold-Sunrise-clock. Wszystkie schematy i pliki kompilacji dla sprawy są dostępne do pobrania w tym samouczku.

Chodźmy:)

Jeśli napotkasz problemy lub chcesz się przywitać, napisz do mnie [email protected] lub śledź mnie na Instagramie @celinechappert.

Krok 1: Zbieranie komponentów

Zbieranie komponentów
Zbieranie komponentów

Na początek użyjemy zegara jako wejścia i ultrajasnej diody LED jako wyjścia, aby symulować nasz wschód słońca.

Do zbudowania obwodu będziemy potrzebować:

- zegar. Będziemy używać RTC DS3231 (5 GBP)

- MOSFET do kontroli jasności światła (9 funtów)

- superjasna dioda LED (1 £)

- bateria 9V do zasilania diody (£3)

- płytka stykowa ułatwiająca montaż (£3)

- Arduino Uno (20 £)

- przycisk (opcjonalnie - tylko do celów demonstracyjnych)

Całkowita cena = 41 £

Jeśli masz już w domu Arduino, płytkę stykową i baterię 9V, cały projekt będzie kosztował mniej niż 15 funtów.

Do wykonania akrylowej obudowy potrzebne będą:

- 2 arkusze arkuszy akrylowych Perspex 0,3 mm, 1 arkusz na kolor na słońce i etui.

- dostęp do wycinarki laserowej.

Mam szczęście, że miałam dostęp do warsztatu mojej szkoły, więc te koszty zostały w większości pokryte. Kupiłem dodatkowy arkusz akrylu, ponieważ mój projekt wymagał pomarańczowego odcienia słońca, co kosztowało 14 GBP za arkusz (Perspex jest drogi!).

Krok 2: Montaż obwodu

Image
Image
Składanie obwodu
Składanie obwodu
Składanie obwodu
Składanie obwodu

Możesz odwołać się do czarno-białego szkicu mojego obwodu (przepraszam za bałagan) oraz do schematu przedstawiającego Arduino (zrobione z Fritzing).

Zasadniczo tutaj jest podział tego, co jest połączone z czym:

Zegar:

(-) łączy się z GND

NC oznacza „Not Connected” i nie łączy się z niczym

C/SCL łączy się z pinem A5 na Arduino

D/SDA łączy się z pinem A4 na Arduino

(+) łączy się z 5V na Arduino

MOSFET

Pin bramki przechodzi do pinu ~ 9 w Arduino Uno, ponieważ jest to PWM

Spustowy pin przechodzi na ujemną stronę diody LED

Pin źródłowy idzie do GND na Arduino

PROWADZONY

Strona ujemna jest podłączona do bolca spustowego na MOSFET

Strona dodatnia jest podłączona do 5 V na płytce stykowej

Bateria 9V

(+) do (+) na płytce prototypowej, to samo z (-).

Arduino Uno

Pamiętaj, aby podłączyć 5V do (+) na płytce stykowej, a GND do (-). Pamiętaj, aby połączyć (-) po jednej stronie płytki stykowej z (-) po drugiej stronie.

Następnie ustawimy nasz zegar za pomocą biblioteki DS3231.

Krok 3: Instalacja i ustawienie zegara

Instalowanie i ustawianie zegara
Instalowanie i ustawianie zegara
Instalowanie i ustawianie zegara
Instalowanie i ustawianie zegara
Instalowanie i ustawianie zegara
Instalowanie i ustawianie zegara

Bibliotekę, której używam do uruchomienia tego zegara, można znaleźć w Rinky-Dink Electronics (zrzuty ekranu powyżej). Kliknij łącze i upewnij się, że jesteś na stronie DS3231. Pobierz plik zip, zapisz go i umieść w folderze /libraries Arduino.

Teraz, aby ustawić prawidłowy czas na zegarze, otwórz Arduino i przejdź do Przykłady/DS3231/Arduino/DS3231_Serial_Easy.

Odkomentuj trzy wiersze kodu (zaznaczone na pomarańczowo na zrzucie ekranu), sprawdź czas i umieść ten właściwy czas w tych trzech wierszach kodu w formacie wojskowym.

Naciśnij Prześlij.

Teraz możesz odkomentować te trzy wiersze i ponownie nacisnąć Prześlij.

Otwórz monitor seryjny i sprawdź, czy Twój czas jest prawidłowy.

Nasz zegar jest ustawiony! Mamy swój obwód, teraz zacznijmy kodować. Ponownie repozytorium jest dostępne na Github.

Krok 4: Kodowanie

Image
Image

Pobierz kod i upewnij się, że biblioteka dla DS3231 jest poprawnie zainstalowana.

Najpierw chcemy zdefiniować nasze ustawienia.

fadeTime to czas, przez jaki światło zgaśnie od 0 do maksymalnej jasności w minutach. setHour/setMin odpowiadają czasowi, w którym chcemy się obudzić (uwaga: jest to format wojskowy, więc wymagany jest czas 24h). Pin 9 w Arduino definiujemy również jako nasze WYJŚCIE.

W setup() upewnij się, że numer SerialBegin (tutaj 96000 bodów) odpowiada numerowi Serial Monitor.

W loop() instrukcja if sprawdza, czy czas się obudzić. Kod działa w pętli, sprawdzając za każdym razem, czy wartości godziny i minuty zwracane przez zegar odpowiadają naszym zmiennym setHour/setMin. W takim przypadku instrukcja if zwraca funkcję active().

Funkcja active() składa się z dwóch części. Najpierw zaczynamy stopniowo przyciemniać światło: funkcje opóźnienia są tutaj, aby zapobiec zbyt szybkiemu rozjaśnianiu się diody LED we „wczesnych” etapach FadeTime. Następnie pętla for kontroluje prędkość, z jaką światło powinno stawać się coraz jaśniejsze w zależności od czasu zanikania. Na koniec wyłączamy światło, przekazując wartość 0 do naszej diody LED w funkcji analogWrite().

Powyższy film przedstawia układ pracujący w jednej z prototypowych akrylowych obudów.

Krok 5: Prototyp kartonu (opcjonalnie)

Prototyp kartonu (opcjonalnie)
Prototyp kartonu (opcjonalnie)
Prototyp kartonowy (opcjonalnie)
Prototyp kartonowy (opcjonalnie)

Przed tym projektem nigdy nie pracowałem z wycinarką laserową. Wykonanie tekturowego prototypu umożliwiło mi zapoznanie się z maszyną podczas testowania, jak dobrze wygląda obiekt (rozmiar, wygląd itp.) w rzeczywistej przestrzeni. Plany spraw do pobrania.

Zalecana: