Mundarija:

Yoshlar uchun Juk qutisi Aka Raspi-Music-Box: 5 qadam
Yoshlar uchun Juk qutisi Aka Raspi-Music-Box: 5 qadam

Video: Yoshlar uchun Juk qutisi Aka Raspi-Music-Box: 5 qadam

Video: Yoshlar uchun Juk qutisi Aka Raspi-Music-Box: 5 qadam
Video: Самаркандлик ам товба 2024, Dekabr
Anonim
Yoshlar uchun "Juke Box" … Aka Raspi-Music-Box
Yoshlar uchun "Juke Box" … Aka Raspi-Music-Box

3 yoshli bolasi uchun ROALDH musiqa pleyerini tasvirlaydigan "Raspberry-Pi-based RFID-Music-Robot" ko'rsatmasidan ilhomlanib, men hatto kichik bolalarim uchun ham jukka qutisi qurishga qaror qildim. Bu, asosan, 16 tugmachali quti va uning ichida Raspi 2 mavjud bo'lib, u tugmachalarning har biri bosilganda biriktirilgan stereo orqali qo'shiqlarni ijro etadi.

Sizga nima kerak:

  • Quvvat manbai bo'lgan Raspberry Pi
  • 16 tugma - bosilganda vaqtincha yopiladigan tugma (yoki siz xohlagan sonli tugmalar - maslahat: sizda kirish pinlari ko'p emas …;)) Men buni ishlatganman: tugma 0,50 evroga)
  • bir oz ingichka sim
  • bitta tugma uchun 10kOm va bitta 1kOhm qarshilik (agar siz Raspi-ning ichki tortish-tushirish rezistorlariga tayanishni xohlamasangiz, buni o'tkazib yuborishingiz mumkin)
  • striptiz taxtasi
  • ayol sarlavhasi (2x20 pinli)
  • qutini qurish uchun yupqa yog'och (old va orqa tomoni 5x400x400 mm bo'lgan 2 varaq va yon tomonlarini kesish uchun 2000x50x5 mm tasma ishlatilgan)
  • Qutini birlashtirish uchun 24 vint va ozgina elim
  • rang berish uchun bir oz bo'yoq
  • Raspi -ni stereo yoki faol dinamiklarga ulash uchun audio kabel
  • asboblar: lehimlantiruvchi temir, sim qaychi, ideal tarzda simni tozalash mashinasi, arra, burg'ulash, tornavida, bo'yash cho'tkasi …
  • ixtiyoriy: Agar musiqa yaxshi eshitilishini xohlasangiz, USB tovush kartasi
  • ixtiyoriy: agar siz eski Raspi -ga qutini ochmasdan ulanishni istasangiz, wifi -karta

E'tibor bering, bu mening birinchi ko'rsatmali darsim va men bu loyihani ancha oldin qilganman … men yuqorida aytilgan ko'rsatmalarni sharhlar bo'limida qo'shiqlarni VLC ijro etish uslubi haqida so'roq qilishda davom etyapman (u erda ishlatilgan mplayer) endi men bilganimdek qo'llab -quvvatlanmaydi). Men bilaman, bu ko'rsatmalar unchalik yaxshi emas, lekin umid qilamanki, siz buni bajarishingiz mumkin … agar bo'lmasa, iltimos, ko'rsatmalarni asl nusxasiga qarang va iltimos, quyida izoh qoldiring, qaerda qolib ketganingizni aytib bering … keyin yaxshilanishga harakat qilaman …

1 -qadam: qutini yarating …

Qutini yaratish …
Qutini yaratish …
Qutini yaratish …
Qutini yaratish …

Shunday qilib, siz qilishingiz kerak bo'lgan birinchi narsa - bu qutini yasash … men o'zimni juda katta qilib qo'ydim, chunki men har bir tugmachaning tagida bo'sh joy qoldirganman … har bir qo'shiq uchun rasmlar chop etishni, ularni laminatlashni va tagiga ko'k teg qo'yishni rejalashtirgandim. tugmalar … o'rganilgan dars: siz yorliqlarni chop etguningizcha, sizning bolalaringiz hamma qo'shiqlarni yaxshi bilishadi va sizdan ba'zi narsalarni o'zgartirishingizni talab qilishadi … Shunday qilib, keyingi safar men kichikroq quti yasab, tugmalarni bir -biriga yaqinroq qo'yardim …

Shunday qilib, qutimga qayting … Men 400 x 400 x 5 mm o'lchamdagi ikkita kontrplak va 2000 x 50 x 5 mm o'lchamdagi kontrplak sotib oldim, keyin birinchi, eng muhim qadam: qizim old panelni o'z xohishiga ko'ra bo'yashga ruxsat berildi. Ranglar …:) U rasm chizayotganda men uzunligini 5 chiziqqa kesib oldim - ikkita 400 mm uzunlikdagi, ikkita 390 mm uzunlikdagi va chap tomondan …;) men ularni yangi bo'yalgan varaqning orqa tomoniga yopishtirdim … keyin 12 teshik ochdim. Men tashqaridan 12 vintni burab qo'ydim … Men boshqa varaqni orqa tomonga ehtiyotkorlik bilan tekisladim, yana 12 teshikni burab, qutini yopish uchun tugmachani yopdim. (Bilaman, 12 ta vintni o'ta bosish mumkin, lekin bolalar kuchli …:))

Bir tomondan, men kabelni o'tishi uchun o'tinning bir qismini kesib tashlash uchun faylni ishlatardim (ishni tezlashtirish uchun siz dremeldan foydalanishingiz mumkin). Keyin men 16 tugma uchun teshik ochdim va o'rnatdim.

2 -qadam: tugmachalarni ulang

Tugmachalarni ulash
Tugmachalarni ulash

Shunday qilib, endi sizda 16 tugmachali quti bor … keyin siz ularni sim bilan ulashingiz kerak … Men ularning bir qutbini romashka zanjiri bilan erga uladim. Ideal holda, sizda ozgina ulagichlar bo'ladi … Men ularni lehimlab qo'ydim, bu katta dahshat edi va men tugmachalardan birortasini echib tashlashim kerak bo'lsa, yanada ko'proq muammolarni keltirib chiqaradi. Keyin men ularning har birining boshqa ustunlarini qizil simga bog'lab qo'ydim … Men ularni ulagichga lehimlab qo'ydim, siz ularni o'rtada ko'rasiz …

Qaysi tugmachaning qaysi piniga? Bu tartibda 1-16 tugmachalari: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Iltimos, "tutish tugmachasini bosish hodisalarini" ham tekshiring. "kodidagi keyinroq bo'lim.

(Iltimos, mendan o'ralgan simlar nima uchun kerakligini so'ramang … eslay olmayman)

3 -qadam: Majburiy emas: yuqoriga va pastga tushadigan rezistorlar yordamida taxta yasash

Majburiy emas: yuqoriga va pastga tushadigan rezistorlar yordamida taxta yasash
Majburiy emas: yuqoriga va pastga tushadigan rezistorlar yordamida taxta yasash
Majburiy emas: yuqoriga va pastga tushadigan rezistorlar yordamida taxta yasash
Majburiy emas: yuqoriga va pastga tushadigan rezistorlar yordamida taxta yasash

Agar siz rezistorlarni nima ko'tarish va tushirish kerakligiga ishonchingiz komil bo'lmasa, Internetda juda ko'p ma'lumotlarni topishingiz mumkin. Raspi -da bir nechta ichki o'rnatilgan yoki siz bu erda bo'lgani kabi tashqi narsalarni ham qilishingiz mumkin. Bu qadam ixtiyoriy, chunki sizga bu kerak emas deb o'ylayman.

