Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Zsyntetyzuj swoje własne małe pianino Raspberry Pi. Wykorzystuje syntezator FluidSynth SoundFont. Funkcje polifonii i podtrzymania, co oznacza, że możesz nacisnąć wszystkie nuty naraz, a nuta będzie grać dłużej przy wciśniętym przycisku.
Schemat i PCB są udostępniane na EasyEDA. Projekty i kod Pythona są otwarte. Dostosuj to na swój sposób!
Ten projekt zaczął się jako fidget board dla mojego malucha, ale bawiłem się nim więcej niż on. Po kilku korektach stał się małym fortepianem, który mogą docenić dorośli.
Krok 1: Zaplanuj kompilację
Potrzebuje Raspberry PI zero z połączeniem internetowym do instalowania pakietów. Alternatywnie można użyć mojego minimalnego obrazu, który gra na pianinie, gdy go zbudowałem, sieć też została usunięta. Normalny rozmiar Raspberry Pi też mógłby działać, ale wystawałby z płytki drukowanej fortepianu.
Możesz użyć zacisków JST lub śrubowych, w zależności od używanych głośników. Użyłem złącza JST z zamkniętymi głośnikami.
Możesz użyć głośników lub adaptera USB kompatybilnych z Raspbery Pi zamiast układu wzmacniacza Maxim, który wymaga pasty lutowniczej do przylutowania pod układem. Próbowałem go z głośnikami mini USB, ale brzmi bardziej metalicznie niż pokazane głośniki. Jeśli używasz sprzętu dźwiękowego USB, żaden z komponentów audio na PCB nie będzie potrzebny. Znajdują się po lewej stronie Raspberry Pi.
Raspberry Pi Zero zamontowałem pod płytką, ale można postawić na górze. Po prostu upewnij się, że karta SD jest po tej samej stronie, co pin 1 oznaczony na płytce drukowanej i upewnij się, że styki nagłówka w Pi Zero są przylutowane tak, aby pasowały.
Ten projekt wymaga niestandardowej płytki PCB od twojego ulubionego producenta płytek PCB. Dostałem 5 z JLCPCB za 14 USD.
Plik Gerber na Dysku Google, możesz również wygenerować Gerber z EasyEDA.
Dostarczyłem również arkusz kalkulacyjny Bill of Materials.
Krok 2: Zbuduj
Użyłem niskotemperaturowej pasty lutowniczej bezołowiowej i stacji lutowniczej na gorące powietrze na układach scalonych Amp. Skupiłem ciepło na górze układu scalonego, aż zobaczyłem koralik lutowniczy do złącz widocznych z boku układu scalonego. Pozostałe elementy to otwór przelotowy lub duży rozmiar SMD, które można łatwo wlutować ręcznie. Użyłem mojego przekonwertowanego tostera do ponownego rozlania wcześniejszej wersji, ale ostatecznie większość z nich naprawiłem ręcznie.
Krok 3: Oprogramowanie
Przygotuj kartę SD z Raspbian Lite
Konfiguracja obsługi Pi dla Maxim IC
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | grzmotnąć
Zainstaluj pakiety
aktualizacja sudo apt-get
sudo apt-get upgrade
sudo apt-get zainstaluj fluidsynth python-numpy python-pip
sudo pip zainstaluj pyfluidsynth
Przenieś pliki projektu
Użyj WinSCP lub innego oprogramowania SCP, aby skopiować python i plik czcionki dźwiękowej do folderu domowego Pi
chmod +x piano.py
sudo nano /etc/rc.local
Przewiń w dół i tuż przed linią wyjścia 0 wpisz:
python /home/pi/piano.py &
Tylko czytać
Dobrym pomysłem jest ustawienie systemu plików tylko do odczytu, aby można go było po prostu wyłączyć.
Przełącznik w prawym górnym rogu pozwala wyłączyć tylko do odczytu, aby móc modyfikować system.
wget
sudo bash tylko do odczytu fs.sh
Tak dla zworki odczytu/zapisu GPIO = 3
Nie dla GPIO-zatrzymaj
Tak w przypadku paniki jądra
Wybierz opcję 1 dla Pi Zero W i Pi Zero 1.3 oraz opcję 2 dla wersji 1.2 (nie W)
Pobierz USBpiano.py i zmień nazwę na piano.py, jeśli używasz sprzętu dźwiękowego USB
Zrobiłem obraz karty dla fortepianu, skonfigurowałem tak, jak go zbudowałem. Z obrazu usunięto wszystko, co niepotrzebne, w tym networking. Używa domyślnego hasła: raspberry