Sisukord:

Taasesituse salvesti Raspberry Pi abil: 7 sammu (piltidega)
Taasesituse salvesti Raspberry Pi abil: 7 sammu (piltidega)

Video: Taasesituse salvesti Raspberry Pi abil: 7 sammu (piltidega)

Video: Taasesituse salvesti Raspberry Pi abil: 7 sammu (piltidega)
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, November
Anonim
Image
Image
Vajalik materjal
Vajalik materjal

Tere kõigile, Selles juhendis selgitan, kuidas tegin Raspberry Pi abil taasesituse salvestaja. Seade on Raspberry Pi mudel B+, mille peal on 7 vajutusnuppu, kõlar on ühendatud ühe Pi USB -pordiga ja mikrofon on ühendatud teise USB -pordiga. Iga nupp on seotud heliga, nii et see võib esitada 7 erinevat heli. Heli esitatakse pärast lühikest nupuvajutust. Uue heli salvestamiseks vajutage lihtsalt nuppu üle 1 sekundi, salvestage pärast piiksu ja vabastage nupp salvestuse lõpus. See ei muutu lihtsamaks!

Samm: vajalik materjal

Vajalik materjal
Vajalik materjal
Vajalik materjal
Vajalik materjal

Selle projekti jaoks vajasin:

  • A Raspberry Pi mudel B + ja micro SD -kaart - 29,95 $ + 9,95 $
  • Raspberry Pi plastkott - 7,95 dollarit
  • USB kõlarid - 12,50 dollarit
  • USB -mikrofon - 5,95 dollarit
  • Poole suurune perma-proto plaat-4,50 dollarit
  • 7 hetkelist nuppu - 2,50 dollarit

Mul oli ka vaja:

  • Mingi elektrijuhe
  • Täisnurksed naissoost päised
  • Nööbikarbi jaoks natuke puitu, musta värvi ja liimi
  • Jootekolb ja jootekolb

2. samm: nupud

Nupud
Nupud
Nupud
Nupud
Nupud
Nupud

Kasutatavad nupud on üsna kõrged (6 mm), nii et need võivad korpuse paksusest läbi minna.

Asetasin oma 7 nuppu perma-proto tahvlile, mis on nagu leivaplaat, välja arvatud komponendid, mis on sellele joodetud. See on vastupidavam kui leivalaud ja odavam kui trükkplaadi printimine. Iga nupp ühendab Raspberry Pi GPIO -ga. Mul pole siin takistoreid, kuna Pi-l on juba sisemised tõmbe-/allalaadimistakistid, mis programmis seatakse. Sel juhul olen määranud need tõmbamiseks (vt programmi allpool).

Nupud asetatakse iga 4 rea või iga 0,4 tolli järel.

3. samm: nuppude ümbris

Nuppude ümbris
Nuppude ümbris
Nuppude ümbris
Nuppude ümbris
Nuppude ümbris
Nuppude ümbris

Tegin nööpidele väga lihtsa ümbrise, vineerplaatide ja puidust nelinurkse tüübliga. Tüübli suurus peab olema piisavalt suur, et sellesse mahuks nööpide alus ja laud, kuid piisavalt väike, et nööp korpusest välja lasta. Ma kasutasin 1/4 tolli x 1/4 tüüblit.

Pärast plaadi korpuse sobivuse kontrollimist liimitakse tüüblid aluslehe külge. Seejärel puuritakse ülemisele lehele augud (tahvli abil saab täpselt teha jälgi iga 0,4 tolli järel). Kõik puitdetailid on värvitud, plaat paigutatud korpusesse ja pealmine leht liimitud selle peale.

Samm: Vaarika Pi

Vaarika Pi
Vaarika Pi
Vaarika Pi
Vaarika Pi
Vaarika Pi
Vaarika Pi

Ma ei tahtnud juhtmeid otse Pi külge joota, juhuks, kui soovin tulevikus Pi -d millekski muuks kasutada. Seetõttu jootsin juhtmed täisnurksete naissoost päiste külge ja ühendasin päised Pi külge.

