Spisu treści:

Pokaz świetlny oparty na Arduino: 7 kroków
Pokaz świetlny oparty na Arduino: 7 kroków

Wideo: Pokaz świetlny oparty na Arduino: 7 kroków

Wideo: Pokaz świetlny oparty na Arduino: 7 kroków
Wideo: XOD - Arduino dla opornych #4 2024, Listopad
Anonim
Image
Image
Pokaz świetlny oparty na Arduino
Pokaz świetlny oparty na Arduino
Pokaz świetlny oparty na Arduino
Pokaz świetlny oparty na Arduino
Pokaz świetlny oparty na Arduino
Pokaz świetlny oparty na Arduino

Zbudowałem kontrolowany przez Arduino pokaz świetlny jako mój wpis do Makers Rock, Album Art Collab. Możesz dowiedzieć się więcej na ten temat pod następującym linkiem: Makers Rock. Wybrana przeze mnie okładka pochodzi z albumu Judas Priest - Painkiller.

Całość jest pokazem świetlnym zamkniętym w drewnianej ramie, a okładka albumu jest umieszczona na górze, dzięki czemu światło przebija się przez nią.

Krok 1: Przygotuj drewnianą ramę

Przygotuj drewnianą ramę
Przygotuj drewnianą ramę
Przygotuj drewnianą ramę
Przygotuj drewnianą ramę
Przygotuj drewnianą ramę
Przygotuj drewnianą ramę

Możesz zbudować ramę lub obudowę w dowolny sposób. Wybieram drewno, ponieważ łatwo się z nim pracuje przy użyciu tylko podstawowych narzędzi.

Zbudowałem ramę z niektórych desek paletowych, które uratowałem. Zaznaczyłem 4 kawałki czystych części desek, które mierzyły 30 centymetrów długości, upewniając się, że zaznaczyłem pod kątem 45 stopni na fugi.

Całe cięcie wykonałem za pomocą wyrzynarki i wszystko działało OK. Jeśli masz dostęp do piły ukośnej lub piły stołowej, możesz ich użyć i uzyskać znacznie lepsze wyniki. Łączenia nie były idealne, ale dzięki mojej szlifierce taśmowej udało mi się dobrze dopasować elementy.

Podczas testu dopasowania zdałem sobie sprawę, że są za szerokie i zajmą dużo miejsca wewnątrz obudowy, więc zdecydowałem się przyciąć je do 2 cm szerokości. Ponownie użyłem wyrzynarki, upewniając się, że nie przeciąłem żyłki.

Połączenia ukośne same w sobie nie miały zbyt dużego podparcia, więc wyciąłem małe trójkątne kawałki do przyklejenia w rogach jako dodatkowego podparcia. Jestem pewien, że jest tu mnóstwo lepszych opcji do zrobienia, ale to był najlepszy pomysł, jaki miałem w tej chwili.

Uciosy połączyłem klejem do drewna w środku spoin i klejem CA na końcach, aby działał jak zacisk i utrzymywał go w miejscu podczas utwardzania kleju do drewna. Małe trójkąty podporowe zostały przyklejone tylko przy użyciu kleju CA, aby przyspieszyć proces.

Krok 2: Prototypowanie obwodu

Prototypowanie obwodu
Prototypowanie obwodu
Prototypowanie obwodu
Prototypowanie obwodu
Prototypowanie obwodu
Prototypowanie obwodu

Elektronika do pokazu świetlnego wewnątrz składa się z płytki Arduino Uno z mikrofonem z zepsutego zestawu słuchawkowego, który nasłuchuje dźwięków w pomieszczeniu, a następnie odzwierciedla całkowitą głośność dźwięku, zapalając jeden z 5 kawałków taśmy led wewnątrz.

Obwód składa się z dwóch niezależnych części. Pierwsza część to mikrofon z pojedynczym wzmacniaczem tranzystorowym, a druga część to sterowniki do taśm LED. Potrzebujemy ich, ponieważ Arduino i wzmacniacz mikrofonu działają na 5V, podczas gdy pasek LED działa na 12V.

Mikrofon jest podłączony do wyjścia 5V na Arduino przez rezystor 10k i przez kondensator do bazy tranzystora. Tranzystor następnie wzmacnia sygnał ze średnim poziomem 2,5 V, dzięki czemu możemy go odebrać na wejściu analogowym A0 w Arduino.

