Mündəricat:

Raspberry Pi ilə Çalma Yazıcısı: 7 Adım (Şəkillərlə)
Raspberry Pi ilə Çalma Yazıcısı: 7 Adım (Şəkillərlə)

Video: Raspberry Pi ilə Çalma Yazıcısı: 7 Adım (Şəkillərlə)

Video: Raspberry Pi ilə Çalma Yazıcısı: 7 Adım (Şəkillərlə)
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Noyabr
Anonim
Image
Image
Lazımi material
Lazımi material

Hər kəsə salam, Bu təlimatda Raspberry Pi -dən istifadə edərək bir səs yazma cihazı necə hazırladığımı izah edirəm. Cihaz, Raspberry Pi model B+-dır, üstündə 7 düymə, Pi -nin usb portlarından birinə qoşulmuş dinamik və digər usb portlarına qoşulmuş mikrofon var. Hər düymə bir səslə əlaqədardır, buna görə 7 fərqli səs çala bilər. Səslər düyməyə qısa basdıqdan sonra çalınır. Yeni bir səs yazmaq üçün düyməni 1 saniyədən çox basmaq, bipdən sonra qeyd etmək və qeydin sonunda olan düyməni buraxmaq kifayətdir. Bundan daha sadə bir şey yoxdur!

Addım 1: Lazım olan material

Lazımi material
Lazımi material
Lazımi material
Lazımi material

Bu layihə üçün mənə lazım idi:

  • Raspberry Pi modeli B + və micro SD kart - 29.95 $ + 9.95 $
  • Raspberry Pi plastik qutusu - 7,95 dollar
  • USB dinamiklər - 12.50 dollar
  • USB mikrofonu - 5,95 dollar
  • Yarım ölçülü perma-proto lövhə-4.50 dollar
  • 7 anlıq düymə - 2.50 dollar

Mənə də lazım idi:

  • Bir az elektrik naqili
  • Düz bucaqlı qadın başlıqları
  • Düymə qutusu üçün bir az ağac, qara boya və yapışqan
  • Bir lehimləmə dəmiri və lehim

Addım 2: Düymələr

Düymələr
Düymələr
Düymələr
Düymələr
Düymələr
Düymələr

İstifadə olunan düymələr olduqca hündürdür (6 mm) ki, korpus qalınlığından keçə bilsinlər.

7 düyməmi çörək taxtasına bənzər bir perma-proto lövhəyə qoydum, üstündəki komponentlər lehimli deyil. Bu, çörək taxtasından daha möhkəmdir və pcb çap etməkdən daha ucuzdur. Hər bir düymə, Raspberry Pi üzərindəki bir GPIO ilə əlaqələndirir. Burada artıq müqavimətçi yoxdur, çünki Pi artıq proqramda quraşdırılacaq daxili yuxarıya/aşağıya müqavimət göstərir. Bu vəziyyətdə onları çəkməyi təyin etdim (aşağıdakı proqrama baxın).

Düymələr hər 4 satırda və ya hər 0.4 düymdə yerləşdirilir.

Addım 3: Düymələr Davası

Düymələr Davası
Düymələr Davası
Düymələr Davası
Düymələr Davası
Düymələr Davası
Düymələr Davası

Düymələr üçün kontrplak təbəqələr və taxta kvadrat dübel ilə çox sadə bir iş düzəltdim. Dübelin ölçüsü düymə əsasını və lövhəni ehtiva edəcək qədər böyük olmalıdır, ancaq düymənin qutudan çıxmasına imkan verəcək qədər kiçik olmalıdır. 1/4 in x 1/4 dübel istifadə etdim.

Lövhənin çantaya uyğun olduğundan əmin olduqdan sonra, dübeller əsas təbəqəyə yapışdırılır. Daha sonra üst təbəqədə deliklər qazılır (lövhə hər 0.4 düymdə dəqiq işarələr qoymaq üçün istifadə edilə bilər). Bütün taxta hissələr boyanır, lövhə qutuya qoyulur və üst təbəqə üzərinə yapışdırılır.

Addım 4: Raspberry Pi

Moruq Pi
Moruq Pi
Moruq Pi
Moruq Pi
Moruq Pi
Moruq Pi

Gələcəkdə Pi -dən başqa bir şey üçün istifadə etmək istəsəm, telləri birbaşa Pi -yə lehimləmək istəmirdim. Buna görə telləri düz bucaqlı qadın başlıqlarına lehimlədim və başlıqları Pi-yə bağladım.

İstifadə olunan GPIO -lar 21, 26, 20, 19, 13, 6 və 5 -dir. Torpaq pimi də istifadə olunur.

Mikrofon və dinamik yalnız 4 usb portundan 2 -nə bağlıdır.

Pi, mikro usb çıxışı ilə təchiz edilmişdir

Addım 5: Proqramlaşdırma

Pi proqramlaşdırmaq üçün onu bir Ethernet kabelindən istifadə edərək İnternetə bağladım və VNC görüntüleyicisini istifadə edərək uzaq bir kompüterdən idarə etdim. Bununla birlikdə, Pi -yə ilk dəfə qoşulduqda bu qurğudan istifadə edə bilməzsiniz, çünki OS hələ quraşdırılmayıb və SSH deaktiv edilməyib. Beləliklə, ən azından ilk dəfə bir ekran, klaviatura və siçan bağlamalı olacaqsınız.

Doğru səs kartında səs yazmaq və çalmaq əmrlərini tapmaq olduqca çətin idi. Mənim üçün işləyən əmrlər bunlardır:

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

    0.wav oynayır

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

    0.wav faylında cd keyfiyyəti ilə maksimum 20 saniyə qeyd edir

Səs faylları standart qovluqda (/home/pi) yerləşir. Varsayılan qovluğa yerləşdirilən və beep.wav adlanan bip üçün bir səs faylı da lazımdır.

Python kodunun özü belədir:

Raspberry Pi çalma yazıcısı üçün python kodu

GPO olaraq RPi. GPIO idxal edin
idxal vaxtı
id id
#dəyişənlər:
butPressed = [Doğru, Doğru, Doğru, Doğru, Doğru, Doğru, Doğru] #if düyməsinə basıldıqdan sonra butPressed Yanlışdır
pin = [26, 19, 13, 6, 5, 21, 20] Hər düymənin #GPIO sancaqları
recordBool = False#Doğru bir qeyd davam edirsə
GPIO.setmode (GPIO. BCM)
i üçündür (0, 7):
GPIO.setup (pin , GPIO. IN, pull_up_down = GPIO. PUD_UP)#Pi-nin daxili rezistorlarını çəkmək üçün təyin edir
Doğru halda:
i üçündür (0, 7):
butPressed = GPIO.input (pin )#düymənin basıldığını yoxlayır
if butPressed == False:#bir düyməyə basıldıqda
previousTime = time.time ()
butPressed == Yanlış və recordBool == Yanlış:
butPressed = GPIO.input (pin )
if time.time () - previousTime> 1.0:#düyməsinə bir saniyədən çox basıldıqda, recordBool Doğrudur
recordBool = Doğru
if recordBool == Doğru: #if recordBool Doğrudursa, bip səsi səsləndirir və sonra qeyd edir
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 faylında cd keyfiyyəti ilə maksimum 20 saniyə ərzində#qeyd
butPressed == Yanlış:
butPressed = GPIO.input (pin )
os.system ("pkill -9 arecord")#düymə buraxıldıqda və ya 20 saniyədən sonra qeyd dayandırılır
recordBool = Yanlış
başqa: #if recordBool False olarsa, i.wav səsini çalır
os.system ("aplay -D plughw: CARD = Device_1, DEV = 0 %d.wav" %i)
vaxt.yuxu (0.1)

GitHub tərəfindən ❤ ilə ev sahibliyi edən rawPlayback qeyd cihazına baxın

Addım 6: Hər Başlanğıcda Python Scriptini işə salın

Hər Pi -nin başlanğıcında python skriptini işə salmaq üçün aşağıdakı sətirlər /home/pi/.config/autostart/ qovluğunda playback.desktop adlı bir fayla qoyulur.

Raspberry Pi -nin başlanğıcında playback.py ilə işləyir

[Masaüstü Girişi]
Kodlaşdırma = UTF-8
Növ = Tətbiq
Ad = Oynatma
Şərh = Bu bir oynatma tətbiqidir
Exec = python /home/pi/playback.py
StartupNotify = yanlış
Terminal = doğru
Gizli = yalan

GitHub tərəfindən ❤ ilə evlənən rawplayback.desktop -a baxın

Addım 7: Son Qeyd

Zəhmət olmasa şərh bölməsində bu layihə haqqında nə düşündüyünüzü söyləyin, tövsiyələrinizi mənə bildirin və bəyəndiyiniz halda Raspberry Pi yarışmasında mənə səs verin.

Sizi oxumağı səbirsizliklə gözləyirik!

Tövsiyə: