Tässä istunnossa aiomme käyttää Raspberry Pi: tä ja PYGAME-toimintoja äänilevyn valmistamiseen. Yksinkertaisesti sanottuna aiomme yhdistää muutaman painikkeen Raspberry Pi GPIO -nastoihin ja kun näitä painikkeita painetaan, Raspberry Pi toistaa muistiinsa tallennetut äänitiedostot. Näitä äänitiedostoja voidaan toistaa yksi kerrallaan tai ne kaikki voidaan toistaa yhdessä. Toisin sanoen voit painaa yhtä tai useampaa painiketta samanaikaisesti, Raspberry Pi toistaa yhtä tai useampaa äänitiedostoa vastaavasti samanaikaisesti. Tarkista esittelyvideo tämän artikkelin lopussa. Tarkista myös Raspberry Pi Tutorial -sarja ja hyviä IoT-projekteja.
Meillä on Raspberry Pi: ssä 26 GPIO-nastaa, jotka voidaan ohjelmoida, joista joitain käytetään tiettyjen toimintojen suorittamiseen ja sitten meillä on jäljellä 17 GPIO. Jokainen GPIO-nasta voi tuottaa tai piirtää enintään 15 mA. Ja kaikkien GPIO: n virtojen summa ei voi ylittää 50 mA. Joten voimme vetää keskimäärin enintään 3 mA: n jokaisesta näistä GPIO-nastoista. Käytämme vastuksia rajoittamaan virtausta. Lisätietoja GPIO-nastoista ja Raspberry Pi -liitäntäpainikkeesta on täällä.
Vaaditut komponentit:
Tässä käytämme Raspberry Pi 2 -mallia B Raspbian Jessie -käyttöjärjestelmän kanssa. Kaikista laitteisto- ja ohjelmistovaatimuksista on keskusteltu aiemmin, voit etsiä niitä Raspberry Pi -esittelystä ja Vadelma PI -merkkivalo vilkkuu aloittaaksesi, paitsi mitä tarvitsemme:
- Raspberry Pi esiasennetulla käyttöjärjestelmällä
- Virtalähde
- Kaiutin
- 1KΩ vastus (6 kpl)
- Painikkeet (6 kpl)
- 1000uF kondensaattori
Työselitys:
Tässä soitamme ääntä painikkeilla Raspberry Pi: n kanssa. Olemme käyttäneet kuutta näppäintä kuuden äänitiedoston toistamiseen. Voimme lisätä lisää painikkeita ja äänitiedostoja tämän levyn laajentamiseksi luomaan kauniimpi kuvio painamalla näitä painikkeita. Suorita seuraavat vaiheet, ennen kuin selität muita.
1. Lataa ensin 6 äänitiedostoa alla olevasta linkistä tai voit käyttää äänitiedostojasi, mutta sitten sinun on vaihdettava tiedostojen nimet Koodissa.
Lataa äänitiedostot täältä
2. Luo uusi kansio Raspberry Pi -työpöydän näytölle ja nimeä se nimellä "PI SOUND BOARD".
3. Pura ladatut äänitiedostot kansioon, jonka olemme luoneet DESKTOP-sovelluksessa edellisessä vaiheessa.
4. Avaa pääteikkuna Raspberry Pi: ssä ja kirjoita alla oleva komento:
sudo amixer cset numid = 3 1
Tämä komento kehottaa PI: tä tarjoamaan äänilähdön aluksella olevan 3,5 mm: n ääniliittimen kautta.
Jos haluat äänilähdön HDMI-portista, voit käyttää alla olevaa komentoa:
$ sudo amixer cset numid = 3 2
5. Liitä kaiuttimet Raspberry Pi -levyn 3,5 mm: n äänilähtöliittimeen.
6. Luo PYTHON-tiedosto (*.py-laajennus) ja tallenna se samaan kansioon. Tarkista tämä opetusohjelma, kun haluat luoda ja käyttää Python-ohjelmaa Raspberry Pi: ssä.
7. Pygame-mikseri asennetaan oletuksena käyttöjärjestelmään. Jos ohjelma ei muista suorituksen jälkeen PYMIXERiä, päivitä sitten Raspberry Pi -käyttöjärjestelmä kirjoittamalla alla oleva komento pääteikkunaan. Varmista, että Pi on yhteydessä Internetiin.
sudo apt-get -päivitys
Odota muutama minuutti, kunnes käyttöjärjestelmä päivittyy.
Liitä nyt kaikki komponentit alla olevan piirikaavion mukaisesti, kopioi PYHTON-ohjelma työpöydälle luotuun PYHTON-tiedostoon ja osoita lopuksi ajo pelataksesi äänitiedostoja painikkeilla. Python-ohjelma annetaan lopussa Demo Video.
Piirikaavio:
Ohjelmoinnin selitys:
Tässä olemme luoneet Python-ohjelman äänitiedostojen toistamiseksi painikkeen painalluksen mukaan. Tässä meidän on ymmärrettävä muutama komento, joita olemme käyttäneet ohjelmassa.
tuo RPi.GPIO IO: ksi
Aiomme tuoda GPIO-tiedoston kirjastosta, yllä oleva komento antaa meille mahdollisuuden ohjelmoida PI: n GPIO-nastat. Nimeämme myös "GPIO": n "IO: ksi", joten aina kun haluamme viitata GPIO-nastoihin, käytämme sanaa "IO".
IO.setwarnings (väärä)
Joskus, kun GPIO-nastat, joita yritämme käyttää, saattavat tehdä muita toimintoja. Sitten vastaanotat varoitukset aina, kun suoritat ohjelman. Tämä komento kehottaa Vadelma Piä ohittamaan varoitukset ja jatkamaan ohjelmaa.
IO.setmode (IO.BCM)
Tässä aiomme viitata PI: n i / o-nastoihin niiden funktion nimellä. Joten ohjelmoimme GPIO: ta BCM-pin-numeroilla, mikä antaa meille mahdollisuuden soittaa PIN-koodeihin GPIO-nastalla nro. Kuten voimme kutsua PIN39: ää GPIO19: ksi ohjelmassa.
tuo pygame.mixer
Soitamme äänitiedostoja toistamaan pygame mikseriä.
audio1 = pygame.mixer.Sound ("buzzer.wav")
Vaadimme buzzer.wav-äänitiedostoa, joka on tallennettu työpöydän kansioon. Jos haluat toistaa mitä tahansa muuta tiedostoa, muuta vain äänitiedoston nimi yllä annetussa toiminnossa. Voit nimetä kaikki työpöydän kansiossa olevat tiedostot.
channel1 = sivunimi.sekoitin.kanava (1)
Tässä asetamme kanavan kullekin painikkeelle, jotta voimme toistaa kaikkia äänitiedostoja samanaikaisesti.
if (IO.tulo (21) == 0): channel1.play (audio1)
Siinä tapauksessa, että lausekkeen ehto on tosi, sen alla oleva lause suoritetaan kerran. Joten jos GPIO-nasta 21 on matala tai maadoitettu, se toistaa audio1- muuttujalle määritetyn äänitiedoston . Piirikaavion mukaan voimme nähdä, että GPIO-nasta 21 laskee matalalle, kun painamme ensimmäistä painiketta. Joten voimme toistaa mitä tahansa äänitiedostoa painamalla vastaavaa painiketta.
kun taas 1: käytetään ikuisena silmukana, tällä komennolla tämän silmukan sisällä olevat lauseet suoritetaan jatkuvasti.
Voit tehdä muutoksia python-ohjelmaan saadaksesi mahdollisimman tyydyttävän äänitaulun Raspberry Pi: llä. Voit jopa lisätä lisää painikkeita tehdäksesi asioista mielenkiintoisempia ja toistamalla enemmän äänitiedostoja.