2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
Sintetizați-vă propriul pian Raspberry Pi. Folosește sintetizatorul FluidSynth SoundFont. Dispune de polifonie și susținere, ceea ce înseamnă că puteți apăsa toate notele simultan, iar nota va juca mai mult cu butonul ținut apăsat.
Schema și PCB sunt distribuite pe EasyEDA. Modelele și codul python sunt toate deschise. Personalizați-l după cum doriți!
Acest proiect a început mai întâi ca tablou de sunet pentru copilul meu, dar am jucat cu el mai mult decât el. După mai multe revizuiri, a devenit puțin apreciat de adulții la pian.
Pasul 1: planificați construirea
Necesită un Raspberry PI zero care să aibă o conexiune la internet pentru a instala pachete. Alternativ, puteți folosi imaginea mea minimă care cântă la pian așa cum am construit-o, și rețeaua a fost eliminată. O Raspberry Pi de dimensiuni obișnuite ar putea funcționa și ea, dar ar ieși din PCB-ul pentru pian.
Puteți utiliza terminale JST sau cu șurub, în funcție de difuzoarele pe care le utilizați. Am folosit conectorul JST cu difuzoare închise.
Puteți utiliza difuzoare de sunet sau adaptor USB compatibile Raspbery Pi în locul cipului amplificator Maxim, care necesită lipire de lipit pentru a-l lipi sub cip. Am încercat-o cu difuzoare mini USB, dar sună mai tinut decât difuzoarele afișate. Dacă utilizați hardware de sunet USB, nici una dintre componentele audio de pe PCB nu va fi necesară. Sunt în stânga Raspberry Pi.
Am montat Raspberry Pi Zero sub PCB, dar puteți pune deasupra. Doar asigurați-vă că cardul SD este aceeași parte ca pinul marcat pe PCB și asigurați-vă că pinii antetului de pe Pi Zero sunt lipiți pentru a se potrivi.
Acest proiect are nevoie de un PCB personalizat de la producătorul dvs. preferat de PCB. Am primit 5 de la JLCPCB pentru 14 USD.
Fișier Gerber pe Google Drive, puteți genera și Gerber din EasyEDA.
De asemenea, am furnizat o foaie de calcul Bill of Materials.
Pasul 2: Construiți
Am folosit pastă de lipit fără plumb la temperatură scăzută și o stație de lipit cu aer fierbinte pe circuite integrate Amp. Am focalizat căldura deasupra IC-ului până când am putut vedea cordonul de lipit la conectorii vizibili pe partea laterală a IC-ului. Restul componentelor sunt găuri trecătoare sau dimensiuni mari SMD care au fost ușor lipite manual. Am folosit cuptorul meu prăjitor de pâine convertit pentru a reveni la o revizuire anterioară, dar am sfârșit cu fixarea manuală a unei părți.
Pasul 3: Software
Pregătiți cardul SD cu Raspbian Lite
Configurați suport Pi pentru Maxim IC
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Instalați pachete
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install fluidsynth python-numpy python-pip
sudo pip instalează pyfluidsynth
Transferați fișierele proiectului
Utilizați WinSCP sau alt software SCP pentru a copia fișierul de fonturi Python și sunet în folderul principal Pi
chmod + x piano.py
sudo nano /etc/rc.local
Derulați în jos și, chiar înainte de linia de ieșire 0, introduceți următoarele:
python /home/pi/piano.py &
Numai citire
Este o idee bună să faceți sistemul de fișiere numai în citire, astfel încât să poată fi doar oprit.
Comutatorul din dreapta sus permite oprirea numai în citire, pentru a putea modifica sistemul.
wget
sudo bash read-only-fs.sh
Da pentru jumperul de citire / scriere GPIO = 3
Nu pentru GPIO-stop
Da pentru panica miezului
Alegeți opțiunea 1 pentru Pi Zero W și Pi Zero 1.3 și opțiunea 2 pentru o versiune 1.2 (nu W)
Descărcați USBpiano.py și redenumiți-l în piano.py dacă utilizați hardware de sunet USB
Am făcut o imagine de card pentru pian, am configurat modul în care l-am construit. Tot ce nu era necesar a fost eliminat din imagine, inclusiv în rețea. Folosește parola implicită: zmeură