Spisu treści:

Budzik LED Matrix (z odtwarzaczem MP3): 6 kroków (ze zdjęciami)
Budzik LED Matrix (z odtwarzaczem MP3): 6 kroków (ze zdjęciami)

Wideo: Budzik LED Matrix (z odtwarzaczem MP3): 6 kroków (ze zdjęciami)

Wideo: Budzik LED Matrix (z odtwarzaczem MP3): 6 kroków (ze zdjęciami)
Wideo: Samsung GEAR 2 Rozpakowanie Unboxing | ForumWiedzy 2024, Listopad
Anonim
Budzik z matrycą LED (z odtwarzaczem MP3)
Budzik z matrycą LED (z odtwarzaczem MP3)
Budzik z matrycą LED (z odtwarzaczem MP3)
Budzik z matrycą LED (z odtwarzaczem MP3)

Ten oparty na Arduino budzik ma wszystko, czego można oczekiwać od swojego budzika - możliwość obudzenia Cię każdą piosenką, którą lubisz, przycisk drzemki i łatwą kontrolę za pomocą trzech przycisków. Są to trzy główne bloki - matryca LED, moduł RTC oraz ekran MP3 z głośnikiem.

Krok 1: Materiał i narzędzia

  • Matryca LED
  • Arduino Uno
  • Osłona MP3 Odtwarzacz DHF Mini
  • Moduł RTC DS1307
  • Dowolny mówca
  • 3 przyciski (z rezystorami pullup/pulldown 10k)
  • Przewody
  • Plexi (lub dowolny materiał, z którego chcesz mieć pudełko)
  • Drukarka 3D (do drukowania pudełek matrycowych)
  • Złącze zasilania prądem stałym
  • Złącze żeńskie USB B.

Uważam, że możesz zmodyfikować tę listę materiałów w oparciu o swoje możliwości (z pewnością możesz użyć różnych MP3 Shield, różnych modułów RTC i wszystko powinno działać dobrze:)

Krok 2: Matryca LED

Matryca LED
Matryca LED
Matryca LED
Matryca LED
Matryca LED
Matryca LED

Jako inspirację wykorzystałem tę instrukcję do budowy matrycy LED, postanowiłem tylko nie używać płytki prototypowej i projektować własną płytkę PCB. Mój projekt w programie do tworzenia obwodów można znaleźć tutaj. Możesz też skorzystać ze schematów i jeśli chcesz przesłać dane gerberowe (zamiast generować je z własnego projektu obwodu) daj mi znać, że Ci je udostępnię:). Kilka wskazówek - najpierw użyłem bardzo taniego LED'a, ale po przylutowaniu wszystkich diod i uruchomieniu kodu arduino okazało się, że rozbieżność koloru diody LED jest nie do zaakceptowania, więc musiałem zamówić inne i zrobić inną matrycę LED. Wyjaśnię zasadę działania w części arduino. W każdym razie, aby sprawdzić, czy wykonałeś dobrą robotę i wyświetlacz działa, wystarczy zamienić stałe w funkcji DisplayChar w głównej pętli arduino (np. zamiast DisplayChar(1, letA); użyj DisplayChar(0, 9); co wypisze numer 9 zaczynając od pierwszej kolumny), nie musisz niczego więcej komentować.

Krok 3: Inne sprzęty

Inny sprzęt
Inny sprzęt
Inny sprzęt
Inny sprzęt
Inny sprzęt
Inny sprzęt

Pozostałe elementy sprzętowe do budowy budzika to: moduł RTC, nakładka MP3, przyciski oraz arduino UNO.

Do modułu RTC użyłem modułu DS1307 i biblioteki MD_DS1307.h jest dość prosty wszystko działa bezproblemowo, ale polecam prawdopodobnie użyć bardziej precyzyjnego modułu RTC typu 3231 lub innego - jeśli zostawię go bez zasilania przez około kilka dni zaczęło tracić kilka sekund.

Nakładka MP3 Odtwarzacz DHF Mini - Ta nakładka na MP3 jest naprawdę prosta, możesz wgrać kilka mp3 na kartę SD, podłączyć dowolny głośnik, który znajdziesz, a następnie może być obsługiwany na dwa sposoby albo przez komunikację szeregową, albo przez piny I/O. Szczerze mówiąc z jakiegoś powodu nie odniosłem sukcesu w komunikacji szeregowej (nie działała razem z komunikacją SPI i I2C używaną dla innych komponentów), ale byłem w porządku, aby użyć pinów IO (użyłem ADKEY1 podłączonego do wyjścia arduino Digital jako wyzwalacz do odtwarzania utworu, a następnie pin USB+, aby zatrzymać muzykę).

Jak widać na zdjęciu, użyłem trzech prostych przycisków na płytce prototypowej podłączonych do wejść cyfrowych arduino z rezystorami pull down 10kOhm.

Okablowanie dla arduino widać wyraźnie w kodzie Arduino:)

Krok 4: Części mechaniczne

Części mechaniczne
Części mechaniczne
Części mechaniczne
Części mechaniczne
Części mechaniczne
Części mechaniczne
Części mechaniczne
Części mechaniczne

Aby stworzyć widok ładnego zwykłego wyświetlacza, musisz użyć siatki, aby zdefiniować dokładny kształt każdej diody LED. Użyłem prostej drukowanej siatki 3D, która działa dobrze - składa się z dwóch części, lewej i prawej, w załączniku znajdują się dane STL.

Pudełko frezowane jest na maszynie CNC z pleksi mlecznej. Tylko od Ciebie zależy, z jakiego materiału zrobisz, tylko jedno zalecenie, jeśli użyjesz podobnego materiału jak ja, nałóż warstwę półprzepuszczalną na część, która jest bezpośrednio na diodach LED, aby diody LED nie były widoczne jako punktowe źródło światła. Widać, że w bocznej ściance jest miejsce na złącze zasilania DC i USB do wgrania lepszych pomysłów na kod:) Do sklejenia części z plexi użyłem standardowego kleju do tworzyw sztucznych. W załączniku pliki STL wszystkich części (Dzięki mojemu przyjacielowi Peshi za zaprojektowanie tego super fajnego pudełka:))

Krok 5: Część Arduino

Część Arduino
Część Arduino

W części związanej z arduino chciałbym tylko pokrótce opisać algorytm pętli głównej, a następnie kilka słów o sterowaniu rejestrami Shift poprzez ustawienia SPI i Alarm.

W głównej pętli po prostu sprawdzasz, czy jakiś przycisk jest wciśnięty, sprawdzasz, czy RTC przysyła Ci nowo zaktualizowane wartości minut i czy nadszedł czas na odtworzenie jakiejś piosenki Pink Floyd:) a jeśli nie, to po prostu co jakiś czas włączasz i wyłączasz diody LED ustawić numery.

Sterowanie matrycą LED - Dla lepszego zrozumienia dobrze jest postępować zgodnie z instrukcjami dla matryc LED, o których wspomniałem na początku, ale tylko krótko - ważne jest, aby zrozumieć, że aby wyświetlać cyfry lub litery w tej Matrycy, trzeba okresowo wybierać którą diodę z zestawu wiersz będzie musiał być włączony, a następnie na jakiś czas wyłączyć wszystkie diody z rzędu. W następnym kroku wyłączysz ten rząd i przygotujesz drugi rząd i ten raz za razem. Co to oznacza? - nie używaj żadnych opóźnień! - w przeciwnym razie nie pokaże ci liczb tylko mruga:)

Używam zupełnie innego i powiedziałbym prostszego sposobu sterowania rejestrami przesuwnymi (dzięki mojemu przyjacielowi Krystofowi, który napisał tę płynną funkcję). Czyli pierwszy krok (przygotowanie danych do rejestru przesuwnego odbywa się w funkcji DisplayChar, gdzie po prostu odnajdujemy żądany symbol z tablicy stałych i przygotowujemy dane do rejestrów. A gdy wywołamy funkcję UpdateDisplay dane są przesuwane na wyjścia (więcej informacji patrz ekran z arduino IDE)

Konfiguracja alarmu. Są trzy przyciski, lewy, środkowy i prawy. Dwukrotne naciśnięcie prawej i środkowej części spowoduje przejście do menu alarmu. W menu Alarm dostępne są następujące funkcje - lewy przycisk (Ustaw alarm na godziny) środkowy przycisk (Ustaw alarm na minuty) Prawy przycisk długie naciśnięcie (potwierdzenie alarmu), długie naciśnięcie środkowego i prawego przycisku (kasowanie istniejącego alarmu).

Gdy budzik jest ustawiony (można to rozpoznać po tym, że budzik włączy się dioda LED w prawym dolnym rogu) i Zegar zacznie odtwarzać ulubioną poranną piosenkę:) dostępne są następujące funkcje - lewy przycisk (Drzemka na kolejne 5 minut), środkowy przycisk (anulowanie alarmu).

Krok 6: Zakończenie alarmu

Image
Image
Zakończenie alarmu
Zakończenie alarmu

Na koniec po prostu sklejam wszystko w środku:) i zaklejam tylną część alarmu. W załączonym filmie możesz zobaczyć mechanizm sterowania tym alarmem. Zwróć uwagę na film, na filmie wygląda to jak mruganie, jest to spowodowane zasadą włączania i wyłączania diod LED oraz liczby klatek na sekundę podpisu kamery - w rzeczywistości twoje oczy widzą to jako włączone bez mrugania:)

Na przyszłość chciałbym wypróbować inny materiał - najlepiej jakiś czarny:) i dodać kilka dodatkowych funkcji, jak wyświetlanie daty, może temperatury itp:)

Mam nadzieję, że spodoba ci się budowanie własnego budzika i czekamy na twoje pomysły:)

Konkurs na zegary
Konkurs na zegary
Konkurs na zegary
Konkurs na zegary

II Nagroda w Konkursie Zegarów

Zalecana: