Sisällysluettelo:

Toistotallennin Raspberry Pi -laitteella: 7 vaihetta (kuvilla)
Toistotallennin Raspberry Pi -laitteella: 7 vaihetta (kuvilla)

Video: Toistotallennin Raspberry Pi -laitteella: 7 vaihetta (kuvilla)

Video: Toistotallennin Raspberry Pi -laitteella: 7 vaihetta (kuvilla)
Video: Голубая стрела (1958) фильм 2024, Marraskuu
Anonim
Image
Image
Tarvittava materiaali
Tarvittava materiaali

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

Tarvittava materiaali
Tarvittava materiaali
Tarvittava materiaali
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

Painikkeet
Painikkeet
Painikkeet
Painikkeet
Painikkeet
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

Painikkeiden kotelo
Painikkeiden kotelo
Painikkeiden kotelo
Painikkeiden kotelo
Painikkeiden kotelo
Painikkeiden kotelo

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

Vadelma Pi
Vadelma Pi
Vadelma Pi
Vadelma Pi
Vadelma Pi
Vadelma 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: