V tejto relácii použijeme Raspberry Pi a funkcie PYGAME na vytvorenie zvukovej dosky. Zjednodušene povedané, pripojíme niekoľko tlačidiel k pinom GPIO Raspberry Pi a po ich stlačení Raspberry Pi prehrá zvukové súbory uložené v jeho pamäti. Tieto zvukové súbory je možné prehrávať jeden po druhom alebo je ich možné prehrávať všetky naraz. Inými slovami, môžete stlačiť jedno alebo viac tlačidiel súčasne, Raspberry Pi prehrá jeden alebo viac zvukových súborov súčasne. Skontrolujte demo video na konci tohto článku. Skontrolujte tiež našu sériu tutoriálov Raspberry Pi spolu s niekoľkými dobrými projektmi IoT.
Na Raspberry Pi máme 26 pinov GPIO, ktoré je možné naprogramovať, z ktorých niektoré slúžia na vykonávanie niektorých špeciálnych funkcií a potom nám zostáva 17 GPIO. Každý pin GPIO môže dodať alebo vytiahnuť maximálne 15 mA. A súčet prúdov zo všetkých GPIO nemôže prekročiť 50mA. Takže z každého z týchto pinov GPIO môžeme v priemere čerpať maximálne 3 mA. Na obmedzenie toku prúdu použijeme rezistory. Viac informácií o pinoch GPIO a tlačidle prepojenia s Raspberry Pi sa dozviete tu.
Požadované komponenty:
Tu používame Raspberry Pi 2 Model B s Raspbian Jessie OS. Všetky základné hardvérové a softvérové požiadavky sú už predtým diskutované. Môžete si ich vyhľadať v úvode Raspberry Pi a blikaní Raspberry PI LED, okrem toho, čo potrebujeme:
- Raspberry Pi s predinštalovaným OS
- Zdroj
- Rečník
- 1KΩ rezistor (6 kusov)
- Tlačidlá (6 kusov)
- 1000uF kondenzátor
Pracovné vysvetlenie:
Tu hráme zvuk pomocou tlačidiel s Raspberry Pi. Použili sme 6 tlačidiel na prehrávanie 6 zvukových súborov. Stlačením týchto tlačidiel môžeme pridať ďalšie tlačidlá a zvukové súbory, aby sme rozšírili túto dosku a vytvorili tak krajší vzor. Pred ďalším vysvetlením vykonajte kroky uvedené nižšie.
1. Najskôr si stiahnite 6 zvukových súborov z odkazu uvedeného nižšie, alebo môžete zvukové súbory použiť, ale potom musíte zmeniť názvy súborov v aplikácii Code.
Stiahnite si zvukové súbory odtiaľto
2. Vytvorte nový priečinok na pracovnej ploche Raspberry Pi a pomenujte ho ako „PI SOUND BOARD“.
3. Stiahnuté zvukové súbory rozbaľte do priečinka, ktorý sme vytvorili na DESKTOPE v predchádzajúcom kroku.
4. Otvorte okno terminálu v Raspberry Pi a zadajte nasledujúci príkaz:
sudo amixer cset numid = 3 1
Tento príkaz povie PI, aby poskytoval zvukový výstup cez 3,5 mm zvukový konektor na doske.
Ak chcete zvukový výstup z portu HDMI, môžete použiť nasledujúci príkaz:
$ sudo amixer cset numid = 3 2
5. Pripojte reproduktory k 3,5 mm audio výstupnému konektoru na doske Raspberry Pi.
6. Vytvorte súbor PYTHON (prípona *.py) a uložte ho do rovnakého priečinka. V tomto výučbe nájdete pokyny na vytvorenie a spustenie programu Python v Raspberry Pi.
7. Mixér Pygame bude v OS nainštalovaný štandardne. Pokiaľ program po vykonaní nespomína PYMIXER, potom aktualizujte OS Raspberry Pi zadaním príkazu dole v okne terminálu. Skontrolujte, či je Pi pripojené k internetu.
sudo apt-get aktualizácia
Počkajte niekoľko minút, kým sa OS aktualizuje.
Teraz pripojte všetky komponenty podľa schémy zapojenia uvedenej nižšie, skopírujte program PYHTON do súboru PYHTON vytvoreného na pracovnej ploche a nakoniec stlačte tlačidlá Spustiť a prehrajte zvukové súbory. Program Python je uvedený na konci ukážkovým videom.
Schéma zapojenia:
Vysvetlenie programovania:
Tu sme vytvorili program Python na prehrávanie zvukových súborov podľa stlačenia tlačidla. Tu musíme pochopiť niekoľko príkazov, ktoré sme v programe použili.
importovať RPi.GPIO ako IO
Chystáme sa importovať súbor GPIO z knižnice, vyššie uvedený príkaz umožňuje programovať GPIO piny PI. Premenujeme „GPIO“ na „IO“, takže v programe budeme kedykoľvek, keď budeme chcieť odkazovať na piny GPIO, použiť slovo „IO“.
IO.setwarnings (False)
Niekedy, keď piny GPIO, ktoré sa pokúšame použiť, môžu robiť nejaké ďalšie funkcie. Potom budete prijímať varovania vždy, keď spustíte program. Tento príkaz povie Raspberry Pi, aby ignoroval varovania a pokračoval v programe.
IO.setmode (IO.BCM)
Tu budeme označovať i / o piny PI ich funkčným názvom. Takže programujeme GPIO na čísla pinov BCM, čo nám umožňuje volať PIN pomocou ich PINu GPIO č. Rovnako ako môžeme v programe zavolať PIN39 ako GPIO19.
importovať pygame.mixer
Na prehrávanie zvukových súborov voláme mixér pygame.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Požadujeme zvukový súbor „buzzer.wav“ uložený v priečinku na pracovnej ploche. Ak chcete prehrať akýkoľvek iný súbor, stačí zmeniť názov zvukového súboru vo vyššie uvedenej funkcii. Môžete pomenovať všetky súbory nachádzajúce sa v priečinku na pracovnej ploche.
channel1 = pygame.mixer.Channel (1)
Tu nastavujeme kanál pre každé tlačidlo, aby sme mohli prehrávať všetky zvukové súbory súčasne.
if (IO.input (21) == 0): channel1.play (audio1)
V prípade, že je podmienka v príkaze if pravdivá, príkaz pod ňou sa vykoná jednorazovo. Takže ak pin 21 GPIO klesne alebo je uzemnený, prehrá zvukový súbor priradený premennej audio1 . Podľa obvodového diagramu vidíme, že pin 21 GPIO klesá, keď stlačíme prvé tlačidlo. Stlačením príslušného tlačidla teda môžeme prehrať akýkoľvek zvukový súbor.
zatiaľ čo 1: sa používa ako navždy slučka, s týmto príkazom sa príkazy vo vnútri tejto slučky budú vykonávať nepretržite.
Môžete vykonať zmeny v programe python, aby ste dosiahli najuspokojivejšiu zvukovú dosku s Raspberry Pi. Môžete dokonca pridať ďalšie tlačidlá, aby boli veci zaujímavejšie a aby sa prehralo viac zvukových súborov.