Aby włączyć 12V dla diod LED, baza tranzystorów jest podłączona do wyjścia cyfrowego przez rezystor 10k i ten sam obwód jest powtarzany 5 razy. Włączam tylko 3 diody w każdej z sekcji, więc mogę uciec na tranzystorach. Jeśli chcesz zmodyfikować projekt, aby używał dłuższych pasków, będziesz musiał użyć niektórych tranzystorów MOSFET.

Choć może wydawać się skomplikowanym obwodem, w rzeczywistości jest bardzo prosty. Przetestowałem to wszystko na płytce stykowej i po upewnieniu się, że działa zgodnie z oczekiwaniami, zbudowałem osłonę do zamontowania bezpośrednio na Arduino Uno.

Schemat jest dostępny pod adresem:

Krok 3: Zbuduj tarczę Arduino

Zbuduj tarczę Arduino
Zbuduj tarczę Arduino
Zbuduj tarczę Arduino
Zbuduj tarczę Arduino
Zbuduj tarczę Arduino
Zbuduj tarczę Arduino

Gdy byłem już zadowolony z obwodu, zbudowałem osłonę dla Arduino na płycie perforowanej. Możesz zobaczyć pełny proces kompilacji w załączonym filmie do projektu.

Krok 4: Zaprogramuj Arduino

Zaprogramuj Arduino
Zaprogramuj Arduino

Główną gwiazdą projektu jest kod zaprogramowany na Arduino. To właśnie sprawia, że analizowanie poziomów dźwięku z mikrofonu i przekształcanie ich w światło widzialne podążające za muzyką. Cały kod możesz pobrać z mojej strony GitHub, a link do niego znajdziesz w opisie wideo wraz ze schematem elektroniki.

W skrócie kod składa się z 3 głównych części: pobieranie próbki muzyki do analizy, określanie poziomów dźwięku, a następnie sterowanie wyjściem do diod LED na podstawie obliczonej wartości. Wiem, że dla niektórych może to brzmieć jak nauka o rakietach, ale jest to naprawdę łatwe, gdy już opanujesz różne rzeczy.

Szkic na początku definiuje wszystkie zmienne i stałe, których będziemy używać. Upewniłem się, że każdemu z nich wyjaśnię, abyś mógł to łatwiej zrozumieć. Następnie mamy funkcję konfiguracji, która uruchamia komunikację szeregową w celu debugowania, opróżnia i inicjalizuje tablicę, której będziemy używać do wykrywania szczytowej objętości i definiuje wyjścia dla diod LED.

W sekcji pętli kodu najpierw rozpoczynamy próbkowanie dźwięku, aby móc wykryć jego szczytową głośność. W regularnej fali dźwiękowej brak jakichkolwiek szumów jest poziomem w środku minimalnego i maksymalnego napięcia, jakie może wytworzyć wzmacniacz. W naszym przypadku jest to 2,5V.

Po wykryciu dźwięku otrzymujemy falę, która porusza się w górę iw dół, więc w celu wykrycia wysokich szumów interesuje nas łączna amplituda tej fali. Więc zamiast ruchomej fali, mapujemy wartości od 0 do maksimum w odwróconym stanie, aby łatwo odróżnić dźwięki o wysokim i niskim poziomie głośności.

Następne dwie sekcje kodu robią dokładnie to, najpierw mierzymy amplitudę od szczytu do szczytu i określamy maksimum tego szczytu dla okresu. Sposób działania mikrofonu, im dalej od niego, tym mniejszą głośność może wybrać, więc musimy obliczyć współczynnik, który wzmocni lub zmniejszy mierzony sygnał i będzie miał taką samą reakcję na różnych poziomach.

Na koniec mnożymy zmierzoną wartość z mikrofonu przez współczynnik, który właśnie obliczyliśmy i na podstawie wyniku włączamy konkretne diody LED.

Po zlutowaniu całej płyty zgodnie ze schematem, sprawdziłem ją przed przystąpieniem do przygotowania okładki albumu.

Kod na GitHub:

Krok 5: Przygotuj przednią okładkę

Przygotuj przednią pokrywę
Przygotuj przednią pokrywę
Przygotuj przednią pokrywę
Przygotuj przednią pokrywę
Przygotuj przednią pokrywę
Przygotuj przednią pokrywę

Na przód mebla użyłem arkusza przezroczystego akrylu. Wydrukowaną grafikę przyciąłem do wymiarów i nałożyłem warstwę przezroczystego kleju do drewna na powierzchnię bez ochronnej osłony na akrylu. Jeśli masz dostęp do Mod Podge lub jakiegoś przezroczystego żelu akrylowego, lepiej użyć go zamiast kleju do drewna, ale działa prawie tak samo.

Cała sztuka przy nakładaniu obrazu polega na tym, aby nie używać zbyt dużej ilości kleju, jak to zrobiłem, aby nie pomarszczyć się na papierze. W tym przypadku mniej znaczy lepiej, ale powierzchnia musi być całkowicie pokryta. Gdy klej jest jeszcze mokry, grafika jest ledwo widoczna, ale po całkowitym wyschnięciu stanie się przezroczysta.

Pozostawiłem ramkę do utwardzenia przez 24 godziny, a następnie wymyśliłem umieszczenie Arduino w ramie. Chcę, aby dzieło sztuki było powieszone na ścianie, a ponieważ musi być podłączone do zasilania, zamontowałem płytkę na spodzie, aby przewód zasilacza wyszedł z gniazdka ściennego.

Użyłem piły do metalu, aby usunąć większość materiału, a następnie przebiłem się dłutem i pilnikiem. Jeśli masz router ręczny, będzie on znacznie szybszy niż dłuto. Wywierciłem również otwór w ramie, aby mikrofon mógł wystawać i odbierać dźwięki z pokoju.

Przed wykończeniem przeszlifowałem ramę papierem ściernym o ziarnistości 240, a następnie nałożyłem warstwę lakieru bejcowego. Plamę wytarłam szmatką, a po pewnym czasie wytarłam.

Krok 6: Złóż pokaz świetlny

Złóż pokaz świetlny
Złóż pokaz świetlny
Złóż pokaz świetlny
Złóż pokaz świetlny
Złóż pokaz świetlny
Złóż pokaz świetlny

Grubość ramy była niewystarczająca, aby utrzymać całą elektronikę na miejscu, więc wyciąłem i przykleiłem dwie warstwy izolacji z czarnej pianki XPS o grubości 5 mm po obu stronach ramy. Oprócz zrobienia miejsca na całą elektronikę, pianka nadała elementowi ładny warstwowy wygląd z boków.

Wszystkie elementy elektroniki są montowane wewnątrz ramki za pomocą gorącego kleju, zaczynając od mikrofonu, a następnie głównej płytki Arduino.

Z tyłu zaznaczyłem i wyciąłem arkusz płyty pilśniowej o wysokiej gęstości 3 mm, która będzie pełnić funkcję podkładki i odbłyśnika, ponieważ jedna ze stron jest biała. Użyłem małych śrub 3,5 na 16 mm, aby przymocować go od tyłu. Następnie usunąłem podkład z kleju na paskach LED i przykleiłem je do płyty pilśniowej.

Front akrylowy jest również mocowany za pomocą tych samych śrub 16 mm, ale pogłębiam otwory na śruby wiertłem 6 mm, aby przylegały do przodu. Jeśli masz router, możesz zrobić rowek w ramie i w ten sposób zamknąć akryl.

Na koniec wystarczyło usunąć drugą warstwę ochronną z arkusza akrylowego i przetestować wszystko, aby upewnić się, że nadal działa. Aby powiesić go na ścianie, dodałem kawałek sznurka między dwoma piargami z tyłu.

Krok 7: Ciesz się pokazem świetlnym Arduino

Ciesz się pokazem świetlnym Arduino
Ciesz się pokazem świetlnym Arduino

W sumie jestem bardzo zadowolony z tego, jak to się potoczyło. Obudowa mogłaby być nieco lepsza, gdybym miał odpowiednie narzędzia do obróbki drewna, ale nadal jest to ładny wystrój ścian. Odkąd go zbudowałem, bawiliśmy się nim z moimi dziećmi, ale nadszedł czas, aby znalazł nowy dom.

Będę rozdawał dzieło, które zbudowałem, więc obejrzyj film na YouTube, aby dowiedzieć się, jak możesz go wygrać.

Zasmakuj kodu na YouTube

Zbuduj wideo projektu

Jeśli podobał Ci się projekt, rozważ proszę wsparcie mojej pracy nad Patreon!

Schemat jest dostępny pod adresem:

Kod na GitHub:

Zalecana: