Sisällysluettelo:
- Vaihe 1: Tarvittava materiaali
- Vaihe 2: Painikkeet
- Vaihe 3: Painikkeiden tapaus
- Vaihe 4: Raspberry Pi
- Vaihe 5: Ohjelmointi
- Vaihe 6: Suorita Python -komentosarja jokaisen käynnistyksen yhteydessä
- Vaihe 7: Loppuhuomautus
Video: Toistotallennin Raspberry Pi -laitteella: 7 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Hei kaikki, Tässä ohjeessa selitän, miten tein toistoäänittimen Raspberry Pi: n avulla. Laite on Raspberry Pi -malli B+, jossa on 7 painonappia päällä, kaiutin kytketty johonkin Pi: n USB -porttiin ja mikrofoni liitetty toiseen USB -porttiin. Jokainen painike liittyy ääneen, joten se voi toistaa 7 eri ääntä. Äänet toistetaan lyhyen painalluksen jälkeen. Jos haluat tallentaa uuden äänen, paina painiketta yli 1 sekunnin ajan, nauhoita äänimerkin jälkeen ja päästä irti nauhoituksen lopussa olevasta painikkeesta. Ei se sen helpompaa ole!
Vaihe 1: Tarvittava materiaali
Tätä projektia varten tarvitsin:
- A Raspberry Pi -mallin B + ja micro SD -kortti - 29,95 $ + 9,95 $
- Raspberry Pi -muovikotelo - 7,95 dollaria
- USB -kaiuttimet - 12,50 dollaria
- USB -mikrofoni - 5,95 dollaria
- Puolikokoinen perma-proto-lauta-4,50 dollaria
- 7 hetkellistä painiketta - 2,50 dollaria
Tarvitsin myös:
- Joku sähköjohto
- Suorakulmaiset naarasotsikot
- Nappikoteloon puuta, mustaa maalia ja liimaa
- Juotin ja juote
Vaihe 2: Painikkeet
Käytetyt painikkeet ovat melko korkeita (6 mm), jotta ne voivat mennä kotelon paksuuden läpi.
Laitoin 7 painiketta perma-proto-levylle, joka on kuin leipälauta, paitsi että komponentit on juotettu siihen. Tämä on kestävämpää kuin leipälevy ja halvempaa kuin piirilevyn tulostus. Jokainen painike linkittää maan GPP: hen Raspberry Pi -laitteessa. Minulla ei ole vastuksia täällä, koska Pi: llä on jo sisäiset ylös/alas-vastukset, jotka asetetaan ohjelmaan. Tässä tapauksessa olen asettanut ne vetämään (katso ohjelma alla).
Painikkeet on sijoitettu 4 rivin välein tai 0,4 tuuman välein.
Vaihe 3: Painikkeiden tapaus
Tein nappeille hyvin yksinkertaisen kotelon, jossa oli vanerilevyjä ja puinen neliömäinen tappi. Tapin koon on oltava riittävän suuri, jotta se voi sisältää napin pohjan ja levyn, mutta tarpeeksi pieni, jotta painike pääsee ulos kotelosta. Käytin 1/4 in x 1/4 in tapelia.
Kun olet varmistanut, että levy sopii koteloon, tapit liimataan pohjalevyyn. Ylälevylle porataan sitten reikiä (levyn avulla voidaan tehdä tarkkoja jälkiä 0,4 tuuman välein). Kaikki puuosat maalataan, lauta asetetaan koteloon ja ylälevy liimataan sen päälle.
Vaihe 4: Raspberry Pi
En halunnut juottaa johtoja suoraan Pi: hen, jos haluan käyttää Pi: tä johonkin muuhun tulevaisuudessa. Siksi juotin johdot suorakulmaisiin naarasliittimiin ja liitin otsikot Pi: hen.
Käytettyjä GPIO -laitteita ovat 21, 26, 20, 19, 13, 6 ja 5. Myös maadoitustappia käytetään.
Mikrofoni ja kaiutin on yksinkertaisesti liitetty 2 USB -porttiin neljästä.
Pi saa virtaa micro-usb-pistorasian kautta
Vaihe 5: Ohjelmointi
Ohjelmoidaksesi Pi: n liitin sen Internetiin ethernet -kaapelilla ja ohjain sitä etätietokoneelta VNC -katseluohjelmalla. Et kuitenkaan voi käyttää tätä asetusta ensimmäisen kerran, kun muodostat yhteyden Pi -laitteeseen, koska käyttöjärjestelmää ei ole vielä asennettu eikä SSH ole poistettu käytöstä. Joten sinun on kytkettävä näyttö, näppäimistö ja hiiri ainakin ensimmäisen kerran.
Oli melko vaikeaa löytää komennot tallentaa ja toistaa ääni oikealle äänikortille. Nämä komennot toimivat minulle:
-
aplay -D -aura: CARD = Device_1, DEV = 0 0.wav
Toistaa 0.wav
-
arecord 0.wav -D sysdefault: CARD = 1 -f cd -d 20
Tallentaa enintään 20 sekuntia tiedostoon 0.wav, cd -laadulla
Äänitiedostot sijaitsevat oletushakemistossa (/home/pi). Äänitiedosto äänimerkille on myös välttämätön, sijoitettuna oletushakemistoon ja nimeltään piip.wav.
Itse python -koodi on seuraava:
python -koodi Raspberry Pi -toistonauhurille
tuoda RPi. GPIO GPIO: ksi |
tuonnin aika |
tuonti |
#muuttujat: |
butPressed = [True, True, True, True, True, True, True]#Jos painiketta i painetaan, But Butted on False |
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO -nastat jokaisesta painikkeesta |
recordBool = False#Totta, jos tietue on käynnissä |
GPIO.setmode (GPIO. BCM) |
i alueella (0, 7): |
GPIO.setup (nasta , GPIO. IN, pull_up_down = GPIO. PUD_UP)#asettaa Pi: n sisäiset vastukset vetämään |
vaikka totta: |
i alueella (0, 7): |
muttaPainettu = GPIO.input (nasta )#tarkistaa, onko painiketta painettu |
jos painetaan == Väärä:#jos painiketta painetaan |
previousTime = time.time () |
kun painetaan == False and recordBool == False: |
butPressed = GPIO.input (nasta ) |
if time.time () - previousTime> 1.0:#jos painiketta painetaan yli sekunnin ajan, recordBool on True |
recordBool = Totta |
if recordBool == True: #if recordBool on True, se antaa äänimerkin ja tallentaa sitten |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 beep.wav") |
os.system ("arecord %d.wav -D sysdefault: CARD = 1 -f cd -d 20 &" %i)#tietuetta enintään 20 sekunnin ajan tiedostossa i.wav, cd -laadulla |
kun painetaan == Väärä: |
butPressed = GPIO.input (nasta ) |
os.system ("pkill -9 arecord")#tietue pysäytetään, kun painike päästetään irti tai 20 sekunnin kuluttua |
recordBool = Väärä |
else: #if recordBool on False, se toistaa äänen i.wav |
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i) |
aika. unta (0,1) |
Näytä rawPlayback -tallennin, jota isännöi GitHub ❤
Vaihe 6: Suorita Python -komentosarja jokaisen käynnistyksen yhteydessä
Jos haluat suorittaa python -komentosarjan jokaisen Pi: n käynnistyksen yhteydessä, seuraavat rivit lisätään tiedostoon nimeltä playback.desktop kansioon /home/pi/.config/autostart/
käynnistää playback.py Raspberry Pi: n käynnistyksen yhteydessä
[Tietokoneen syöttö] |
Koodaus = UTF-8 |
Tyyppi = sovellus |
Nimi = Toisto |
Kommentti = Tämä on toistosovellus |
Exec = python /home/pi/playback.py |
StartupNotify = epätosi |
Pääte = totta |
Piilotettu = väärä |
katso rawplayback.desktop, jota isännöi GitHub ❤
Vaihe 7: Loppuhuomautus
Kerro mielipiteesi tästä projektista kommenttiosassa, kerro minulle suosituksistasi ja äänestä minua Raspberry Pi -kilpailussa, jos pidit siitä.
Odotan innolla lukemista!
Suositeltava:
Smart Home by Raspberry Pi: 5 vaihetta (kuvilla)
Smart Home by Raspberry Pi: Siellä on jo useita tuotteita, jotka tekevät asunnostasi älykkäämmän, mutta suurin osa niistä on omia ratkaisuja. Mutta miksi tarvitset Internet -yhteyden vaihtaaksesi valon älypuhelimellasi? Se oli yksi syy minulle rakentaa oma Smar
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tämä esimerkki
Borderlands Raspberry Pi: 9 vaihetta (kuvilla)
Borderlands Raspberry Pi: Joten olin eräänä päivänä pelikaupassa ja näin tämän Borderlandsin rekvisiitan raivausosastolla hintaan 20 dollaria, enkä voinut vastustaa sen ostamista. Noin viikon kuluttua ajattelin itselleni: "Voisin suolen kokonaan ja ahdistaa piin sisälle". Silloin seikkailuni alkoi
Raspberry Pi NFS ja Samba -tiedostopalvelin: 11 vaihetta (kuvilla)
Raspberry Pi NFS ja Samba File Server: Tämä projekti on viimeinen tulosvaihe, joka yhdistää kaksi aiemmin tehtyä ja lähetettyä piiriä. *** 1. Raspberry Pi CPU CPU Indicator-Julkaistu 20. marraskuuta 2020https: //www.instructables.com/Raspberry-Pi-CPU-Tem…2. Vadelma Pi
Pultti - DIY -langaton latauskello (6 vaihetta): 6 vaihetta (kuvilla)
Pultti - DIY -langaton latausyökello (6 vaihetta): Induktiiviset lataukset (tunnetaan myös nimellä langaton lataus tai langaton lataus) on langattoman voimansiirron tyyppi. Se käyttää sähkömagneettista induktiota sähkön tuottamiseen kannettaville laitteille. Yleisin sovellus on langaton Qi -latauslaite