Spisu treści:
- Krok 1: Przetestuj FSR za pomocą Arduino
- Krok 2: Rozrysuj plany zarządu
- Krok 3: Modeluj tablicę w TinkerCad
- Krok 4: Przetestuj ekran LCD
- Krok 5: Przetestuj enkoder obrotowy za pomocą ekranu LCD
- Krok 6: Złóż tablicę
- Krok 7: Podłącz wszystko do góry
- Krok 8: Zakończ kodowanie WSZYSTKO
- Krok 9: Zakończ
Wideo: Prototypowa płyta dźwiękowa Arduino-Raspberry Pi: 9 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Prototypowa płyta rezonansowa stworzona za pomocą Arduino i Raspberry Pi ma być prostym sposobem odtwarzania 4 różnych dźwięków lub szumów z możliwością przełączania zestawów dźwięków za pomocą pokrętła i wyświetlania bieżącego zestawu dźwięków na ekranie LCD.
*Uwaga: kod projektu jest kompletny w 99%, ale nie działa.
Raspberry Pi steruje ekranem LCD 16x2 i enkoderem obrotowym, podczas gdy Arduino odczytuje wejścia analogowe z rezystorów czułych na siłę (FSR) i wysyła sygnał do Arduino w celu odtworzenia dźwięku. Oboje nigdy nie używaliśmy Arduino ani Pi przed tą klasą, ale nasz profesor dał nam wszystkie niezbędne narzędzia i wskazówki, aby łatwo kodować i budować ten projekt. Do modelowania naszego projektu wykorzystano TinkerCad, bezpłatne narzędzie do modelowania 3D online firmy AutoDesk.
Najtrudniejszą częścią projektu było znalezienie sposobu na skomunikowanie Arduino i Raspberry Pi z komunikacją szeregową. Początkowo chcieliśmy używać tylko Pi w całym projekcie, ale potrzebowaliśmy Arduino, aby odczytać sygnał analogowy z FSR-ów. Mogliśmy łatwo wysyłać wiersze słów lub liczb z Arduino i wyświetlać je na Pi, ale problem pojawił się, gdy próbowaliśmy odczytać te wartości w Pythonie i zaimplementować je w instrukcjach warunkowych w celu ich przetworzenia.
Wymagane umiejętności
- Proste zrozumienie C/C++ do kodowania Arduino
- Proste zrozumienie Pythona do kodowania Raspberry Pi
- Wiedza o tym, jak okablowana jest płytka stykowa
- Podstawowe umiejętności modelowania 3D
- Chęć uczenia się i rozwijania programowania, okablowania i budowania czegoś fajnego
Lista części
1 x Raspberry Pi 3
1 x Elegoo Uno LUB Arduino Uno
1x830 Tie Breadboard
1 x tablica zaciskowa GPIO (RSP-GPIO)
1 x kabel taśmowy do tabliczki zaciskowej
4 x rezystory wrażliwe na małą siłę
1 x podstawowy ekran LCD 16x2 znaków;
1 x moduł enkodera obrotowego
24 x przewody męskie na żeńskie
10 x przewody męskie na męskie
Rezystory 4 x 10k
Potencjometr 1x10 k
1 x nakolannik z pianki ogrodowej (sklep dolarowy)
Krok 1: Przetestuj FSR za pomocą Arduino
Najpierw zdecydowaliśmy się wypróbować FSR z Arduino. FSR wysyłają sygnał analogowy i dlatego musieliśmy użyć Arduino, ponieważ Pi nie odbiera analogu bez innych obwodów. Chcieliśmy przetestować progi, aby upewnić się, że prasy pracują pod dobrym naciskiem. Okazało się, że jest to około 150 z całkowitej liczby 1000. W tym kroku bardzo pomocny był ploter szeregowy w środowisku Arduino IDE.
Krok 2: Rozrysuj plany zarządu
Następnie opracowaliśmy i zmierzyliśmy plany tablicy. Chcieliśmy mieć 4 pady do odtwarzania dźwięków, miejsce na ekran LCD do wyświetlania bieżącej grupy dźwięków oraz enkoder obrotowy do zmiany grupy dźwięków.
Krok 3: Modeluj tablicę w TinkerCad
Po opracowaniu planów wymodelowaliśmy tablicę na internetowej, darmowej stronie do modelowania 3D o nazwie TinkerCad firmy Autodesk. Gorąco polecamy go tym z was, którzy nie chcą wydawać mnóstwa pieniędzy na duże oprogramowanie do modelowania 3D, ponieważ jest ono łatwe w użyciu, oparte na chmurze i ma pełne wsparcie dla drukowania 3D.
Po wymodelowaniu musieliśmy podzielić go na 2 części, aby zmieścił się na drukarce. Wydrukowano naprawdę dobrze, ale moim błędem nie było zbyt dobre zwymiarowanie gniazda ekranu LCD (nie popełnij tego błędu!). Przesłaliśmy lewą i prawą stronę pliki. STL, jeśli chcesz je sprawdzić.
Krok 4: Przetestuj ekran LCD
Używaliśmy już ekranu na Arduino i konfiguracja była bardzo łatwa. Jednak trudniej było go uruchomić z Pi. Dzięki kilku godzinom rozwiązywania problemów w Google i wierceniu się z przewodami w końcu udało nam się to uruchomić. Proszę zobaczyć ostateczny kod Pythona na końcu, aby zobaczyć, jak to działa. Użyliśmy kilku stron internetowych, które pomogły nam okablować go i napisać kod. Sprawdź je:
learn.adafruit.com/drive-a-16x2-lcd-direct…
www.raspberrypi-spy.co.uk/2012/07/16x2-lcd…
Krok 5: Przetestuj enkoder obrotowy za pomocą ekranu LCD
Następnie chcieliśmy sprawdzić, czy możemy sprawić, by ekran LCD zmienił swój tekst, gdy enkoder został obrócony. Enkoder nie ma określonej liczby kątów ani obrotów, więc w kodzie policzyliśmy, ile razy został obrócony zgodnie z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara, i obliczyliśmy go do 3. Jeśli przejdzie, wróci do 0 i gdyby spadła poniżej 0, wróciłaby do 3. Liczby te można ustawić dla dowolnej liczby zestawów dźwięków, ale ostatecznie testowaliśmy tylko jeden zestaw dźwięków. Upewnij się, że twoje dźwięki znajdują się w tym samym folderze/lokalizacji, w którym wykonywany jest główny kod Pythona.
Krok 6: Złóż tablicę
Rejestratory FSR wsuwają się pod cztery różne gniazda. Wyśrodkowaliśmy je i przykleiliśmy taśmą. Polecamy taśmę klejącą, a może nawet klejenie, ponieważ zwykła taśma klejąca była straszna w przyklejaniu się do drukowanego materiału 3D. Po krótkiej wycieczce do sklepu z dolarami znaleźliśmy miękką, ale gąbczastą nakolannik ogrodowy, który mogliśmy pociąć na cztery części i wykorzystać jako przyciski do tablicy. Przycięliśmy je tak, aby mogły ściśle przylegać do swoich miejsc, aby mogły pozostać na miejscu, ale także można je łatwo usunąć, jeśli zajdzie taka potrzeba.
Krok 7: Podłącz wszystko do góry
Po złożeniu płytki i umieszczeniu FSR, enkodera i ekranu na miejscu, wszystko okablowaliśmy. Przydałyby się 2 płytki stykowe, ale udało nam się zmieścić wszystko na jednej. Obraz wygląda jak bałagan, ale schemat ideowy wykonaliśmy w darmowym programie Fritzing. Zauważ, że możesz zmienić piny, do których chcesz wszystko dołączyć, ale diagram odpowiada naszemu kodowi.
Krok 8: Zakończ kodowanie WSZYSTKO
To była trudna część. Jak wspomniano we wstępie, nie mogliśmy ukończyć tej części. Kod jest tam w 99%, ale jedyną częścią, która nie działała, była komunikacja szeregowa z Arduino do Pi. Mogliśmy łatwo wysłać informacje, gdy podłączyliśmy Arduino do Pi za pomocą kabla USB, ale Pi nie mogło nic zrobić poza wyświetlaniem tych informacji na ekranie. Chcieliśmy być w stanie stwierdzić, który przycisk został naciśnięty i sprawić, by odtwarzał określony dźwięk, ale dane, które przechodziły przez komunikację, nie mogły zostać umieszczone w instrukcji warunku, aby sprawdzić, który przycisk został naciśnięty.
Zobacz załączony kod, uwagi zostały skomentowane w kodzie Pythona dla Pi. Kod Arduino powinien wynosić 100%.
Krok 9: Zakończ
Ogólnie rzecz biorąc, ten projekt był OGROMNYM doświadczeniem edukacyjnym dla nas dwojga i mamy nadzieję, że ten zapis może dać przyszłym uczniom, nauczycielom lub majsterkowiczom inspirację do ich własnego projektu i pokierować ich uczeniem się na własnych błędach. Pozdrowienia dla naszego wspaniałego profesora robotyki, który ogromnie pomógł podczas naszego czasu na zajęciach i dał nam możliwość dobrej zabawy i wiele się nauczyliśmy na starszych zajęciach COMP! Dziękuje za przeczytanie:)
Zalecana:
Płyta perforowana Clean-Cut FR4 (płyta prototypowa/prototypowa): 10 kroków (ze zdjęciami)
Płytka perforowana Clean-Cut FR4 (płyta prototypowa/prototypowa): (tl; dr: nożyce lotnicze i kamień karborundowy pod wodą) W miarę jak wkraczamy w trzecią dekadę XXI wieku, bardzo wysokiej jakości niestandardowe płytki drukowane można zamówić w bardzo małe ilości za bardzo niskie koszty… jeśli nie masz nic przeciwko czekaniu
Zegar Arduino Nano z adaptacyjną jasnością wykorzystujący prototypową płytkę drukowaną z NextPCB.com: 11 kroków
Zegar Arduino Nano z adaptacyjną jasnością wykorzystujący prototypową płytkę PCB Od NextPCB.com: Każdy chciał zegar, który pokazuje razem czas i datę. W tym projekcie pokażę, jak zbudować zegar arduino nano z adaptacyjną jasnością za pomocą RTC i projektu PCB od NextPCB
Płyta dźwiękowa Arduino: 5 kroków
Płyta dźwiękowa Arduino: To jest eksperyment z płytą dźwiękową Arduino. W tym eksperymencie zrozumiesz, jak działa pasywny brzęczyk i jak możesz stworzyć prostą płytę rezonansową Arduino. Używając kilku przycisków i wybierając odpowiedni ton, możesz stworzyć melodię! :
Mysz dźwiękowa: 17 kroków (ze zdjęciami)
Sound Mouse: W 2016 roku, po zainspirowaniu się filmem Scanman Line Follower na YouTube, rozpocząłem pracę nad urządzeniem syntezatorowym wykorzystującym liniowy CCD Toshiba TCD1304 do syntezy dźwięku z danych spektrogramu (lub danych graficznych interpretowanych jako dane spektr
Prosta płyta dźwiękowa Arduino: 5 kroków (ze zdjęciami)
Prosta karta dźwiękowa Arduino: W tym eksperymencie zrozumiesz, jak działa pasywny brzęczyk i jak możesz stworzyć prostą kartę dźwiękową Arduino. Używając kilku przycisków i wybierając odpowiedni ton, możesz stworzyć melodię! Części, których użyłem, pochodzą z Arduino U firmy Kuman