Xo'sh, nega men buni qildim? Ba'zida kvartirada asboblarni yoqish/o'chirish paytida musiqa yangray boshladi. Men birinchi navbatda bu elektr magnit to'lqinlar yoki boshqa narsalarni olayotgan deb o'yladim. Men yuqoriga/pastga rezistorlarni qo'shdim … Bu vaziyatni yaxshilamagani uchun men qo'shimcha ravishda ba'zi kondansatörlarni qo'shdim. Bu hali ham yordam bermadi … men sinab ko'rmoqchi bo'lgan narsa - qutining ichki qismini alyumin folga bilan ekranlash. Biz uyga ko'chib kelganimizda muammo tugagach, men buni hech qachon tugatmaganman … Xo'sh, muammo nima edi? Bilmadim … bu elektr uzatish liniyasidagi o'zgarishlar bo'lishi mumkinmi?

Xulosa: Men sizga birinchi navbatda tugmachalarni to'g'ridan -to'g'ri ulashni maslahat beraman (kodda qaysi tugma qaysi tugmachani bosib o'tishini keyinroq ko'rasiz) va agar sizda ba'zi muammolar bo'lsa, bu qadamni bajaring. Umid qilamanki, buni qanday qilganimni yuqoridagi rasmlardan ko'rasiz. Asosan, o'rtada sarlavhani qo'yish uchun bar bor, keyin har tomondan men ikkita rezistorni va kabellarni tugmachalarning bir qatoriga uladim.

4 -qadam: Python kodi

Bu erda siz musiqa qutisini boshqaradigan kodni (pythonda) topasiz. Men bir nechta sharhlarni qo'shdim, shuning uchun umid qilamanki, bu o'z -o'zidan tushunarli. Faqat bu erda tez tushuntirish. O'zgaruvchilar bo'limini yuqoridan o'qishni boshlash va keyin oxirigacha o'tkazib yuborish yaxshiroqdir.

Pastki qismida siz doimo ishlaydigan loopni topasiz. U birinchi navbatda tugmalar ketma -ketligi bosilganligini tekshiradi - bu mening ota -ona nazoratidan foydalanish usuli edi. Keyin musiqani ijro etadigan funktsiyalar mavjud.

Asosiy tsikl ustida siz hodisalarni aniqlaydigan narsalarni topasiz - bu tugmalardan biri bosilsa bajariladi. Har bir tugma identifikator orqali ButtonPress funktsiyasini chaqiradi.

Xo'sh, qanday qilib uni musiqa chalishga majbur qilish kerak? Oddiy qilib aytganda, men har bir tugma uchun bitta papka yaratdim. Bu papkalarga qanday mp3 qo'shsangiz ham, funksiya ijro ro'yxatiga qo'shiladi.

E'tibor bering, agar siz jismoniy tortishish rezistorlaridan foydalanmagan bo'lsangiz, BCM raqamlangan bo'limni quyidagicha o'zgartirishingiz kerak bo'ladi.

BCM raqamlash yordamida # sozlashGPIO.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)

5 -qadam: Rapsi -ni sozlash

Albatta, siz raspi -ni o'rnatishingiz kerak bo'ladi … Men faqat standart Noop o'rnatishni qo'lladim. Ishonchim komilki, siz buni qanday qilish bo'yicha ko'plab ko'rsatmalarni topasiz …

Python-dan foydalanish uchun sizga "sudo apt-get install python-dev" kerak bo'ladi.

Mening dasturim musiqani ijro etish uchun VLC -dan foydalanadi:

  • Men bu erdan Python aloqasini oldim (umid qilamanki, bu hali ham dolzarb):
  • Keyin uni "sudo python setup.py install" yordamida o'rnatdim.
  • Keyin VLC "sudo apt-get install vlc" o'rnatildi
  • Vlc.py va vlc.pyc fayllarini dasturingiz bilan bir xil katalogga joylashtiring
  • Qo'shimcha ma'lumot https://pypi.python.org/pypi/python-vlc/1.1.2 da

Mening eslatmalarim GPIO pinlariga python -dan kirish uchun quyidagilarni o'rnatishingiz kerakligini aytadi (lekin bu eskirgan bo'lishi mumkin):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • CD bcm2835-1.xx
  • ./ sozlash
  • qilmoq
  • sudo tekshiring
  • sudo make install

Dasturni ishga tushirish uchun "sudo python yourfilename.py" deb nomlash kerak bo'ladi.

Tavsiya: