Mündəricat:

Çox Gənclər üçün Juke Box Aka Raspi-Music-Box: 5 Addım
Çox Gənclər üçün Juke Box Aka Raspi-Music-Box: 5 Addım

Video: Çox Gənclər üçün Juke Box Aka Raspi-Music-Box: 5 Addım

Video: Çox Gənclər üçün Juke Box Aka Raspi-Music-Box: 5 Addım
Video: TƏHLÜKƏLI QIZ DIANA VƏ DOSTLARINA HÜCUM ETDI | Hekayə necə bitəcək? 2024, Iyul
Anonim
Çox Gənclər üçün Juke Box… Aka Raspi-Music-Box
Çox Gənclər üçün Juke Box… Aka Raspi-Music-Box

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 …

Bir qutu qurun…
Bir qutu qurun…
Bir qutu qurun…
Bir qutu qurun…

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

Düymələri bağlayın
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

İsteğe bağlı: Rezistorları yuxarı çəkmək və aşağı çəkməklə lövhə hazırlamaq
İsteğe bağlı: Rezistorları yuxarı çəkmək və aşağı çəkməklə lövhə hazırlamaq
İsteğe bağlı: Rezistorları yuxarı çəkmək və aşağı çəkməklə lövhə hazırlamaq
İsteğe bağlı: Rezistorları yuxarı çəkmək və aşağı çəkməklə lövhə hazırlamaq

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ə: