Šioje sesijoje naudosime „ Raspberry Pi“ ir „PYGAME“ funkcijas, kad sukurtume garso plokštę. Paprasčiau tariant, mes sujungsime keletą mygtukų su „Raspberry Pi GPIO“ kaiščiais ir, paspaudus šiuos mygtukus, „ Raspberry Pi“ atkuria garso failus, saugomus jo atmintyje. Šiuos garso failus galima groti po vieną arba juos visus galima groti kartu. Kitaip tariant, vienu metu galite paspausti vieną ar kelis mygtukus, „Raspberry Pi“ vienu metu atitinkamai atkurs vieną ar kelis garso failus. Patikrinkite demonstracinį vaizdo įrašą šio straipsnio pabaigoje. Taip pat patikrinkite mūsų „Raspberry Pi Tutorial“ seriją kartu su keletu gerų DI projektų.
„Raspberry Pi“ turime 26 GPIO kaiščius, kuriuos galima užprogramuoti, iš kurių kai kurie naudojami specialioms funkcijoms atlikti, o tada liko 17 GPIO. Kiekvienas GPIO kaištis gali pristatyti arba ištraukti ne daugiau kaip 15 mA. Visų GPIO srovių suma negali viršyti 50mA. Taigi iš kiekvieno iš šių GPIO kaiščių galime vidutiniškai paimti ne daugiau kaip 3 mA. Norėdami apriboti srovės srautą, naudosime rezistorius. Sužinokite daugiau apie GPIO kaiščius ir sąsajos mygtuką su „Raspberry Pi“ čia.
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“. Visi pagrindiniai aparatinės ir programinės įrangos reikalavimai buvo aptarti anksčiau, jų galite rasti „Raspberry Pi“ įvade ir mirksi „Raspberry PI“ šviesos diodas, išskyrus tai, ko mums reikia:
- „Raspberry Pi“ su iš anksto įdiegta OS
- Maitinimo šaltinis
- Garsiakalbis
- 1KΩ rezistorius (6 vnt.)
- Mygtukai (6 vnt.)
- 1000uF kondensatorius
Darbinis paaiškinimas:
Čia grojame garsą naudojant mygtukus su „Raspberry Pi“. 6 garso failams atkurti naudojome 6 mygtukus. Mes galime pridėti daugiau mygtukų ir garso failų, kad išplėstume šią lentą ir sukurtume gražesnį raštą, paspausdami šiuos mygtukus. Prieš paaiškindami toliau, atlikite toliau nurodytus veiksmus.
1. Pirmiausia atsisiųskite 6 garso failus iš toliau pateiktos nuorodos arba galite naudoti savo garso failus, bet tada turite pakeisti failų pavadinimus „Code“.
Atsisiųskite garso failus iš čia
2. „Raspberry Pi“ darbalaukio ekrane sukurkite naują aplanką ir pavadinkite jį „PI SOUND BOARD“.
3. Išarchyvuokite atsisiųstus garso failus į aplanką, kurį ankstesniame etape sukūrėme „DESKTOP“.
4. Atidarykite terminalo langą „Raspberry Pi“ ir įveskite žemiau esančią komandą:
sudo amixer cset numid = 3 1
Ši komanda liepia PI pateikti garso išvestį per 3,5 mm garso lizdą laive.
Jei norite garso išvestį iš HDMI prievado, galite naudoti žemiau esančią komandą:
$ sudo amixer cset numid = 3 2
5. Prijunkite garsiakalbius prie 3,5 mm garso išvesties lizdo „Raspberry Pi“ plokštėje.
6. Sukurkite PYTHON failą (*.py plėtinį) ir išsaugokite jį tame pačiame aplanke. Norėdami sukurti ir paleisti „Python“ programą „Raspberry Pi“, patikrinkite šią pamoką.
7. „ Pygame“ maišytuvas bus įdiegtas pagal numatytuosius nustatymus OS. Jei po vykdymo programa neatsimena PYMIXER, tada atnaujinkite „Raspberry Pi“ OS, įvesdami žemiau esančią komandą terminalo lange. Įsitikinkite, kad Pi yra prijungtas prie interneto.
sudo apt-get atnaujinimas
Palaukite keletą minučių, kol OS bus atnaujinta.
Dabar prijunkite kiekvieną komponentą pagal žemiau pateiktą grandinės schemą, nukopijuokite PYHTON programą į darbalaukyje sukurtą PYHTON failą ir pagaliau paspauskite „Run“, kad mygtukais leistumėte garso failus. „Python“ programa pateikiama pabaigoje su demonstraciniu vaizdo įrašu.
Grandinės schema:
Programavimo paaiškinimas:
Čia mes sukūrėme „ Python“ programą, norėdami atkurti garso failus pagal mygtuko paspaudimą. Čia turime suprasti keletą komandų, kurias naudojome programoje.
importuoti RPi.GPIO kaip IO
Mes ketiname importuoti GPIO failą iš bibliotekos, aukščiau pateikta komanda leidžia mums užprogramuoti PI GPIO kaiščius. Mes taip pat pervadiname „GPIO“ į „IO“, todėl programoje, kai norime nurodyti GPIO kaiščius, naudosime žodį „IO“.
IO.setwarnings (False)
Kartais, kai GPIO kaiščiai, kuriuos bandome naudoti, gali atlikti kitas funkcijas. Tada gausite įspėjimus, kai tik vykdysite programą. Ši komanda liepia Raspberry Pi nepaisyti įspėjimų ir tęsti programą.
IO.setmode (IO.BCM)
Čia mes nurodysime PI i / o kaiščius pagal jų funkcijos pavadinimą. Taigi mes programuojame GPIO pagal BCM PIN numerius, kurie leidžia mums paskambinti PIN su jų GPIO PIN Nr. Kaip ir programoje, PIN39 galime vadinti GPIO19.
importuoti pygame.mixer
Skambiname „ pygame mixer “ garso failams leisti.
audio1 = pygame.mixer.Sound („buzzer.wav“)
Raginame „buzzer.wav“ garso failą, saugomą darbalaukio aplanke. Jei norite paleisti bet kurį kitą failą, tiesiog pakeiskite garso failo pavadinimą aukščiau pateiktoje funkcijoje. Galite pavadinti visus failus, esančius darbalaukio aplanke.
channel1 = pygame.mixer. Kanalas (1)
Čia mes nustatome kanalą kiekvienam mygtukui, kad galėtume vienu metu atkurti visus garso failus.
if (IO.input (21) == 0): channel1.play (audio1)
Tuo atveju, jei teiginio „if “ sąlyga yra teisinga, po juo pateiktas sakinys bus vykdomas vieną kartą. Taigi, jei GPIO kaištis 21 bus žemas arba įžemintas, jis atkurs garso failą, priskirtą kintamajam audio1 . Pagal grandinės schemą galime pastebėti, kad GPIO kaištis 21 eina žemai, kai paspaudžiame pirmąjį mygtuką. Taigi bet kokį garso failą galime atkurti paspausdami atitinkamą mygtuką.
o 1: naudojamas kaip amžinai kilpa, su šia komanda šios kilpos teiginiai bus vykdomi nuolat.
Galite atlikti „python“ programos pakeitimus, kad „ Raspberry Pi“ būtų kuo patogesnė garso plokštė. Jūs netgi galite pridėti daugiau mygtukų, kad viskas būtų įdomiau ir būtų galima atkurti daugiau garso failų.