Mündəricat:
- Addım 1: Lazım olan material
- Addım 2: Düymələr
- Addım 3: Düymələr Davası
- Addım 4: Raspberry Pi
- Addım 5: Proqramlaşdırma
- Addım 6: Hər Başlanğıcda Python Scriptini işə salın
- Addım 7: Son Qeyd
Video: Raspberry Pi ilə Çalma Yazıcısı: 7 Adım (Şəkillərlə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
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
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
İ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 üçü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
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ə:
Külək Sürəti və Günəş Radiasiya Yazıcısı: 3 Adım (Şəkillərlə birlikdə)
Külək Sürəti və Günəş Radiasiya Yazıcısı: Bir külək turbini və/və ya günəş panelləri ilə nə qədər güc çıxarıla biləcəyini qiymətləndirmək üçün küləyin sürətini və günəş radiasiyasının gücünü (şüalanmanı) qeyd etməliyəm. Bir il ölçəcəyəm, təhlil edəcəyəm. məlumatları və sonra bir şəbəkə sistemi qurun
Öz casus səhvinizi edin (Arduino Səs Yazıcısı): 5 addım (şəkillərlə)
Öz casus səhvinizi yaradın (Arduino Səs Yazıcı): Bu layihədə sizə casus səhv olaraq sui -istifadə edilə bilən bir səs yazıcı yaratmaq üçün bir Arduino Pro Mini -ni bir neçə tamamlayıcı komponentlə necə birləşdirdiyimi göstərəcəyəm. Təxminən 9 saatlıq bir işləmə müddəti var, kiçik və çox asandır
Danışan Arduino - Modul olmadan Arduino ilə MP3 Çalma - PCM istifadə edərək Arduinodan Mp3 Faylının Çalınması: 6 Addım
Danışan Arduino | Modul olmadan Arduino ilə MP3 Çalma | PCM istifadə edərək Arduinodan Mp3 Faylının Çalınması: Bu təlimatlarda heç bir audio modul istifadə etmədən arduino ilə mp3 faylının necə çalınacağını öyrənəcəyik, burada Arduino üçün 8kHz tezlikli 16 bit PCM oynayan PCM kitabxanasından istifadə edəcəyik
Sadə Brayl Yazıçısı (Braille ilə Danışıq): 8 Addım (Şəkillərlə)
Sadə Braille Yazıçısı (Braille ilə Danışıq): Hamıya salam, bütün bunlar müvəffəqiyyətlə tamamladıqdan sonra sadə bir XY plotter etməklə başladı, braille mətn çeviricisinə sadə bir nitq hazırlamağı düşündüm. İnternetdə axtarmağa başladım və gözlənilmədən qiymətlər çox yüksək idi , bu məni gücləndirdi
Bir INKJET Yazıcısı ilə Çaplı Devre Kartları Yaratmaq: 8 Addım (Şəkillərlə)
Bir INKJET Printeri ilə Çaplı Devre Kartları Yaratmaq: İlk dəfə öz çap lövhələrimi necə aşındıracağımı araşdırmağa başladığımda tapdığım hər bir təlimat və dərslikdə bir lazer printer istifadə olunur və naxış üzərində bir növ dəmir edilir. Lazer printerim yoxdur, amma ucuz bir mürəkkəbim var