Përmbajtje:

Regjistruesi i riprodhimit me Raspberry Pi: 7 hapa (me fotografi)
Regjistruesi i riprodhimit me Raspberry Pi: 7 hapa (me fotografi)

Video: Regjistruesi i riprodhimit me Raspberry Pi: 7 hapa (me fotografi)

Video: Regjistruesi i riprodhimit me Raspberry Pi: 7 hapa (me fotografi)
Video: Abandoned House Of German Immigrants In The USA ~ War Changed Them! 2024, Nëntor
Anonim
Image
Image
Materiali i nevojshëm
Materiali i nevojshëm

Pershendetje te gjitheve, Në këtë udhëzues shpjegoj se si kam bërë një regjistrues të riprodhimit duke përdorur Raspberry Pi. Pajisja është një Raspberry Pi model B+, me 7 butona shtytës në krye, një altoparlant i lidhur me një nga portat usb të Pi dhe një mikrofon të lidhur me një port tjetër usb. Çdo buton është i lidhur me një tingull, kështu që mund të luajë 7 tinguj të ndryshëm. Tingujt luhen pas një shtypjeje të shkurtër të butonit. Për të regjistruar një tingull të ri, thjesht shtypni butonin për më shumë se 1 sekondë, regjistroni pas bipit dhe lëshojeni butonin në fund të regjistrimit. Nuk bëhet më e thjeshtë se kaq!

Hapi 1: Materiali i nevojshëm

Materiali i nevojshëm
Materiali i nevojshëm
Materiali i nevojshëm
Materiali i nevojshëm

Për këtë projekt më duheshin:

  • Një kartë Raspberry Pi model B + dhe mikro SD - 29,95 $ + 9,95 $
  • Një kuti plastike Raspberry Pi - 7.95 $
  • Altoparlantë USB - 12,50 dollarë
  • Një mikrofon USB - 5,95 dollarë
  • Një tabelë perma-proto me madhësi gjysmë-4.50 $
  • 7 butona shtytës të momentit - 2.50 $

Më duhej gjithashtu:

  • Disa tela elektrike
  • Tituj femra me kënd të drejtë
  • Pak dru, bojë të zezë dhe ngjitës për kutinë e butonave
  • Një hekur bashkues dhe lidhës

Hapi 2: Butonat

Buttons
Buttons
Buttons
Buttons
Buttons
Buttons

Butonat e përdorur janë mjaft të gjatë (6 mm) në mënyrë që të kalojnë trashësinë e kutisë.

I vendosa 7 butonat e mi në një tabelë perma-proto, e cila është si një dërrasë buke, përveçse komponentët janë ngjitur në të. Kjo është më e fortë se një dërrasë buke, dhe më e lirë se sa të printoni një pcb. Çdo buton lidh tokën me një GPIO në Raspberry Pi. Unë nuk kam rezistorë këtu pasi Pi tashmë ka rezistorë të brendshëm tërheqës/ulur të cilët do të vendosen në program. Në këtë rast i kam vendosur që të tërhiqen (shiko programin më poshtë).

Butonat vendosen çdo 4 rreshta, ose çdo 0.4 inç.

Hapi 3: Rasti i butonave

Rasti i butonave
Rasti i butonave
Rasti i butonave
Rasti i butonave
Rasti i butonave
Rasti i butonave

Kam bërë një kuti shumë të thjeshtë për butonat, me çarçafë kompensatë dhe kunj katror prej druri. Madhësia e kunjit duhet të jetë aq e madhe sa të përmbajë bazën e butonit dhe tabelën, por mjaft e vogël për ta lënë butonin të dalë jashtë kutisë. Kam përdorur një 1/4 në x 1/4 në kunj.

Pasi të siguroheni që bordi të përshtatet në kuti, dowels janë ngjitur në fletën bazë. Vrimat janë shpuar më pas në fletën e sipërme (dërrasa mund të përdoret për të bërë pikërisht shenja çdo 0.4 inç). Të gjitha pjesët e drurit janë të lyera, tabela e vendosur në kasë dhe fleta e sipërme e ngjitur në majë të saj.

Hapi 4: Raspberry Pi

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi

Unë nuk doja të lidhja telat drejtpërdrejt në Pi, në rast se dua ta përdor Pi për diçka tjetër në të ardhmen. Prandaj i bashkova telat te titujt femra me kënd të drejtë dhe i lidhja titujt në Pi.

GPIO -të e përdorura janë 21, 26, 20, 19, 13, 6 dhe 5. Përdoret gjithashtu kunja e tokëzimit.

Mikrofoni dhe altoparlanti janë thjesht të kyçur në 2 nga 4 portat USB.

Pi fuqizohet përmes prizës mikro-usb

Hapi 5: Programimi

Për të programuar Pi, e lidha me internetin duke përdorur një kabllo ethernet dhe e kontrollova atë nga një kompjuter në distancë duke përdorur shikuesin VNC. Sidoqoftë, nuk mund ta përdorni këtë konfigurim herën e parë që lidheni me Pi, sepse OS nuk është instaluar ende dhe SSH nuk është i paaftë. Kështu që do t'ju duhet të lidhni një ekran, tastierë dhe miun, të paktën për herë të parë.

Ishte mjaft sherr për të gjetur komandat për të regjistruar dhe luajtur një tingull në kartën e duhur të zërit. Këto janë komandat që funksionuan për mua:

  • aplay -D plughw: KARTA = Pajisja_1, DEV = 0 0.wav

    Luan 0.wav

  • arecord 0.wav -D sysdefault: KARTA = 1 -f cd -d 20

    Regjistron për maksimum 20 sekonda në skedarin 0.wav, me cilësi cd

Skedarët e zërit janë të vendosur në drejtorinë e paracaktuar (/home/pi). Fileshtë gjithashtu e nevojshme një skedar zanor për biip, i vendosur në drejtorinë e paracaktuar dhe i quajtur beep.wav.

Kodi python në vetvete është si më poshtë:

kodi python për një regjistrues të riprodhimit Raspberry Pi

importoni RPi. GPIO si GPIO
koha e importit
importo os
#variablat:
butPressed = [E vërtetë, e vërtetë, e vërtetë, e vërtetë, e vërtetë, e vërtetë, e vërtetë]#nëse butoni i është shtypur, atëherë butPressed është i rremë
pin = [26, 19, 13, 6, 5, 21, 20] kunjat #GPIO të secilit buton
recordBool = E gabuar#E vërtetë nëse një rekord është në progres
GPIO.setmode (GPIO. BCM)
për i në rang (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#vendos rezistencat e brendshme të Pi në tërheqje
ndërsa e vërtetë:
për i në rang (0, 7):
butPressed = GPIO.input (pin )#kontrollon nëse shtypet një buton
nëse butPress == False: #nëse shtypet një buton
koha e mëparshme = koha. koha ()
ndërsa butPressed == False dhe recordBool == False:
butPressed = GPIO.input (pin )
nëse time.time () - previousTime> 1.0:#nëse butoni shtypet për më shumë se një sekondë, atëherë rekordBool është i vërtetë
recordBool = E vërtetë
nëse recordBool == E vërtetë:#nëse recordBool është True, luan një tingull biep dhe pastaj regjistron
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) #regjistro për maksimum 20 sekonda në skedarin i.wav, me cilësi cd
ndërsa butPressed == E gabuar:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#regjistrimi ndalet kur butoni lëshohet, ose pas 20 sekondash
recordBool = E gabuar
tjetër:#nëse rekordBool është False, luan tingull i.wav
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
koha. gjumi (0.1)

shikoni regjistruesin rawPlayback të pritur me ❤ nga GitHub

Hapi 6: Drejtoni Skriptin Python në Çdo Fillim

Për të ekzekutuar skriptin python në fillimin e secilit Pi, rreshtat e mëposhtëm vendosen në një skedar të quajtur playback.desktop në dosjen /home/pi/.config/autostart/

ekzekuton playback.py në fillimin e Raspberry Pi

[Hyrja në desktop]
Kodimi = UTF-8
Lloji = Aplikimi
Emri = Rishikimi
Koment = Ky është një aplikacion i riprodhimit
Exec = python /home/pi/playback.py
StartupNotify = false
Terminal = e vërtetë
E fshehur = e rreme

shikoni rawplayback.desktop të pritur me ❤ nga GitHub

Hapi 7: Fund Shënimi

Ju lutemi më tregoni se çfarë mendoni për këtë projekt në pjesën e komenteve, më tregoni rekomandimet tuaja dhe votoni për mua në konkursin Raspberry Pi nëse ju pëlqen.

Mezi pres të të lexoj!

Recommended: