Spisu treści:

Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth: 8 kroków
Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth: 8 kroków

Wideo: Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth: 8 kroków

Wideo: Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth: 8 kroków
Wideo: Smart Light Wireless Fast Charger Bluetooth Speaker for iPhone Samsung Mobile Phone Dock Station 2024, Lipiec
Anonim
Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth
Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth
Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth
Budzik Sunrise z wyświetlaczem LCD i aplikacją Bluetooth

Zima może być smutna. Budzisz się, jest ciemno i musisz wstać z łóżka. Ostatnią rzeczą, którą chcesz usłyszeć, jest denerwujący dźwięk budzika. Jeśli tak jak ja masz problem z budzeniem się rano, ten budzik jest właśnie tym, czego potrzebujesz.

W tym samouczku zbudujemy budzik o wschodzie słońca. Jest to budzik, jak każdy inny, ponieważ możesz ustawić godzinę i minutę, o której chcesz się obudzić, ale z korzyścią, jaką jest użycie światła do rozjaśnienia sypialni przez pewien czas, jak wschód słońca, aby Cię obudzić, zamiast irytującego brzęczyk!

Wykorzystamy również moduł bluetooth do stworzenia aplikacji, która pozwoli Ci ustawić budzik za pomocą telefonu na zegar. Wyświetlacz LCD pokaże godzinę, datę i dzień tygodnia. Lampy Sunrise istnieją na rynku, ale mogą być drogie (szybkie wyszukiwanie w Google zwraca produkty w przedziale 100 euro), delikatne i dość klinicznie wyglądające. Dlatego postanowiłem zrobić własne dla mojego Arduino School Project. Wszystkie części zostaną wymienione w następnym kroku. Kod można pobrać z mojego repozytorium Github sunrise-budzik. Zaczynajmy:)

cały kod można znaleźć na:

Krok 1: Zbieranie części

Zbieranie części
Zbieranie części
Zbieranie części
Zbieranie części
Zbieranie części
Zbieranie części

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ć:

- Arduino Uno - moduł zegara RTC DS3231 - MOSFET do sterowania jasnością światła - super jasna dioda LED (kupiłem 2, jedna ciepła, jedna zimna) - bateria 9V do zasilania diody - płytka stykowa - wyświetlacz LCD (16:2)- Adapter Bluetooth hc-05 dzięki czemu możemy użyć aplikacji do ustawienia alarmu.

Wszystko, czego potrzebujesz, możesz kupić na www.martoparts.nl

Krok 2: Montaż obwodu

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

Możesz odwołać się do szkicu mojego układu, niestety nie mogłem znaleźć w programie RTC DS3231, więc musiałem z tym zrobić. Połączenia są nieco inne w rzeczywistości, oto połączenia. (modułu bluetooth nie ma w szkicu, ale wyjaśnię, jak to działa poniżej, bo to dość trudne)

RTC DS3231GND przechodzi do GND na arduino

VCC idzie do 5v

SDA idzie na arduino

SCL idzie na arduino Nie będziemy używać SQW i 32KMOSFET

Pin bramki przechodzi do pinu ~ 9 na Arduino Uno, ponieważ jego pin PWMDrain przechodzi do ujemnej strony diody LED Pin Source przechodzi do GND na ArduinoLCD-DisplayGND przechodzi do GND na arduino

VCC idzie na 5VSDA idzie na A4 na arduinoSKL idzie na A5 na arduinoLED- idzie na mosfet+ idzie na akumulator 5v9v Możesz kupić baterię 9v w każdym lokalnym sklepie, podłącz do arduino listwą złączową.

Moduł Bluetooth hc-055V idzie do 5V z arduino

GND idzie do GND na arduino

Teraz są jeszcze 2 wejścia, ale nadchodzi trudna część, musimy połączyć przeciwne wejścia tych 2 na arduinoTX z hc-05 idzie do RX na arduinoRX z hc-05 idzie do TX na arduino

Ważne: Upewnij się, że ODŁĄCZASZ TX i RX od HC-05 podczas przesyłania kodu na arduino, w przeciwnym razie w kompilatorze pojawi się błąd z informacją „coś poszło nie tak z przesyłaniem kodu”.

Krok 3: ustawienie wyświetlacza LCD i zegara

Ustawianie wyświetlacza LCD i zegara
Ustawianie wyświetlacza LCD i zegara
Ustawianie wyświetlacza LCD i zegara
Ustawianie wyświetlacza LCD i zegara

Biblioteka używana do wyświetlacza LCD jest ciekłokrystaliczna i można ją znaleźć pod adresem: https://github.com/fdebrabander/Arduino-LiquidCrys… Pobierz plik zip, zapisz go i umieść w folderze Arduino/libraries

Bibliotekę, której używam do uruchamiania zegara, można znaleźć na stronie Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 i upewnij się, że jesteś na stronie DS3231. Pobierz plik zip, zapisz go i umieść w folderze bibliotek Arduino.

Czas

Dołącz bibliotekę DS3231 lub DS1307 do swojego kodu arduino

Odkomentuj te 3 wiersze kodu, aby ustawić czas:

// rtc.setDOW(PONIEDZIAŁEK); // Ustaw dzień tygodnia na NIEDZIELĘ// rtc.setTime(23, 57, 0); // Ustaw czas na 12:00:00 (format 24-godzinny) // rtc.setDate(14, 1, 2019); // Ustaw datę na 1 stycznia 2014 r.

Wyświetlacz LCD

Dołącz bibliotekę liqduicrystal_i2c do swojego kodu arduino

Aby drukować na wyświetlaczu LCD, użyj

lcd.setCursor(col, row) // pozycja tekstu printlcd.print(~) // tekst wydrukowany

Krok 4: Kodowanie

Kodowanie
Kodowanie

Pobierz kod na: github:

Odkomentuj te 3 linie, aby ustawić zegar na wyświetlaczu LCD:

// rtc.setDOW(PONIEDZIAŁEK); // Ustaw dzień tygodnia na NIEDZIELĘ// rtc.setTime(23, 57, 0); // Ustaw czas na 12:00:00 (format 24-godzinny) // rtc.setDate(14, 1, 2019); // Ustaw datę na 1 stycznia 2014 r.

Użyj lcd.setCuros(kol, wiersz); aby ustawić pozycję tekstu na wyświetlaczu

lcd.setCursor(0, 2);

i print(), aby wydrukować coś na wyświetlaczu

lcd.print(rtc.getDateStr());

Zmień te zmienne, jeśli chcesz

int czas zanikania = 1; // Jak długo światło będzie blaknąć do maxint setHour = 02; // Ustaw godziny budzenia (czas wojskowy)int setMin = 49; // Ustaw minutę budzenia int uled = 9; // Ustaw pinout z PWM

Kod modułu Bluetooth

String firstHalf = getValue(input, ':', 0); // sprawdź pierwsze wejście do ":"

String secondHalf = getValue(wejście, ':', 1); // sprawdź drugie wejście po ":"

// użyj tego kodu, jeśli nie używasz modułu bluetooth

// //if (t.hour == setHour && t.min == setMin) // Sprawdź, czy czas się obudzić! // { // początek(); // }

// sprawdź pierwsze 2 cyfry wejścia, następnie sprawdź drugie 2 cyfry wejścia

if (t.godzina == pierwszaPołowa.toInt() && t.min == drugaPołowa.toInt()) { start(); } }

// logika do oddzielenia ciągów

String getValue(String data, char separator, int index) { int found = 0; int strIndex = { 0, -1 }; int maxIndex = data.length() - 1;

for (int i = 0; i <= maxIndex && znaleziony <= indeks; i++) { if (data.charAt(i) == separator || i == maxIndex) { znaleziony++; strIndex[0] = strIndex[1] + 1; strIndex[1] = (i == maxIndex) ? i+1: ja; } } return found> index ? data.substring(strIndex[0], strIndex[1]): ""; }

Krok 5: Czas na testy

Skompiluj swój kod i przetestuj, czy komponenty działają!

Krok 6: Konfiguracja aplikacji Bluetooth

Konfiguracja aplikacji Bluetooth
Konfiguracja aplikacji Bluetooth
Konfiguracja aplikacji Bluetooth
Konfiguracja aplikacji Bluetooth
Konfiguracja aplikacji Bluetooth
Konfiguracja aplikacji Bluetooth

Ponieważ uważałem za irytujące zagłębianie się w kod za każdym razem, gdy chciałem ustawić alarm, chciałem stworzyć aplikację, która ustawi alarm, co jest o wiele łatwiejsze.

Wejdź na https://ai2.appinventor.mit.edututaj możemy stworzyć prostą aplikację, która pozwoli nam ustawić alarm, dołączyłem prostą konfigurację projektu (zawsze możesz to później poprawić) i kod używany do połączenie Bluetooth. Następnie możesz opublikować swoją aplikację i połączyć się z nią na telefonie, używając kodu QR lub bezpośrednio pobierając aplikację na komputer, a następnie przenosząc ją za pomocą kabla do telefonu. (zrzut ekranu)

Krok 7: Budowanie sprawy

Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy
Budowanie sprawy

Zawsze możesz zbudować inną obudowę wokół zegara arduino. Wykorzystałem drewno i matową pleksi do budowy własnej obudowy budzika. Wybrałem matową pleksi, dzięki czemu widać wyraźnie światło przechodzące przez kopertę, ale nie widać wnętrza zegara.

Krok 8: Gotowe

Skończone!
Skończone!
Skończone!
Skończone!
Skończone!
Skończone!

Teraz, gdy wgrałeś kod do swojego arduino, zbuduj obudowę i sprawdziłeś, czy poprawnie zmontowałeś swój zegar, możesz ustawić alarm w aplikacji bluetooth i zacząć budzić się bardziej naturalnie!:)

Zalecana: