Նվագարկման ձայնագրիչ Raspberry Pi- ով. 7 քայլ (նկարներով)
Նվագարկման ձայնագրիչ Raspberry Pi- ով. 7 քայլ (նկարներով)
Anonim
Image
Image
Անհրաժեշտ նյութ
Անհրաժեշտ նյութ

Բարեւ բոլորին, Այս ուսանելի հոդվածում ես բացատրում եմ, թե ինչպես եմ պատրաստել նվագարկիչ ձայնագրիչ ՝ օգտագործելով Raspberry Pi- ն: Սարքը Raspberry Pi մոդել B+է, որի վերևում կա 7 կոճակ, Pi- ի USB պորտերից մեկին միացված բարձրախոս և մեկ այլ USB պորտերին միացված խոսափող: Յուրաքանչյուր կոճակ կապված է ձայնի հետ, ուստի այն կարող է նվագարկել 7 տարբեր հնչյուններ: Հնչյունները հնչում են կոճակի կարճ սեղմումից հետո: Նոր ձայնագրման համար պարզապես սեղմեք կոճակը ավելի քան 1 վայրկյան, ձայնագրեք ազդանշանից հետո և բաց թողեք ձայնագրության վերջում գտնվող կոճակը: Դրանից ավելի պարզ չի ստացվում:

Քայլ 1: Անհրաժեշտ նյութեր

Անհրաժեշտ նյութ
Անհրաժեշտ նյութ
Անհրաժեշտ նյութ
Անհրաժեշտ նյութ

Այս նախագծի համար ինձ անհրաժեշտ էր.

  • A Raspberry Pi մոդել B + և միկրո SD քարտ ՝ 29,95 $ + 9,95 $
  • Raspberry Pi պլաստիկ պատյան - 7.95 $
  • USB բարձրախոսներ - 12,50 $
  • USB խոսափող - 5,95 դոլար
  • Կես չափի մշտական պրոտո տախտակ `4.50 $
  • 7 ակնթարթային սեղմում `2.50 $

Ինձ նույնպես պետք էր.

  • Որոշ էլեկտրական մետաղալարեր
  • Ուղղանկյուն կին վերնագրեր
  • Որոշ փայտ, սև ներկ և սոսինձ կոճակի պատյանների համար
  • Soldոդման երկաթ և զոդ

Քայլ 2: Կոճակներ

Կոճակներ
Կոճակներ
Կոճակներ
Կոճակներ
Կոճակներ
Կոճակներ

Օգտագործված կոճակները բավականին բարձր են (6 մմ), որպեսզի կարողանան անցնել պատյանի հաստությամբ:

Իմ 7 կոճակները տեղադրեցի մշտական պրոտո տախտակի վրա, որը նման է հացահատիկի, բացառությամբ, որ դրա վրա մասեր են զոդված: Սա ավելի ամուր է, քան գրատախտակը և ավելի էժան է, քան հատ տպելը: Յուրաքանչյուր կոճակ գետնին կապում է Raspberry Pi- ի GPIO- ի հետ: Ես այստեղ ռեզիստորներ չունեմ, քանի որ Pi- ն արդեն ունի ներքին քաշվող/իջնող դիմադրիչներ, որոնք կդրվեն ծրագրում: Այս դեպքում ես դրանք սահմանել եմ ձգվող (տես ստորև բերված ծրագիրը):

Կոճակները տեղադրվում են յուրաքանչյուր 4 տողում, կամ յուրաքանչյուր 0.4 դյույմ:

Քայլ 3: Կոճակների գործը

Կոճակների գործը
Կոճակների գործը
Կոճակների գործը
Կոճակների գործը
Կոճակների գործը
Կոճակների գործը

Ես կոճակների համար շատ պարզ պատյան պատրաստեցի ՝ նրբատախտակի թիթեղներով և փայտե քառակուսի դոդով: Կցվածքի չափը պետք է լինի այնքան մեծ, որ պարունակի կոճակի հիմքն ու տախտակը, բայց այնքան փոքր, որ կոճակը դուրս գա պատյանից: Ես օգտագործել եմ 1/4 x 1/4 in dowel- ում:

Համոզվելուց հետո, որ տախտակը տեղավորվում է պատյանում, dowels- ը սոսնձված են հիմնական թերթիկին: Այնուհետև անցքեր են բացվում վերին թերթի վրա (տախտակը կարող է օգտագործվել յուրաքանչյուր 0.4 դյույմը ճշգրիտ նշաններ կատարելու համար): Բոլոր փայտե մասերը ներկված են, տախտակը տեղադրված է պատյանում, իսկ վերևի թերթիկը սոսնձված է դրա վերևում:

Քայլ 4: Ազնվամորի Պի

The Raspberry Pi
The Raspberry Pi
The Raspberry Pi
The Raspberry Pi
The Raspberry Pi
The Raspberry Pi

Ես չէի ուզում լարերը ուղղակիորեն կպցնել Pi- ին, եթե հետագայում Pi- ն օգտագործեմ այլ բանի համար: Հետևաբար, ես լարերը միացրեցի ուղղանկյուն կին վերնագրերին և գլխիկները միացրեցի Pi- ին:

Օգտագործված GPIO- ները 21, 26, 20, 19, 13, 6 և 5. Օգտագործվում են նաև հիմնաքարը:

Խոսափողը և բարձրախոսը պարզապես միացված են 4 USB պորտերից 2 -ին:

Pi- ն սնուցվում է միկրո usb վարդակից

Քայլ 5: mingրագրավորում

Pi- ի ծրագրավորման համար ես այն միացրի ինտերնետին `օգտագործելով Ethernet մալուխը և վերահսկեցի այն հեռավոր համակարգչից` օգտագործելով VNC դիտիչ: Այնուամենայնիվ, դուք չեք կարող օգտագործել այս կարգավորումը Pi- ին միանալուց առաջին անգամ, քանի որ OS- ն դեռ տեղադրված չէ, և SSH- ն անգործածված չէ: Այսպիսով, ձեզ հարկավոր կլինի առնվազն առաջին անգամ միացնել էկրան, ստեղնաշար և մկնիկ:

Բավականին դժվար էր գտնել ձայնային ձայնի ճիշտ քարտի վրա ձայնագրելու և նվագարկելու հրամանները: Ահա այն հրամանները, որոնք ինձ մոտ աշխատել են.

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

    Խաղում է 0. ալիք

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

    Ձայնագրում է առավելագույնը 20 վայրկյան 0.wav ֆայլում, cd որակով

Ձայնային ֆայլերը գտնվում են կանխադրված գրացուցակում (/home/pi): Անհրաժեշտ է նաև ազդանշանի ձայնային ֆայլ, որը տեղադրված է կանխադրված գրացուցակում և կոչվում beep.wav:

Պիթոնի ծածկագիրն ինքնին հետևյալն է.

python ծածկագիր Raspberry Pi նվագարկիչի համար

ներմուծեք RPi. GPIO- ն որպես GPIO
ներմուծման ժամանակը
ներմուծել os
#փոփոխականներ.
butPressed = [,շմարիտ, Trueշմարիտ, Trueշմարիտ,,շմարիտ,,շմարիտ,,շմարիտ, Trueշմարիտ]#եթե կոճակը i սեղմված է, ապա butPressed - ը սխալ է
pin = [26, 19, 13, 6, 5, 21, 20] յուրաքանչյուր կոճակի #GPIO կապում
recordBool = Սխալ#Trueիշտ է, եթե գրառումն ընթացքի մեջ է
GPIO.setmode (GPIO. BCM)
i- ի համար (0, 7):
GPIO.setup (քորոց , GPIO. IN, pull_up_down = GPIO. PUD_UP)#Pi- ի ներքին դիմադրիչները դնում է ձգման
իսկ ճշմարիտ:
i- ի համար (0, 7):
butPressed = GPIO.input (pin )#ստուգում է, արդյոք կոճակը սեղմված է
եթե butPressed == Կեղծ.#եթե կոճակը սեղմված է
previousTime = time.time ()
while butPressed == Կեղծ և recordBool == Կեղծ:
butPressed = GPIO.input (pin )
եթե time.time () - previousTime> 1.0:#եթե կոճակը սեղմված է ավելի քան մեկ վայրկյան, ապա recordBool- ը ճշմարիտ է
recordBool = շմարիտ
եթե recordBool ==:շմարիտ
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)#արձանագրում է i.wav ֆայլում առավելագույնը 20 վայրկյան, cd որակով
while butPressed == Կեղծ:
butPressed = GPIO.input (pin )
os.system («pkill -9 arecord»)#ձայնագրությունը դադարեցվում է, երբ կոճակը բաց է թողնվում, կամ 20 վայրկյանից հետո
recordBool = Սխալ
else: #if recordBool- ը կեղծ է, այն հնչում է i.wav ձայնով
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
ժամանակ. քուն (0.1)

դիտել rawPlayback ձայնագրիչը, որը տեղակայված է it -ի կողմից GitHub- ի կողմից

Քայլ 6: Գործարկեք Python Script- ը յուրաքանչյուր գործարկման ժամանակ

Յուրաքանչյուր Pi- ի գործարկման ժամանակ Python սցենարը գործարկելու համար հետևյալ տողերը տեղադրվում են playback.desktop կոչվող ֆայլում /home/pi/.config/autostart/

աշխատում է playback.py- ում Raspberry Pi- ի գործարկման ժամանակ

[Գրասեղանի գրառում]
Կոդավորում = UTF-8
Տեսակ = Դիմում
Անուն = Նվագարկում
Մեկնաբանություն = Սա նվագարկման ծրագիր է
Exec = python /home/pi/playback.py
StartupNotify = կեղծ
Տերմինալ = ճշմարիտ
Թաքնված = կեղծ

դիտել rawplayback.desktop- ը, որը տեղակայված է it -ի կողմից GitHub- ի կողմից

Քայլ 7: Ավարտել նշումը

Խնդրում եմ ասեք ինձ, թե ինչ կարծիք ունեք այս նախագծի մասին մեկնաբանությունների բաժնում, տեղեկացրեք ձեր առաջարկությունների մասին և քվեարկեք իմ օգտին Raspberry Pi մրցույթում, եթե այն ձեզ դուր եկավ:

Անհամբեր սպասում եմ ձեզ կարդալուն:

Խորհուրդ ենք տալիս: