Šajā sesijā mēs izmantosim Raspberry Pi un PYGAME funkcijas, lai izveidotu skaņas dēli. Vienkārši sakot, mēs savienosim dažas pogas ar Raspberry Pi GPIO tapām un, nospiežot šīs pogas, Raspberry Pi atskaņo tās atmiņā saglabātos audio failus. Šos audio failus var atskaņot pa vienam vai arī tos visus var atskaņot kopā. Citiem vārdiem sakot, jūs varat vienlaikus nospiest vienu vai vairākas pogas, Raspberry Pi attiecīgi atskaņos vienu vai vairākus audio failus vienlaikus. Pārbaudiet demonstrācijas video šī raksta beigās. Pārbaudiet arī mūsu Raspberry Pi apmācību sēriju kopā ar dažiem labiem IoT projektiem.
Raspberry Pi mums ir 26 GPIO tapas, kuras var ieprogrammēt, no kurām dažas tiek izmantotas dažu īpašu funkciju veikšanai, un pēc tam mums ir palikuši 17 GPIO. Katra GPIO tapa var piegādāt vai uzzīmēt ne vairāk kā 15mA. Un visu GPIO strāvu summa nedrīkst pārsniegt 50mA. Tātad no katras šīs GPIO tapas mēs varam vidēji uzzīmēt maksimāli 3mA. Mēs izmantosim rezistorus, lai ierobežotu pašreizējo plūsmu. Uzziniet vairāk par GPIO tapām un saskarnes pogu ar Raspberry Pi šeit.
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 B modeli ar Raspbian Jessie OS. Visas aparatūras un programmatūras pamatprasības ir iepriekš apspriestas, lai sāktu darbu, varat to apskatīt Raspberry Pi ievadā un mirgo Raspberry PI LED, izņemot mums nepieciešamo:
- Aveņu Pi ar iepriekš instalētu OS
- Enerģijas padeve
- Runātājs
- 1KΩ rezistors (6 gab.)
- Spiežamās pogas (6 gab.)
- 1000uF kondensators
Darba skaidrojums:
Šeit mēs atskaņojam skaņu, izmantojot pogas ar Raspberry Pi. Lai atskaņotu 6 audio failus, mēs izmantojām 6 spiedpogas. Mēs varam pievienot vairāk pogas un audio failus, lai paplašinātu šo dēli, lai izveidotu skaistāku rakstu, nospiežot šīs pogas. Pirms paskaidrojat tālāk, veiciet tālāk norādītās darbības.
1. Vispirms lejupielādējiet 6 audio failus no tālāk norādītās saites, vai arī varat izmantot savus audio failus, bet pēc tam failā Code ir jāmaina.
Lejupielādējiet audio failus no šejienes
2. Izveidojiet jaunu mapi Raspberry Pi darbvirsmas ekrānā un nosauciet to kā “PI SOUND BOARD”.
3. Atbrīvojiet lejupielādētos audio failus mapē, kuru iepriekšējā solī esam izveidojuši DESKTOP.
4. Raspberry Pi atveriet termināļa logu un ievadiet komandu zemāk:
sudo amixer cset numid = 3 1
Šī komanda liek PI nodrošināt audio izvadi, izmantojot 3,5 mm audio ligzdu uz kuģa.
Ja vēlaties audio izvadi no HDMI porta, varat izmantot komandu zemāk:
$ sudo amixer cset numid = 3 2
5. Pievienojiet skaļruņus 3,5 mm audio izejas ligzdai uz Raspberry Pi dēļa.
6. Izveidojiet PYTHON failu (*.py paplašinājumu) un saglabājiet to tajā pašā mapē. Pārbaudiet šo apmācību, lai izveidotu un palaistu programmu Python Raspberry Pi.
7. Pygame mikseris pēc noklusējuma tiks instalēts OS. Ja programma pēc izpildes neatsauc PYMIXER, tad atjauniniet Raspberry Pi OS, termināla logā ievadot komandu zemāk. Pārliecinieties, vai Pi ir savienots ar internetu.
sudo apt-get atjauninājums
Pagaidiet dažas minūtes, līdz OS tiek atjaunināta.
Tagad pievienojiet katru komponentu atbilstoši zemāk dotajai shēmai, nokopējiet PYHTON programmu darbvirsmā izveidotajā PYHTON failā un beidzot nospiediet palaist, lai atskaņotu audio failus, izmantojot pogas. Programma Python tiek dota beigās ar demonstrācijas video.
Ķēdes shēma:
Programmēšanas skaidrojums:
Šeit mēs esam izveidojuši programmu Python, lai atskaņotu audio failus atbilstoši pogas nospiešanai. Šeit mums ir jāsaprot dažas komandas, kuras mēs esam izmantojuši programmā.
importēt RPi.GPIO kā IO
Mēs importēsim GPIO failu no bibliotēkas. Iepriekš minētā komanda ļauj mums ieprogrammēt PI GPIO tapas. Mēs arī pārdēvējam “GPIO” par “IO”, tāpēc programmā, kad vien mēs vēlamies atsaukties uz GPIO tapām, mēs izmantosim vārdu “IO”.
IO.setwarnings (False)
Dažreiz, kad GPIO piespraudes, kuras mēs cenšamies izmantot, iespējams, veic citas funkcijas. Tad jūs saņemsit brīdinājumus ikreiz, kad izpildīsit programmu. Šī komanda liek Raspberry Pi ignorēt brīdinājumus un turpināt programmu.
IO.setmode (IO.BCM)
Šeit mēs apzīmēsim PI i / o tapas pēc to funkcijas nosaukuma. Tātad mēs programmējam GPIO ar BCM tapu numuriem, kas ļauj mums piezvanīt PIN ar viņu GPIO tapas nr. Tāpat kā mēs programmā PIN39 varam izsaukt kā GPIO19.
importēt pygame.mixer
Mēs izsaucam pygame mikseri, lai atskaņotu audio failus.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Mēs pieprasām audio faila buzzer.wav saglabāšanu darbvirsmas mapē. Ja vēlaties atskaņot jebkuru citu failu, vienkārši mainiet audio faila nosaukumu iepriekš dotajā funkcijā. Jūs varat nosaukt visus failus, kas atrodas darbvirsmas mapē.
channel1 = pygame.mixer. Kanāls (1)
Šeit mēs izveidojam kanālu katrai pogai, lai mēs varētu vienlaikus atskaņot visus audio failus.
ja (IO.input (21) == 0): channel1.play (audio1)
Gadījumā, ja nosacījums, ja paziņojums ir patiess, paziņojums zem tā tiks izpildīts vienu reizi. Tātad, ja GPIO spraudnis 21 ir zems vai iezemēts, tas atskaņos audio1 mainīgajam piešķirto audio failu . Saskaņā ar shēmas diagrammu, mēs varam redzēt, ka GPIO 21. tapa ir zema, nospiežot pirmo pogu. Tātad mēs varam atskaņot jebkuru audio failu, nospiežot atbilstošo pogu.
kamēr 1: tiek izmantots kā forever loop, ar šo komandu šīs cilpas iekšējie paziņojumi tiks izpildīti nepārtraukti.
Varat veikt izmaiņas pitona programmā, lai ar Raspberry Pi izveidotu visapmierinošāko skaņas paneli. Jūs pat varat pievienot vairāk pogu, lai padarītu lietas interesantākas un atskaņotu vairāk audio failu.