Kasutatavad GPIO -d on 21, 26, 20, 19, 13, 6 ja 5. Samuti kasutatakse maandusnõela.

Mikrofon ja kõlar on lihtsalt ühendatud 2 -st neljast USB -pordist.

Pi saab toite mikro-USB-pistikupesa kaudu

Samm: programmeerimine

Pi programmeerimiseks ühendasin selle Etherneti kaabli abil Internetiga ja juhtisin seda kaugarvutist VNC vaataja abil. Kuid te ei saa seda seadistust kasutada esmakordsel Pi -ga ühenduse loomisel, kuna OS pole veel installitud ja SSH pole keelatud. Seega peate vähemalt esimest korda ühendama ekraani, klaviatuuri ja hiire.

Õige helikaardi heli salvestamise ja esitamise käskude leidmine oli üsna tülikas. Need käsklused töötasid minu jaoks:

  • aplay -D plughw: CARD = Device_1, DEV = 0 0.wav

    Mängib 0.wav

  • arecord 0.wav -D sys vaikimisi: CARD = 1 -f cd -d 20

    Salvestab CD -kvaliteediga faili 0.wav maksimaalselt 20 sekundiks

Helifailid asuvad vaikekataloogis (/home/pi). Vajalik on ka piiksu helifail, mis on paigutatud vaikekataloogi ja nimega beep.wav.

Pythoni kood ise on järgmine:

pythoni kood Raspberry Pi taasesituse salvestajale

RPi. GPIO importimine GPIO -na
impordi aeg
import os
#muutujad:
butPressed = [True, True, True, True, True, True, True, True]#kui vajutatakse nuppu i, siis on vajutatud vale
pin = [26, 19, 13, 6, 5, 21, 20] #GPIO tihvtid iga nupu kohta
recordBool = False#Tõsi, kui kirje on pooleli
GPIO.setmode (GPIO. BCM)
i jaoks vahemikus (0, 7):
GPIO.seadistus (tihvt , GPIO. IN, pull_up_down = GPIO. PUD_UP)#määrab Pi sisetakistused üles tõmbamiseks
kuigi tõsi:
i jaoks vahemikus (0, 7):
butPressed = GPIO.input (pin )#kontrollib, kas nuppu vajutatakse
kui vajutatakse == Vale:#kui nuppu vajutatakse
previousTime = time.time ()
samas kui vajutatud == Vale ja recordBool == Vale:
butpressed = GPIO.input (pin )
if time.time () - previousTime> 1.0:#kui nuppu vajutatakse üle sekundi, siis recordBool on True
recordBool = Tõsi
kui recordBool == Tõsi: #if recordBool on tõene, mängib see piiksu ja seejärel salvestab
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) #rekordid maksimaalselt 20 sekundiks failis i.wav, CD kvaliteediga
samal ajal kui vajutatud == Vale:
butpressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#kirje peatatakse, kui nupp lahti lastakse või 20 sekundi pärast
recordBool = Vale
else: #if recordBool on vale, ta esitab heli i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
aeg. uni (0,1)

vaata rawPlayback salvestajat, mille hostiks on GitHub ❤

Samm: käivitage Pythoni skript igal käivitamisel

Pythoni skripti käivitamiseks iga Pi käivitamisel sisestatakse järgmised read faili playback.desktop kaustas /home/pi/.config/autostart/

käivitab playback.py Raspberry Pi käivitamisel

[Töölaua sisestus]
Kodeerimine = UTF-8
Tüüp = rakendus
Nimi = taasesitus
Kommentaar = See on taasesituse rakendus
Exec = python /home/pi/playback.py
StartupNotify = vale
Terminal = tõsi
Varjatud = vale

vaadake rawplayback.desktopi, mida GitHub haldab koos ❤ -ga

Samm: lõpetage märkus

Palun rääkige kommentaaride osas, mida arvate sellest projektist, andke mulle oma soovitustest teada ja hääletage minu poolt Raspberry Pi konkursil, kui see teile meeldis.

Ootan teid lugema!

Soovitan: