İçindekiler:

Raspberry Pi ile Oynatma Kaydedici: 7 Adım (Resimlerle)
Raspberry Pi ile Oynatma Kaydedici: 7 Adım (Resimlerle)

Video: Raspberry Pi ile Oynatma Kaydedici: 7 Adım (Resimlerle)

Video: Raspberry Pi ile Oynatma Kaydedici: 7 Adım (Resimlerle)
Video: Kesinlikle Telefonunuzda Olması Gereken 3 Uygulama 😱 2024, Kasım
Anonim
Image
Image
Gerekli Malzeme
Gerekli Malzeme

Herkese selam, Bu talimatta, Raspberry Pi kullanarak bir oynatma kaydediciyi nasıl yaptığımı açıklıyorum. Cihaz, üstte 7 basma düğmesi, Pi'nin usb bağlantı noktalarından birine bağlı bir hoparlör ve başka bir usb bağlantı noktasına bağlı bir mikrofon bulunan bir Raspberry Pi model B+'dır. Her düğme bir sesle ilişkilendirilir, böylece 7 farklı ses çalabilir. Sesler, düğmeye kısa bir basıştan sonra çalınır. Yeni bir ses kaydetmek için düğmeye 1 saniyeden fazla basmanız, bip sesinden sonra kaydetmeniz ve kaydın sonunda düğmeyi bırakmanız yeterlidir. Bundan daha basit olamaz!

Adım 1: Gerekli Malzeme

Gerekli Malzeme
Gerekli Malzeme
Gerekli Malzeme
Gerekli Malzeme

Bu proje için ihtiyacım vardı:

  • Raspberry Pi model B+ ve mikro SD kart - 29.95 $ + 9.95 $
  • Raspberry Pi plastik kasa - 7,95 $
  • USB hoparlörler - 12.50 $
  • USB mikrofon - 5,95 $
  • Yarım boyutlu bir perma-proto board - 4,50 $
  • 7 anlık buton - 2,50 $

Ayrıca ihtiyacım vardı:

  • Biraz elektrik teli
  • Sağ açılı dişi başlıklar
  • Düğme kasası için biraz ahşap, siyah boya ve yapıştırıcı
  • Bir havya ve lehim

2. Adım: Düğmeler

Tuşlar
Tuşlar
Tuşlar
Tuşlar
Tuşlar
Tuşlar

Kullanılan butonlar oldukça uzun (6mm) yani kasa kalınlığından geçebiliyorlar.

7 düğmemi, bileşenlerin lehimlenmesi dışında, devre tahtası gibi bir kalıcı protokol kartına yerleştirdim. Bu, bir devre tahtasından daha sağlamdır ve bir pcb yazdırmaktan daha ucuzdur. Her düğme, Raspberry Pi'deki bir GPIO'ya toprak bağlantısı sağlar. Pi'nin zaten programda ayarlanacak dahili yukarı/aşağı dirençleri olduğu için burada dirençlerim yok. Bu durumda onları yukarı çekmeye ayarladım (aşağıdaki programa bakın).

Düğmeler her 4 sırada bir veya her 0,4 inçte bir yerleştirilir.

3. Adım: Düğmeler Kılıfı

Düğmeler Kılıfı
Düğmeler Kılıfı
Düğmeler Kılıfı
Düğmeler Kılıfı
Düğmeler Kılıfı
Düğmeler Kılıfı

Düğmeler için kontrplak levhalar ve ahşap kare dübel ile çok basit bir kılıf yaptım. Dübel boyutu, düğme tabanını ve kartı içerecek kadar büyük, ancak düğmenin kasanın dışına çıkmasına izin verecek kadar küçük olmalıdır. 1/4 inç x 1/4 inç dübel kullandım.

Levhanın kasaya oturduğundan emin olduktan sonra dübeller taban sacına yapıştırılır. Delikler daha sonra üst tabakada delinir (tahta her 0,4 inçte bir tam olarak işaretler yapmak için kullanılabilir). Tüm ahşap parçalar boyanır, tahta kasaya yerleştirilir ve üstüne üst tabaka yapıştırılır.

4. Adım: Ahududu Pi

Ahududu Pi
Ahududu Pi
Ahududu Pi
Ahududu Pi
Ahududu Pi
Ahududu Pi

Gelecekte Pi'yi başka bir şey için kullanmak istersem, kabloları doğrudan Pi'ye lehimlemek istemedim. Bu nedenle kabloları dik açılı dişi başlıklara lehimledim ve başlıkları Pi'ye taktım.

Kullanılan GPIO'lar 21, 26, 20, 19, 13, 6 ve 5'tir. Topraklama pimi de kullanılır.

Mikrofon ve hoparlör, 4 usb bağlantı noktasından 2'sine basitçe takılır.

Pi, mikro-usb çıkışından güç alır

Adım 5: Programlama

Pi'yi programlamak için ethernet kablosu kullanarak internete bağladım ve VNC görüntüleyici kullanarak uzak bir bilgisayardan kontrol ettim. Ancak, bu kurulumu Pi'ye ilk bağlandığınızda kullanamazsınız, çünkü işletim sistemi henüz kurulmamıştır ve SSH etkin değildir. Yani en azından ilk seferde bir ekran, klavye ve fare bağlamanız gerekecek.

Doğru ses kartına ses kaydetme ve çalma komutlarını bulmak oldukça zordu. Bunlar benim için çalışan komutlar:

  • aplay -D plughw:CARD=Aygıt_1, DEV=0 0.wav

    0.wav oynatır

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

    0.wav dosyasına cd kalitesinde maksimum 20 saniye kayıt yapar

Ses dosyaları varsayılan dizinde (/home/pi) bulunur. Bip sesi için varsayılan dizine yerleştirilmiş ve beep.wav olarak adlandırılan bir ses dosyası da gereklidir.

Python kodunun kendisi şudur:

Raspberry Pi oynatma kaydedici için piton kodu

RPi. GPIO'yu GPIO olarak içe aktar
ithalat zamanı
işletim sistemini içe aktar
#değişkenler:
butPressed = [True, True, True, True, True, True, True]#if düğmesine basılırsa, butPressed False olur
pin = [26, 19, 13, 6, 5, 21, 20]#GPIO her bir düğmenin pinleri
recordBool = False#True bir kayıt devam ediyorsa
GPIO.setmode(GPIO. BCM)
i aralığında (0, 7):
GPIO.setup(pin, GPIO. IN, pull_up_down=GPIO. PUD_UP)#P'nin dahili dirençlerini yukarı çekmek için ayarlar
Doğru iken:
i aralığında (0, 7):
butPressed = GPIO.input(pin)#bir düğmeye basılıp basılmadığını kontrol eder
if butPressed == False:#eğer bir düğmeye basılırsa
öncekiZaman = zaman.zaman()
while butPressed == False ve recordBool == False:
butPressed = GPIO.input(pin)
if time.time() - öncekiTime > 1.0:#düğmeye bir saniyeden fazla basılırsa, recordBool True olur
recordBool = Doğru
eğer recordBool == True:#if recordBool True ise, bir bip sesi çalar ve ardından kayıt yapar
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)#records i.wav dosyasında maksimum 20 saniye, cd kalitesinde
while butPressed == Yanlış:
butPressed = GPIO.input(pin)
os.system("pkill -9 arecord")#düğme bırakıldığında veya 20 saniye sonra kayıt durdurulur
recordBool = Yanlış
else:#recordBool False ise, sesi çalar i.wav
os.system("aplay -D plughw:CARD=Device_1, DEV=0 %d.wav" %i)
zaman.uyku(0.1)

GitHub tarafından ❤ ile barındırılan rawPlayback kaydediciyi görüntüle

Adım 6: Python Komut Dosyasını Her Başlangıçta Çalıştırın

Her Pi'nin başlangıcında python betiğini çalıştırmak için, aşağıdaki satırlar /home/pi/.config/autostart/ klasöründeki play.desktop adlı bir dosyaya konur.

Raspberry Pi'nin başlangıcında play.py'yi çalıştırır

[Masaüstü Girişi]
Kodlama=UTF-8
Tip=Uygulama
Ad=Oynatma
Yorum=Bu bir oynatma uygulamasıdır
Yürütme= python /home/pi/playback.py
StartupNotify=yanlış
uç=doğru
Gizli=yanlış

GitHub tarafından ❤ ile barındırılan rawplayback.desktop'u görüntüle

7. Adım: Notu Bitir

Lütfen yorum bölümünde bu proje hakkında ne düşündüğünüzü söyleyin, önerilerinizi bildirin ve beğendiyseniz Raspberry Pi yarışmasında bana oy verin.

Seni okumak için sabırsızlanıyorum!

Önerilen: