Ebben a munkamenetben a Raspberry Pi és a PYGAME függvényeket használjuk hangtábla készítéséhez. Egyszerűbben fogalmazva, néhány gombot fogunk csatlakoztatni a Raspberry Pi GPIO csapokhoz, és amikor ezeket a gombokat megnyomjuk, a Raspberry Pi lejátssza a memóriájában tárolt audio fájlokat. Ezeket az audio fájlokat egyenként lehet lejátszani, vagy mind együtt játszhatók le. Más szavakkal, egy vagy több gombot egyszerre nyomhat meg, a Raspberry Pi egy vagy több hangfájlt játszik le ennek megfelelően egyszerre. Ellenőrizze a bemutató videót a cikk végén. Ellenőrizze a Raspberry Pi bemutató sorozatunkat és néhány jó IoT-projektet.
A Raspberry Pi-ben 26 GPIO csap van, amelyek programozhatók, amelyek közül néhányat speciális funkciók végrehajtására használnak, majd 17 GPIO van hátra. Minden GPIO tű maximum 15 mA-t képes leadni vagy lehúzni. És az összes GPIO áramának összege nem haladhatja meg az 50mA-t. Tehát átlagosan maximum 3 mA-t tudunk levonni ezekből a GPIO-csapokból. Ellenállásokkal korlátozzuk az áramáramot. Tudjon meg többet a GPIO Pins-ről és a Raspberry Pi interfész-gombjáról itt.
Szükséges alkatrészek:
Itt a Raspberry Pi 2 Model B-t használjuk Raspbian Jessie operációs rendszerrel. Az összes alapvető hardver- és szoftverkövetelményt korábban megbeszéltük. Megtekintheti a Raspberry Pi bevezetőjében és a Raspberry PI LED villog a kezdéshez, azon kívül, amire szükségünk van:
- Raspberry Pi előre telepített operációs rendszerrel
- Tápegység
- Hangszóró
- 1KΩ ellenállás (6 db)
- Nyomógombok (6 db)
- 1000uF kondenzátor
Munka magyarázat:
Itt a Raspberry Pi gombokkal játszunk hangot. 6 nyomógombot használtunk 6 audio fájl lejátszására. Ezen gombok megnyomásával további gombokat és audiofájlokat adhatunk hozzá, hogy kibővítsük ezt a táblát, hogy szebb mintázatot hozzunk létre. Mielőtt további magyarázatot adna, hajtsa végre az alábbi lépéseket.
1. Először töltse le a 6 audio fájlt az alábbi linkről, vagy használhatja az audiofájlokat, de ezután meg kell változtatnia a fájlneveket a Code-ban.
Töltse le az audiofájlokat innen
2. Hozzon létre egy új mappát a Raspberry Pi asztali képernyőn, és nevezze el „PI SOUND BOARD” néven.
3. Csomagolja ki a letöltött audiofájlokat abba a mappába, amelyet az előző lépésben a DESKTOP-on hoztunk létre.
4. Nyissa meg a terminálablakot a Raspberry Pi alkalmazásban, és írja be az alábbi parancsot:
sudo amixer cset numid = 3 1
Ez a parancs utasítja a PI-t, hogy a fedélzeten lévő 3,5 mm-es audio csatlakozón keresztül biztosítsa a hangkimenetet.
Ha audio kimenetet szeretne a HDMI portról, akkor az alábbi parancsot használhatja:
$ sudo amixer cset numid = 3 2
5. Csatlakoztassa a hangszórókat a Raspberry Pi kártya 3,5 mm-es audio kimeneti aljzatához.
6. Hozzon létre egy PYTHON fájlt (*.py kiterjesztés), és mentse el ugyanabba a mappába. Ellenőrizze ezt az oktatóanyagot a Python program létrehozásához és futtatásához a Raspberry Pi alkalmazásban.
7. A Pygame mixert alapértelmezés szerint telepítik az operációs rendszerbe. Ha a program a végrehajtás után nem hívja fel a PYMIXER-t, akkor frissítse a Raspberry Pi operációs rendszerét az alábbi parancs beírásával a terminál ablakába. Győződjön meg arról, hogy a Pi csatlakozik az internethez.
sudo apt-get frissítés
Várjon néhány percet, amíg az operációs rendszer frissül.
Most csatlakoztassa az összes komponenst az alábbiakban megadott kapcsolási rajz szerint. Másolja a PYHTON programot az asztalon létrehozott PYHTON fájlba, és végül nyomja meg a Futtatás gombot, hogy a hangfájlokat a gombok segítségével lejátszhassa. A Python program a végén található a Demo Video-val.
Kördiagramm:
Programozási magyarázat:
Itt hoztuk létre a Python programot az audiofájlok lejátszásához a gomb megnyomásával. Itt meg kell értenünk néhány parancsot, amelyeket a programban használtunk.
importálja az RPi.GPIO-t IO-ként
GPIO fájlt fogunk importálni a könyvtárból, a fenti parancs lehetővé teszi számunkra a PI GPIO csapok programozását. A „GPIO” -ot „IO” -ra is átnevezzük, így a programban, amikor csak GPIO-csapokra akarunk utalni, az „IO” szót fogjuk használni.
IO.setwarnings (hamis)
Néha, amikor a GPIO csapok, amelyeket megpróbálunk használni, más funkciókat is végezhetnek. Ezután figyelmeztetéseket kap, amikor egy programot végrehajt. Ez a parancs felszólítja a Raspberry Pi-t, hogy figyelmen kívül hagyja a figyelmeztetéseket, és folytassa a programot.
IO.setmode (IO.BCM)
Itt a PI i / o csapokat fogjuk utalni a funkciójuk nevére. Tehát a GPIO-t BCM PIN-számokkal programozzuk, amely lehetővé teszi számunkra a PIN-kódok meghívását a GPIO PIN-kódjukkal. Mint a programban a PIN39-et GPIO19-nek hívhatjuk.
import pygame.mixer
Pygame mixert hívunk az audio fájlok lejátszására.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Asztali mappában tárolt 'buzzer.wav' hangfájlt kérjük. Ha bármilyen más fájlt szeretne lejátszani, egyszerűen módosítsa az audiofájl nevét a fent megadott funkcióval. Megnevezheti az asztali mappában található fájlokat.
channel1 = pygame.mixer.Channel (1)
Itt minden gombhoz beállítunk egy csatornát, hogy az összes audio fájlt egyszerre tudjuk lejátszani.
if (IO.input (21) == 0): channel1.play (audio1)
Abban az esetben, ha az if utasításban szereplő feltétel igaz, akkor az alatti utasítás egyszer végrehajtásra kerül. Tehát, ha a GPIO 21-es érintkező alacsony vagy földelt, akkor az audio1 változóhoz rendelt audio fájlt játssza le . Az áramköri ábra szerint láthatjuk, hogy a GPIO 21-es érintkező alacsony lesz, amikor megnyomjuk az első gombot. Tehát bármilyen hangfájlt lejátszhatunk a megfelelő gomb megnyomásával.
míg az 1: örök ciklusként használatos, ezzel a paranccsal a ciklus belsejében lévő utasítások folyamatosan végrehajtódnak.
Módosíthatja a python programot, hogy a Raspberry Pi alkalmazásával a legkielégítőbb Hangtábla legyen. Akár további gombokat is felvehet, hogy érdekesebbé tegye a dolgokat, és több audio fájlt játsszon le.