Mundarija:

Raspberry Pi bilan ijro etish yozuvchisi: 7 qadam (rasmlar bilan)
Raspberry Pi bilan ijro etish yozuvchisi: 7 qadam (rasmlar bilan)

Video: Raspberry Pi bilan ijro etish yozuvchisi: 7 qadam (rasmlar bilan)

Video: Raspberry Pi bilan ijro etish yozuvchisi: 7 qadam (rasmlar bilan)
Video: КАК НАСТРОИТЬ L4D2 2024, Noyabr
Anonim
Image
Image
Kerakli material
Kerakli material

Hammaga salom, Bu yo'riqnomada men qanday qilib Raspberry Pi yordamida yozib oluvchi yozganimni tushuntiraman. Qurilma Raspberry Pi modeli B+bo'lib, tepasida 7 ta tugma, Pi -ning usb portlaridan biriga ulangan karnay va boshqa usb portlariga ulangan mikrofon mavjud. Har bir tugma tovush bilan bog'liq, shuning uchun u 7 xil tovushni ijro etishi mumkin. Ovozlar tugmani qisqa bosgandan so'ng eshitiladi. Yangi ovoz yozish uchun tugmani 1 soniyadan ko'proq bosib turing, ovozli signaldan keyin yozib oling va yozuv oxiridagi tugmani qo'yib yuboring. Undan ko'ra oddiyroq narsa yo'q!

1 -qadam: kerakli materiallar

Kerakli material
Kerakli material
Kerakli material
Kerakli material

Ushbu loyiha uchun menga kerak edi:

  • Raspberry Pi modeli B + va micro SD karta - 29,95 $ + 9,95 $
  • Raspberry Pi plastik sumkasi - 7,95 dollar
  • USB karnaylari - 12,50 dollar
  • USB mikrofon - 5,95 dollar
  • Yarim o'lchamli perma-proto taxta-4,50 dollar
  • 7 lahzali tugma - 2,50 dollar

Menga ham kerak edi:

  • Ba'zi elektr simlari
  • To'g'ri burchakli ayol sarlavhalar
  • Tugma qutisi uchun bir oz yog'och, qora bo'yoq va elim
  • Lehimlash temir va lehim

2 -qadam: tugmalar

Tugmalar
Tugmalar
Tugmalar
Tugmalar
Tugmalar
Tugmalar

Ishlatiladigan tugmalar ancha baland (6 mm), ular korpus qalinligidan o'tishi mumkin.

Men 7 tugmachani perma-proto taxtaga joylashtirdim, u non paneliga o'xshaydi, lekin uning tarkibiy qismlari lehimlangan. Bu non taxtasidan ko'ra mustahkamroq va kompyuterni chop etishdan ko'ra arzonroq. Har bir tugma Raspberry Pi -dagi GPIO -ga ulanadi. Menda bu erda qarshilik yo'q, chunki Pi dasturda o'rnatiladigan ichki tortish/tushirish rezistorlariga ega. Bu holda men ularni tortib olishni o'rnatdim (pastdagi dasturga qarang).

Tugmalar har 4 qatorda yoki har 0,4 dyuymda joylashtiriladi.

3 -qadam: Tugmalar ishi

Tugmalar holati
Tugmalar holati
Tugmalar holati
Tugmalar holati
Tugmalar holati
Tugmalar holati

Men tugmachalar uchun kontrplakdan yasalgan choyshab va yog'ochdan yasalgan dübel bilan juda oddiy korpus yasadim. Dübelning o'lchami tugmachaning tagini va taxtani o'z ichiga oladigan darajada katta bo'lishi kerak, lekin tugmachani korpusdan tashqariga chiqarish uchun etarlicha kichik bo'lishi kerak. Men 1/4 dyuymli x 1/4 dübel ishlatardim.

Kengash korpusga mos kelishiga ishonch hosil qilgandan so'ng, dublonlar taglik varag'iga yopishtiriladi. Keyin yuqori varaqda teshiklar ochiladi (taxtadan har 0,4 dyuymda aniq belgilash uchun foydalanish mumkin). Yog'ochdan yasalgan barcha qismlar bo'yalgan, taxta korpusga joylashtirilgan va ustki varaq uning ustiga yopishtirilgan.

4 -qadam: Raspberry Pi

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

Agar men kelajakda Pi -ni boshqa narsaga ishlatmoqchi bo'lsam, simlarni to'g'ridan -to'g'ri Pi ga lehimlashni xohlamadim. Men shuning uchun simlarni to'g'ri burchakli ayol sarlavhalarga lehimladim va sarlavhalarni Pi-ga uladim.

Qo'llaniladigan GPIO 21, 26, 20, 19, 13, 6 va 5. Tuproq pimi ham ishlatiladi.

Mikrofon va karnay 4 usb portining 2 tasiga ulangan.

Pi mikro-usb rozetkasi orqali quvvatlanadi

5 -qadam: Dasturlash

Pi dasturlash uchun men uni chekilgan kabel yordamida internetga uladim va uni VNC tomoshabin yordamida masofali kompyuterdan boshqarardim. Biroq, siz Pi -ga birinchi marta ulanganingizda ushbu sozlamadan foydalana olmaysiz, chunki OS hali o'rnatilmagan va SSH o'chirilmagan. Shunday qilib, hech bo'lmaganda birinchi marta ekran, klaviatura va sichqonchani ulashingiz kerak bo'ladi.

To'g'ri ovoz kartasida ovoz yozish va ijro etish buyruqlarini topish juda qiyin edi. Bu men uchun ishlaydigan buyruqlar:

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

    0.wav o'ynaydi

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

    0.wav faylida maksimal 20 soniya davomida yozib olinadi, sd sifati

Ovozli fayllar standart katalogda joylashgan (/home/pi). Ovozli fayl ham kerak bo'ladi, u standart katalogga joylashtirilgan va beep.wav deb nomlangan.

Python kodining o'zi quyidagicha:

Raspberry Pi ijro etish yozuvchisi uchun python kodi

RPi. GPIO -ni GPIO sifatida import qilish
import vaqti
import qilish os
#o'zgaruvchilar:
butPressed = [True, True, True, True, True, True, True] #if tugmasi i bosilsa, but Buted noto'g'ri
pin = [26, 19, 13, 6, 5, 21, 20] Har bir tugmachaning #GPIO pinlari
recordBool = False#True, agar yozuv davom etayotgan bo'lsa
GPIO.setmode (GPIO. BCM)
i uchun (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#Pi ichki rezistorlarini tortish uchun o'rnatadi
rost bo'lsa:
i uchun (0, 7):
butPressed = GPIO.input (pin )#tugma bosilganligini tekshiradi
if butPressed == False:#agar tugma bosilsa
previousTime = time.time ()
butPressed == False va recordBool == False:
lekin bosilgan = GPIO.input (pin )
if time.time () - previousTime> 1.0:#agar tugma bir soniyadan ko'proq bosilsa, recordBool rost
recordBool = To'g'ri
if recordBool == To'g'ri: #if recordBool rost bo'lsa, u ovozli signal chiqaradi va keyin yozib oladi
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 faylida maksimal 20 soniya davomida#CD sifati bilan#qayd qilinadi
butPressed == False:
lekin bosilgan = GPIO.input (pin )
os.system ("pkill -9 arecord")#tugma qo'yilganda yoki 20 soniyadan keyin yozuv to'xtatiladi
recordBool = noto'g'ri
boshqa: #if recordBool False bo'lsa, u i.wav tovushini o'ynaydi
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
uyqu (0.1)

GitHub ❤ bilan joylashtirilgan rawPlayback yozuvchisini ko'rish

6 -qadam: Har bir ishga tushirishda Python skriptini ishga tushiring

Python skriptini har bir Pi ishga tushganda ishga tushirish uchun /home/pi/.config/autostart/ papkasida playback.desktop nomli faylga quyidagi satrlar qo'yiladi.

Raspberry Pi ishga tushganda playback.py -ni ishga tushiradi

[Ish stoliga kirish]
Kodlash = UTF-8
Turi = Ilova
Ism = ijro
Sharh = Bu ijro uchun dastur
Exec = python /home/pi/playback.py
StartupNotify = noto'g'ri
Terminal = rost
Yashirin = noto'g'ri

GitHub ❤ bilan joylashtirilgan rawplayback.desktop -ni ko'rish

7 -qadam: Eslatmani tugating

Iltimos, sharhlar bo'limida ushbu loyiha haqida o'z fikringizni ayting, o'z tavsiyalaringizni menga ayting va agar sizga yoqsa, Raspberry Pi tanlovida menga ovoz bering.

Sizni o'qishni orziqib kutaman!

Tavsiya: