Mündəricat:
- Addım 1: Bir qutu yaradın …
- Addım 2: Düymələri bağlayın
- Addım 3: İsteğe bağlı: Rezistorları yuxarıya çəkin və aşağı çəkin
- Addım 4: Python Kodu
- Addım 5: Rapsi qurmaq
Video: Çox Gənclər üçün Juke Box Aka Raspi-Music-Box: 5 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:46
3 yaşlı uşağı üçün hazırladığı ROALDH musiqi pleyerini izah edən "Raspberry-Pi-based-RFID-Music-Robot" dan ilhamlanaraq, hətta kiçik uşaqlarım üçün də bir juke qutusu qurmağa qərar verdim. Əsasən 16 düyməli bir qutudur və içərisində hər hansı bir düyməyə basıldıqda əlavə stereo vasitəsilə mahnı oxuyan Raspi 2 var.
Nə lazımdır:
- Enerji təchizatı olan bir Raspberry Pi
- 16 düymə - basıldıqda müvəqqəti olaraq bağlanan növ (və ya istədiyiniz qədər çox düymə - məsləhətdir: giriş pinlərinizdən çox deyil …;)) Mən bu düyməni istifadə etdim: 0.50 avroya olan düymə)
- bir az nazik tel
- hər düymə üçün bir 10kOhm və 1kOhm müqavimət
- lövhə
- qadın başlığı (2x20 pin)
- qutu qurmaq üçün bir az nazik ağac (ön və arxa 5x400x400mm 2 təbəqə və tərəfləri kəsmək üçün 2000x50x5mm zolaq istifadə etdim)
- Qutunu bir araya gətirmək üçün 24 vida və bir az yapışqan
- rəngləndirmək üçün bir az boya
- Raspi -ni stereo və ya aktiv dinamiklərinizə qoşmaq üçün audio kabel
- alətlər: bir lehimləmə dəmiri, tel qayçı, ideal şəkildə tel soyucu, mişar, qazma, tornavida, boya fırçası …
- İsteğe bağlı: Musiqinin yaxşı səslənməsini istəyirsinizsə USB Səs Kartı
- isteğe bağlı: qutunu açmadan köhnə bir Raspi -yə qoşulmaq istəyirsinizsə wifi kartı
Diqqət yetirin ki, bu mənim ilk təlimatımdır və bu layihəni bir müddət əvvəl etmişəm … Yuxarıda göstərilən təlimatlandırmanın şərh bölməsində mahnıların VLC üsulu ilə oxudulmasını davam etdirdiyim müddətdə bunu edirəm (orada istifadə olunan mplayer) artıq bildiyim qədər dəstəklənmir). Bu təlimatların çox yaxşı olmadığını bilirəm, amma ümid edirəm ki, əməl etməyiniz mümkündür … əgər yoxsa, lütfən orijinal təlimata baxın və lütfən aşağıda şərh yazaraq harada ilişib qaldığınızı söyləyin … sonra təkmilləşdirməyə çalışacağam …
Addım 1: Bir qutu yaradın …
Beləliklə, etməniz lazım olan ilk şey bir qutu qurmaqdır … Hər bir düymənin altında bir etiket üçün bir az boşluq buraxdığım üçün özümü olduqca böyük etdim … Hər mahnı üçün bir neçə şəkil çap etməyi, onları laminatlaşdırmağı və altından mavi etiket yazmağı planlaşdırdım. düymələr … öyrənilən dərs: etiketləri çap edəndə uşaqlarınız bütün mahnıları yaxşı bilir və sizdən bəzi şeyləri dəyişdirməyinizi tələb edir … Beləliklə, növbəti dəfə daha kiçik bir qutu düzəldib düymələri bir -birinə yaxınlaşdırardım …
Beləliklə, qutuma qayıdıram … 400 x 400 x 5 mm ölçülü iki ədəd kontrplak və 2000 x 50 x 5 mm ölçülü şerit aldım … sonra ilk, ən vacib addım: qızımın seçimində ön paneli rəngləməsinə icazə verildi. rənglər:):) Rəsm çəkərkən uzun hissəsini 5 zolaqla kəsdim - iki 400 mm uzunluğunda, iki 390 mm uzunluğunda və sol tərəfi…;) bunları təzə boyanmış təbəqənin arxasına yapışdırdım … sonra 12 deşik qazdım kənardan və 12 vintlə vidaladım … Ardından digər təbəqəni diqqətlə hizaladım və bitirdikdən sonra qutunu bağlamaq üçün daha 12 vida üçün daha 12 deşik açdım. (Bilirəm ki, 12 vida bir az çox ola bilər, amma uşaqlar güclüdür …:))
Bir tərəfdə kabellərdən keçmək üçün ağacın bir hissəsini kəsmək üçün bir fayl istifadə etdim (işləri sürətləndirmək üçün dremel istifadə edə bilərsiniz). Daha sonra 16 düymənin deliklərini qazdım və quraşdırdım.
Addım 2: Düymələri bağlayın
Beləliklə, indi 16 düyməli bir qutunuz var … sonra bunları bağlamalısınız … Dirəklərindən birini papatya zənciri ilə yerə bağladım. İdeal olaraq bunu etmək üçün kiçik bağlayıcılarınız olacaq … Onları lehimlə işlətdim ki, bu da böyük bir kabus idi və heç bir düyməni çıxarmalı olsam daha çox problemə səbəb olacaq. Sonra digər dirəklərini qırmızı telə bağladım … Bunlar ortada uzandığını görə biləcəyiniz bağlayıcı lövhəyə lehim etdim …
Hansı düyməni hansı pinlə bağlayırsınız? Bu qaydada 1-16 düyməsi: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Zəhmət olmasa "tutma düyməsinə basma hadisələrini" də yoxlayın. bölmədə "sonra kodda.
(Xahiş edirəm yuvarlanan tellərin nə üçün olduğunu soruşmayın … xatırlaya bilmirəm)
Addım 3: İsteğe bağlı: Rezistorları yuxarıya çəkin və aşağı çəkin
Rezistorların nə qədər aşağı düşdüyündən əmin deyilsinizsə, İnternetdə çoxlu məlumat tapa bilərsiniz. Raspi -nin içərisində bəziləri var və ya burada etdiyim kimi xarici olanları da edə bilərsiniz. Həqiqətən ehtiyacınız olmadığını düşündüyüm üçün bu addım isteğe bağlıdır.
Bəs niyə bunu etdim? Bəzən mənzildə cihazları yandırıb söndürəndə musiqi çalmağa başladı. Əvvəlcə bunun elektromaqnit dalğaları və ya başqa bir şey aldığını düşündüm. Buna görə də yuxarı/aşağı müqavimətçiləri əlavə etdim … Bu vəziyyəti yaxşılaşdırmadığından əlavə olaraq bəzi kondansatörlər də əlavə etdim. Bu hələ də kömək etmədi … cəhd etmək istədiyim növbəti şey, qutunun içini alüminium folqa ilə örtmək idi. Evə köçdüyümüz zaman problem dayandığı üçün heç vaxt bunu sınamamışam … Bəs problem nə idi? Bilmirəm … elektrik xəttindəki dəyişikliklər ola bilərmi?
Nəticə: Əvvəlcə düymələri birbaşa bağlamağı məsləhət görürəm (daha sonra kodda hansı düymənin hansı pin üzərində işlədiyini görəcəksiniz) və yalnız bir probleminiz varsa bu addımı edin. Ümid edirəm bunu necə etdiyimi yuxarıdakı şəkillərdən görə bilərsiniz. Əsasən ortada başlıq qoymaq üçün bir çubuq var və sonra hər tərəfdən iki müqavimətçini və kabelləri düymələrdən bir cərgəyə bağladım.
Addım 4: Python Kodu
Buraya əlavə olaraq musiqi qutusunu idarə edən kodu (pythonda) tapa bilərsiniz. Bir neçə şərh əlavə etdim, inşallah öz -özlüyündədir. Hər halda burada qısa bir izahat. Dəyişənlər hissəsini yuxarıdan oxumağa başlamaq və sonra aşağıya doğru getmək yaxşıdır.
Aşağıda hər zaman işləyən bir döngə tapacaqsınız. Əvvəlcə müəyyən bir düymə ardıcıllığının basıldığını yoxlayır - bu mənim valideyn nəzarətindən istifadə etmə üsulum idi. Sonra musiqini ifa edən funksiyalar var.
Əsas döngənin üstündə bir neçə hadisə algısı tapa bilərsiniz - düymələrdən birinə basıldıqda bunlar icra olunur. Hər bir düymə bir identifikator keçən ButtonPress funksiyasını çağırır.
Bəs musiqini necə çaldırmaq olar? Sadə saxlamaq üçün hər düymə üçün bir qovluq yaratdım. Bu qovluqlara nə mp3 yükləsəniz də, funksiya çalma siyahısına əlavə edir.
Diqqət yetirin, fiziki çəkmə rezistorlarından istifadə etməmisinizsə, BCM nömrələnmiş bölməni buna dəyişdirməlisiniz:
# BCM nömrələmə istifadə edərək GPU.setmode (GPIO. BCM) GPIO.setup (04, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (17, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (27, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (22, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (05, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (06, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (13, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (19, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (26, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (18, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (24, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (12, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (16, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (20, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (21, GPIO. IN, pull_up_down = GPIO. PUD_UP)
Addım 5: Rapsi qurmaq
Əlbəttə ki, raspi qurmalısınız … Mən yalnız standart Noop quraşdırmasını istifadə etdim. Əminəm ki, bunu necə edəcəyinizə dair bir çox təlimat tapacaqsınız …
Python istifadə etmək üçün "sudo apt-get install python-dev" etməlisiniz.
Proqramım musiqini çalmaq üçün VLC -dən istifadə edir:
- Python bağlantısını buradan aldım (ümid edirəm bu hələ də aktualdır):
- Sonra "sudo python setup.py install" istifadə edərək quraşdırdım.
- Sonra VLC "sudo apt-get install vlc" quraşdırıldı
- Vlc.py və vlc.pyc fayllarını proqramınızla eyni qovluğa yapışdırın
- Ətraflı məlumat https://pypi.python.org/pypi/python-vlc/1.1.2 ünvanında
Qeydlərim python -dan GPIO Pins -ə daxil olmaq üçün aşağıdakıları da quraşdırmalı olduğunuzu söyləyir (lakin bu köhnəlmiş ola bilər):
- wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- ./ konfiqurasiya edin
- etmək
- sudo çek edin
- sudo qurun
Proqramınızı işə salmaq üçün "sudo python yourfilename.py" adlandırmalısınız.
Tövsiyə:
I2C: 9 Adım (Şəkillərlə) Bir çox Nixie Borularına Nəzarət Etmək üçün Çox Yönlü G/Ç Genişləndirici PCB
I2C ilə Bir çox Nixie Borularına Nəzarət Etmək üçün Çox Yönlü I/O Extender PCB: Hal -hazırda vintage nixie borularını canlandırmaq üçün çox maraq var. Bazarda çoxlu nixie borulu saat dəstləri mövcuddur. Köhnə rus nixie borular stokunda hətta canlı bir ticarət olduğu ortaya çıxdı. Həm də burada Instructables -da
Çox sürətli AC Motor İdarəçiliyi üçün IR Dekoderini necə proqramlaşdırmaq olar: 7 addım
Çox sürətli AC Motor İdarəçiliyi üçün IR Dekoderini necə proqramlaşdırmaq olar: Tək fazalı alternativ cərəyan mühərrikləri adətən fanatlar kimi məişət əşyalarında olur və müəyyən edilmiş sürətlər üçün bir sıra ayrı sarımlardan istifadə edərkən onların sürəti asanlıqla idarə olunur. Bu Təlimat kitabçasında bir rəqəmsal nəzarətçi qururuq ki
4 -dən çox mühərrikdən istifadə - Birdən çox mühərrikin yığılması: 3 addım
4 -dən çox mühərrikdən istifadə etmək - Birdən çox mühərrik qalaqlamaq: Təlim olunan Vibrotaktil Həssas Dəyişdirmə və Artırma Cihazı (https: //www.instructables.com/id/Vibrotactile-Sens …), həssaslığı tərcümə edən bir qurğunun necə qurulacağını göstərir. vibrasiya stimullarına giriş. Bu titrəmə stimulları p
CheapGeek- Daha çox və ya daha çox çirkin bir monitor etmək : 5 addım
CheapGeek- Daha çox və ya daha çox çirkin bir monitor düzəlt … (necə baxdığınızdan asılı olaraq) evdə PC işi üçün istifadə etdiyim ehtiyat monitorum var idi. Monitorun qara olması lazım idi. Üstəlik əlimdəki hər şey qara rəngdədir
Çox Sadə Yenə də Çox Etkili Prank (Kompüter Prank): 3 Addım
Çox Sadə … Hələ Çox Etibarlı Prank (Kompüter Prank): Bu Təlimat ÇOX sadədir, amma çox təsirlidir! Nə olacaq: Qurbanın masaüstündəki bütün nişanları gizlədirsən. Siz oyun qurduqdan sonra qurbanı kompüteri görəndə çıldıracaq. Bu kompüterə heç bir şəkildə zərər verə bilməz