İçindekiler:

Çok Gençler İçin Bir Juke Box Diğer adıyla Raspi-Müzik Kutusu: 5 Adım
Çok Gençler İçin Bir Juke Box Diğer adıyla Raspi-Müzik Kutusu: 5 Adım

Video: Çok Gençler İçin Bir Juke Box Diğer adıyla Raspi-Müzik Kutusu: 5 Adım

Video: Çok Gençler İçin Bir Juke Box Diğer adıyla Raspi-Müzik Kutusu: 5 Adım
Video: Pinoo ile Müzik Kutusu - Music Box with Pinoo 2024, Kasım
Anonim
Çok Gençler İçin Bir Juke Box… Aka Raspi-Music-Box
Çok Gençler İçin Bir Juke Box… Aka Raspi-Music-Box

ROALDH'nin 3 yaşındaki çocuğu için yaptığı bir müzik çaları anlatan eğitilebilir "Raspberry-Pi-tabanlı-RFID-Müzik-Robot"tan esinlenerek, daha da küçük çocuklarım için bir müzik kutusu yapmaya karar verdim. Temelde 16 düğmeli ve içinde herhangi bir düğmeye basıldığında bağlı stereo aracılığıyla şarkı çalan bir Raspi 2'li bir kutudur.

Neye ihtiyacın var:

  • Güç kaynağına sahip bir Raspberry Pi
  • 16 düğme - basıldığında geçici olarak kapatılan tür (veya ne kadar çok düğme isterseniz - tavsiye edin: giriş pinlerinizden daha fazla değil…;)) Bunu kullandım: 0,50 € için düğme
  • biraz ince tel
  • düğme başına bir 10kOhm ve bir 1kOhm direnç (Raspi'nin dahili yukarı/aşağı dirençlerine güvenmek istemiyorsanız, bunu atlayabilirsiniz)
  • şerit tahtası
  • dişi başlık (2x20 pin)
  • kutuyu oluşturmak için biraz ince ahşap (ön ve arka için 2 yaprak 5x400x400mm artı yanları kesmek için 2000x50x5mm şerit kullandım)
  • Kutuyu bir araya getirmek için 24 vida ve biraz tutkal
  • renkli yapmak için biraz boya
  • Raspi'yi stereo veya aktif hoparlörlerinize bağlamak için ses kablosu (diğer uçta ihtiyacınız olan her şeye jak)
  • aletler: bir havya, tel makası, ideal olarak tel sıyırıcı, testere, matkap, tornavida, boya fırçası…
  • isteğe bağlı: Müziğin kulağa hoş gelmesini istiyorsanız USB Ses Kartı
  • isteğe bağlı: kutuyu açmadan eski bir Raspi'ye bağlanmak isterseniz wifi kartı

Lütfen bunun benim ilk talimatım olduğunu ve bu projeyi uzun bir süre önce yaptığımı unutmayın… Yukarıda belirtilen talimatın yorum bölümünde şarkıları çalmanın VLC yolu hakkında sorulmaya devam ederken yapıyorum (orada kullanılan mplayer bildiğim kadarıyla artık desteklenmiyor). Bu talimatların çok iyi olmadığını biliyorum, ancak izlemenizin mümkün olduğunu umuyorum… değilse, lütfen orijinal talimata da bakın ve lütfen bana nerede takıldığınızı söyleyen yorumları bırakın… Daha sonra geliştirmeye çalışacağım…

Adım 1: Bir Kutu Oluşturun…

Bir Kutu Oluşturun…
Bir Kutu Oluşturun…
Bir Kutu Oluşturun…
Bir Kutu Oluşturun…

Yani yapmanız gereken ilk şey bir kutu inşa etmek… Benimkini oldukça büyük yaptım çünkü bir etiket için her düğmenin altında biraz boşluk bıraktım… Her şarkı için bazı resimler yazdırmayı, belki onları lamine etmeyi ve altına mavi etiketlemeyi planladım. düğmeler… öğrenilen ders: etiketleri yazdırdığınızda, çocuklarınız tüm şarkıları ezbere biliyor ve sizden bazılarını değiştirmenizi istiyor… O yüzden bir dahaki sefere daha küçük bir kutu yapıp düğmeleri birbirine yaklaştıracağım…

Kutuma geri dönelim… İki adet 400 x 400 x 5 mm kontrplak ve 2000 x 50 x 5 mm'lik bir şerit aldım… sonra ilk, en önemli adım: kızımın ön paneli istediği gibi boyamasına izin verildi. renkler…:) O boyarken uzun kısmı 5 şerit halinde kestim - iki adet 400 mm uzunluğunda, iki adet 390 mm uzunluğunda ve kalanlar…;) bunları yeni boyanmış levhanın arkasına yapıştırdım… sonra 12 delik açtım dışarıdan ve 12 vidayı vidaladım… Daha sonra diğer sayfayı dikkatlice arkaya hizaladım, işim bittiğinde kutuyu kapatmak için 12 vida için 12 delik daha açtım. (12 vidanın biraz abartılı olabileceğini biliyorum ama çocuklar güçlü…:))

Bir tarafta, kablolardan geçmek için bir parça tahta kesmek için bir dosya kullandım (işleri hızlandırmak için bir dremel kullanabilirsiniz). Daha sonra 16 düğme için de delikler açtım ve yerleştirdim.

Adım 2: Düğmeleri Bağlayın

Düğmeleri Bağlayın
Düğmeleri Bağlayın

Şimdi 16 düğmeli bir kutunuz var… sonra bunları bağlamanız gerekiyor… Kutuplarından birini papatya zinciri şeklinde toprağa bağladım. İdeal olarak, bunu yapmak için küçük konektörleriniz olacak… Onları lehimledim, bu büyük bir kabustu ve düğmelerden herhangi birini çıkarmak zorunda kalırsam daha da fazla soruna neden olacak. Sonra diğer kutuplarını da kırmızı kabloya bağladım… Bunları daha sonra ortada gördüğünüz bağlantı panosuna lehimledim…

Hangi tuşa hangi tuş? Düğme 1-16 şu sırayla: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Lütfen ayrıca "yakala düğmesine basın olaylarını da kontrol edin" bölüm" kodu daha sonra.

(Lütfen bana sarılmış tellerin ne için olduğunu sormayın… Hatırlayamıyorum)

Adım 3: Opsiyonel: Yukarı Çekme ve Aşağı Çekme Dirençli Bir Kart Yapımı

Opsiyonel: Yukarı Çekme ve Aşağı Çekme Dirençleri ile Kart Yapımı
Opsiyonel: Yukarı Çekme ve Aşağı Çekme Dirençleri ile Kart Yapımı
Opsiyonel: Yukarı Çekme ve Aşağı Çekme Dirençleri ile Kart Yapımı
Opsiyonel: Yukarı Çekme ve Aşağı Çekme Dirençleri ile Kart Yapımı

Yukarı çekme ve aşağı çekme dirençlerinin ne olduğundan emin değilseniz, çevrimiçi olarak birçok bilgiyi kolayca bulmalısınız. Raspi'nin bazı yerleşik olanları var veya burada yaptığım gibi harici olanları da yapabilirsiniz. Bu adım isteğe bağlıdır, çünkü buna gerçekten ihtiyacınız olduğunu düşünmüyorum.

Peki neden yaptım? Bazen dairedeki aletleri açıp kapattığımda müzik çalmaya başladı. Önce elektro manyetik dalgalar falan aldığını sandım. Bu yüzden pull-up/down dirençlerini ekledim… Bu durumu iyileştirmediği için bazı kapasitörler de ekledim. Bu yine de yardımcı olmadı… denemek istediğim bir sonraki şey kutunun içini koruyucu olarak alüminyum folyo ile kaplamaktı. Eve taşındığımızda sorun bittiği için bunu hiç denemedim… Peki sorun neydi? Bilmiyorum… güç hattındaki değişiklikler olabilir mi?

Sonuç: Öncelikle butonları direkt olarak bağlamanızı tavsiye ederim (kodda hangi butonun hangi pinde olduğunu daha sonra göreceksiniz) ve bu adımı sadece bazı problemleriniz varsa yapın. Umarım yukarıdaki resimlerden bunu nasıl yaptığımı görebilirsiniz. Temelde ortada başlığa koymak için bir çubuk var ve sonra her iki tarafa da iki rezistörü ve butonlardan gelen kabloları tek sıra halinde bağladım.

Adım 4: Python Kodu

Ekli olarak, müzik kutusunu yöneten kodu (python'da) bulacaksınız. Birkaç yorum ekledim, umarım açıklayıcı olmuştur. Her ihtimale karşı burada hızlı bir açıklama. En üstteki değişkenler bölümünü okumaya başlamak ve ardından sonuna kadar atlamak en iyisidir.

Altta her zaman çalışan bir döngü bulacaksınız. Önce belirli bir tuş dizisine basılıp basılmadığını kontrol eder - bu benim ebeveyn kontrolünü kullanma şeklimdi. Sonra müziği çalan işlevler var.

Ana döngünün üzerinde bazı olay algılamaları bulacaksınız - bunlar düğmelerden birine basıldığında yürütülür. Her düğme, bir tanımlayıcı ileterek ButtonPress işlevini çağırır.

Peki müzik çalmasını nasıl sağlarız? Basit tutmak için, her düğme için bir klasör oluşturdum. Bu klasörlere hangi mp3'leri koyarsanız koyun, işlev çalma listesine ekler.

Lütfen, fiziksel çekme dirençleri kullanmadıysanız, BCM numaralandırması olan bölümü şu şekilde değiştirmeniz gerekeceğini unutmayın:

# BCM numaralandırma kullanarak kurulumGPIO.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)

Adım 5: Rapsi'nizi Ayarlayın

Raspi'yi de kurmanız gerekecek tabii ki… Ben sadece standart Noop kurulumunu kullandım. Bunu nasıl yapacağınıza dair bir sürü talimat bulacağınızdan eminim…

Python'u kullanmak için "sudo apt-get install python-dev" yapmanız gerekir.

Programım müziği çalmak için VLC kullanıyor:

  • Python bağlantısını buradan aldım (umarım bu hala günceldir):
  • Sonra "sudo python setup.py install" kullanarak kurdum.
  • Ardından VLC "sudo apt-get install vlc" yüklendi
  • vlc.py ve vlc.pyc dosyalarını programınızla aynı dizine yapıştırın
  • pypi.python.org/pypi/python-vlc/1.1.2 adresinde daha fazla bilgi

Notlarım, python'dan GPIO Pinlerine erişmek için aşağıdakileri de yüklemeniz gerektiğini söylüyor (ancak bu güncel olmayabilir):

  • https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./yapılandır
  • Yapmak
  • sudo kontrol yap
  • sudo kurulum yap

Programınızı çalıştırmak için "sudo python dosyaadınız.py" yi çağırmanız gerekecek.

Önerilen: