Mündəricat:

A Raspberry Pi Powered Junk Drum Machine: 15 Addım (Şəkillərlə birlikdə)
A Raspberry Pi Powered Junk Drum Machine: 15 Addım (Şəkillərlə birlikdə)

Video: A Raspberry Pi Powered Junk Drum Machine: 15 Addım (Şəkillərlə birlikdə)

Video: A Raspberry Pi Powered Junk Drum Machine: 15 Addım (Şəkillərlə birlikdə)
Video: A drum synth using Pure Data on a Raspberry Pi 2024, Iyul
Anonim
Image
Image
Raspberry Pi ilə işləyən zibil qutusu
Raspberry Pi ilə işləyən zibil qutusu
Raspberry Pi ilə işləyən zibil qutusu
Raspberry Pi ilə işləyən zibil qutusu
Raspberry Pi ilə işləyən zibil qutusu
Raspberry Pi ilə işləyən zibil qutusu

Bu Təlimat sizə Raspberry Pi ilə işləyən robot nağara maşınının necə hazırlanacağını göstərəcək. Həqiqətən də əyləncəli, yaradıcı, interaktiv bir layihədir. Daxili işlərin necə aparılacağını sizə göstərəcəyəm, amma əsl davullar sizə tamamilə bənzərsiz bir şey etmək imkanı verəcək. Maşınım üçün bacardığım qədər tapdığım əşyaları istifadə etdim … qonşularımdan qurtarılan pianonun çəkicləri, çimərlikdə tapdığım bir balıq toru, boş bir çörək qabı, taxta qaşıqlar, boş bir pivə şüşəsi, pivə şüşəsi və digər şeylər arasında bir masa zəngi, ancaq təsəvvürünüzü çılğın etsin - evin ətrafındakılara baxın, vurulduqda səs -küy yaradan hər şeyə baxın və bu, həqiqətən də layihənizi özünüz edəcək. 2 seçiminiz var:

  • PiBeat adlandırdığım bir brauzer əsaslı addım ardıcıllığı - Bu çox əyləncəlidir və baraban maşınınızı Pi -dən və ya eyni şəbəkədəki hər hansı bir cihazdan (telefonunuz, planşetiniz və ya kompüteriniz) interaktiv olaraq idarə etməyə imkan verir. Daha sonra Pi -yə quraşdıracağıq, ancaq burada bir önizləmə görünə bilər və kod GitHub -da burada.
  • Bir nağara nümunəsi proqramlaşdırmaq üçün bir python skript. Bu, gitara və s.

Xərcləri aşağı salmağa çalışıram və bir sonrakı addımda gördüyünüz kimi heç bir bahalı mütəxəssis vasitəsinə ehtiyac yoxdur. Hər şeydə hər şeyin necə işlədiyini izah etməyə çalışdım, hətta Pi's, kodlaşdırma və elektronika dünyasına nisbətən yeni gəlsəniz və məhdud bir büdcəniz olsa da bunu böyük bir layihə halına gətirməyə çalışdım.

Yaxşı, işə başlayaq!

Addım 1: Alış -verişə gedin

Alış -verişə gedin
Alış -verişə gedin
Alış -verişə gedin
Alış -verişə gedin
Alış -verişə gedin
Alış -verişə gedin

Daxili mexanizmi qurmaq üçün sizə lazım olacaq:

  • SD-də quraşdırılmış 1 ədəd 40 Pin Raspberry Pi, elektrik kabeli və ona qoşulma qabiliyyəti (ModMyPi-dən əvvəlcədən lehimli başlığı olan bir Raspberry Pi Zero Wireless istifadə etdim)
  • 1x 5v 8 kanal rölesi
  • 1x dişi -dişi tullanan tellər paketi (10 tel lazımdır)
  • 2x 3 Amp Terminal zolaqları (Çörək taxtası və ya perforddan istifadə edə bilərsiniz, amma terminal şeritləri ucuzdur və kabellərin boşalmasının qarşısını alır və bunu edərkən lehimləmə dəmirinə sahib deyildim)
  • 1x 12v 10a enerji təchizatı
  • 8x 12v 2a solenoidlər
  • 8x 1N5401 Düzəldici diodlar
  • 50 sm 0,5 mm kabel (qırmızı, qara və əkiz nüvəli almaq üçün qənaətcil bir yol olduğu üçün nüvələri bir neçə nüvəli kabeldən ayırdım), istəsəniz 1 rəng istifadə edə bilərsiniz. Tikmək istədiyiniz evdən asılı olaraq daha böyük bir uzunluq almaq istəməyəcəksiniz.

Aşağıdakı vasitələrə də ehtiyacınız olacaq:

  • Tel kəsicilər
  • Tel çıxarıcılar
  • Kiçik düz başlı tornavida, təxminən 3 mm
  • Aldığınız terminal zolaqlarından asılı olaraq kiçik bir çapraz başlı tornavidaya da ehtiyacınız ola bilər

Baraban etmək üçün heç bir hissə və ya alət qoymadım və qoymaq istəmədiyiniz bir mənzili göstərmədim. Daha sonra necə düzəltdiyimi sizə göstərəcəyəm, ancaq əvvəllər dediyim kimi, bu hissəni təsəvvürünüzə qoyuram.

Addım 2: Pi -ni Relaya bağlayın

Pi -ni Relay -a bağlayın
Pi -ni Relay -a bağlayın
Pi -ni Relay -a bağlayın
Pi -ni Relay -a bağlayın
Pi -ni Röleyə bağlayın
Pi -ni Röleyə bağlayın
Pi -ni Röleyə bağlayın
Pi -ni Röleyə bağlayın

Pi üzərindəki sancaqlar tərəfindən verilən maksimum gərginlik 5v -dir. 5V solenoidlər ala bilərik və bunları birbaşa Pi -dən alırıq, lakin bu, nağara maşınımızın ehtiyaclarını ödəyə bilməz. Buna görə aşağı gərginlikli GPIO dövrəmizdən daha yüksək gərginlikli bir dövrəni (bizim vəziyyətimizdə 12v solenoidlərimiz olan 12v dövrəsi) açıb söndürməyə imkan verən bir röle istifadə edirik.

Röleyimizin 8 kanalı var, bu o deməkdir ki, müstəqil olaraq 8 -ə qədər solenoid aça və söndürə bilərik. Hər bir kanal 4 bağlayıcıdan ibarətdir; 3 -ü daha sonra görəcəyimiz yüksək gərginlik dövrəsi və 1 -ni Pi -ni bağlayacağımız aşağı gərginlik dövrəsindəki 'IN' pinli bir pin istifadə edir. Pi'nin GPIO pimi, müəyyən bir IN IN kanalına 5v göndərdikdə, röle müvafiq 12v dövrə açacaq.

Rölenin aşağı gərginlikli tərəfində, PI -nin torpağına qoşulmağımız lazım olan bir GND (torpaq) pin və Pi -dən 5v güc üçün VVC pin də var.

Pi söndürüldükdə, keçid kabellərindən istifadə edərək röleyi Pi -yə bağlamaq üçün diaqrama əməl edin. Eyni rəngli atlayıcılardan istifadə etməyinizə ehtiyac yoxdur, ancaq şəkilləri izləyərkən kömək edə bilər.

Addım 3: Biraz Səs Qoyaq

Image
Image
Dövrümüzün müsbət tərəfini yaradın
Dövrümüzün müsbət tərəfini yaradın

Hələ tam hüquqlu baraban maşınımız olmaya bilər, amma bu addımda röleyi tıklasaq da bir az səs çıxaracağıq. Baraban nümunələrini proqramlaşdırmaq üçün python skriptini təqdim edəcəyik, bu, indiyə qədər etdiklərimizi sınamağa imkan verəcəkdir.

Ssenarinin burada bir mahiyyəti var.

Pi -ni yükləyin, Pi -də bir terminal açın və çalıştıraraq skript yükləyin:

wget

Nə etdiyini başa düşmək üçün kodu və şərhləri nəzərdən keçirmək istəyə bilərsiniz, ancaq bir az zövq alsın və işləsin:

python3 array-sequencer.py

Hər şey plana uyğun gedirsə, rölin açılmasında və bağlanmasında kontaktları və müvafiq kanaldakı işığı yandırmalısınız. Nə olduğunu başa düşmək üçün skriptdəki ardıcıllıq dəyişəninə nəzər salın - bütün kanallar birlikdə tetiklenecek, sonra hər biri fərdi olaraq tetiklenecek. Ctrl + C düymələrini basaraq skriptdən çıxana qədər işləməyə davam edəcək.

İşə başlamazdan əvvəl, hər hansı bir təsadüfi qısa qapanma halında, telləri bağlayarkən Pi -ni yenidən söndürmək yaxşı bir fikirdir.

Addım 4: Dövrümüzün müsbət tərəfini yaradın

Dövrümüzün müsbət tərəfini yaradın
Dövrümüzün müsbət tərəfini yaradın
Dövrümüzün müsbət tərəfini yaradın
Dövrümüzün müsbət tərəfini yaradın

Bir enerji təchizatı ilə 8 solenoidi gücləndirmək üçün paralel bir dövrə yaradacağıq. Tamamlanmış 12v dövrəsinin bir diaqramını görə bilərsiniz, ancaq addım -addım keçəcəyik.

Bir çörək taxtası və ya bir taxta istifadə edə bilərsiniz, amma ucuz olduğu üçün telləri seçdim, telləri möhkəm tutun və bunu edərkən bir lehimləmə dəmiri də yox idi.

Effektiv olaraq, bütün solenoidləri və hər bir solenoid üçün bir diodu (daha sonra diodlar haqqında) enerji təchizatımızın 1 müsbət telinə bağlamalıyıq.

Kəsiclərdən istifadə edərək, iki bloku bir -birinə bağlayan plastik biti kəsərək 8 cütdən ibarət bir bloka sahib olmaq üçün terminal zolağını kəsin. Heç bir metal kəsməmək üçün diqqətli olun.

İndi zolağın bir tərəfindəki bütün terminalları birləşdirməliyik. Təxminən 35 mm uzunluğunda 7 ədəd qırmızı tel kəsmək üçün kəsiciləri istifadə edin, sonra telin hər bir ucundan təxminən 5 mm izolyasiyanı çıxarın.

İndi telləri vida istifadə edərək telləri yerində tutaraq şeridin bir tərəfi boyunca bütün terminalları bir -birinə bağlayın. İlk və son vida yalnız 1 teldən, qalanları isə 2 teldən ibarət olacaq.

Addım 5: Solenoidləri və Diodları əlavə edin

Solenoidləri və diodları əlavə edin
Solenoidləri və diodları əlavə edin
Solenoidləri və diodları əlavə edin
Solenoidləri və diodları əlavə edin

Solenoidlər elektromaqnit olduğu üçün dövrəinizi geri dönmədən qorumaq üçün diodlar tövsiyə olunur (bu barədə burada ətraflı oxuya bilərsiniz). Buna görə röleyimizi qorumaq üçün hər bir solenoidə öz diodunu verəcəyik.

Əvvəlki addımda bağladığınız terminal zolağının əks tərəfində ilk çuxurdan başlayın. Solenoiddən 1 tel daxil edin, sonra diodun bir ucunu eyni çuxura daxil edin. Diodlar yalnız bir tərəfə cərəyan axmasına imkan verdiyindən, dioddakı gümüş zolağın terminal zolağına doğru olduğundan əmin olun. Vidaları yerində tutmaq üçün sıxın. Qalan 7 deşik üçün proseduru təkrarlayın.

Aldığım solenoidlərdən biri qüsurlu idi, buna görə şəkil çəkərkən onu mavi telləri olan daha aşağı bir amp modelinə dəyişdim.

Addım 6: Mənfi Terminal Zolağını Solenoid və Diodlara bağlayın

Mənfi Terminal Zolağını Solenoid və Diodlara bağlayın
Mənfi Terminal Zolağını Solenoid və Diodlara bağlayın

Müsbət tərəfi etdiyimiz kimi, 1 terminal zolağı alın və 8 cütdən ibarət başqa bir zolağa sahib olun. Diodları və solenoidləri bu terminal zolağına vidalayın ki, artı terminal şeridini əks etdirsin.

Addım 7: Röleyi birləşdirən tellər yaradın

Röle Bağlayıcı Tellər yaradın
Röle Bağlayıcı Tellər yaradın
Röle Bağlayıcı Tellər yaradın
Röle Bağlayıcı Tellər yaradın

Röleyi bağlamağa az qala hazırıq, amma əvvəlcə onu birləşdirəcək bir şeyə ehtiyacımız var. Təxminən 70 mm uzunluğunda 8 ədəd qara tel kəsin, sonra hər ucundan təxminən 5 mm kənara çəkin. Hər bir teli mənfi terminal zolağında qalan 8 bağlayıcıya bağlayın.

Addım 8: Rölin Ümumi Bağlayıcılarını Bağlayın

Rölin Ümumi Bağlayıcılarını Bağlayın
Rölin Ümumi Bağlayıcılarını Bağlayın
Rölin Ümumi Bağlayıcılarını Bağlayın
Rölin Ümumi Bağlayıcılarını Bağlayın

Atlayıcıların Pi ilə əlaqəli tərəfini sizdən uzaq tutan röleyə baxın. Hər bir kanalın 3 əlaqəsi var, soldan sağa normal olaraq açıq (NO), ümumi (COM) və normal olaraq bağlanmış (NC) adlanır. Sol pinlərimizin IN pinlərində yüksək gərginlik olduqda açılmasını istəyirik, buna görə də normal olaraq açıq olan kontaktdan istifadə edəcəyik. Normal olaraq qapalı kontaktdan istifadə etsəydik, bunun əksi baş verərdi - IN pinində yüksək gərginlik göndərilənə qədər solenoid aktiv olardı. Dövrəni tamamlamaq üçün ümumi təmasdan da istifadə edəcəyik.

Bu paralel bir dövrə olduğundan, röledeki bütün ümumi kontaktları zəncirlə bağlayacağıq. Təxminən 60 mm uzunluğunda 7 ədəd qara tel kəsin və hər ucundan 5 mm kənara çəkin. Bütün COM kontaktlarını (hər 3 dəstin ortasını) birləşdirən röle boyunca işləyin. Birinci və sonun yalnız bir teli, qalanlarının isə 2 tel olacaq.

Addım 9: Röleyi dövrəmizin qalan hissəsinə bağlayın

Röleyi dövrəmizin qalan hissəsinə bağlayın
Röleyi dövrəmizin qalan hissəsinə bağlayın

İndi röleyi dövrəmizin qalan hissəsinə bağlamaq vaxtıdır. Mənfi terminal şeridinin bir ucundan qara telin bərkidilməmiş ucunu götürün və rölin normal açılan (NO) kontaktlarının ya birinci və ya sonuna bağlayın. Bunu hər bir teli bir sonrakı NO kontaktına bağlayan 7 digər tel parçası üçün təkrarlayın.

Addım 10: 12V Güc Təchizatını qoşun

12V Güc Təchizatını qoşun
12V Güc Təchizatını qoşun

Birincisi, hər hansı bir zərbənin qarşısını almaq üçün elektrik təchizatının söndürüldüyünə və elektrik şəbəkəsindən ayrıldığına əmin olun.

Güc qaynağım eBay -dən istifadə edildi, onsuz da 12v kişi fişi çıxarıldı. Sizinki hələ də fiş olduğunu güman edərək, uyğun gələn qadın DC konnektorunu satın ala bilərsiniz və ya fişi kəsib mənimki kimi 2 teldən geri çəkə bilərsiniz. Hər halda, qırmızı (müsbət) və yəqin ki, ağ (mənfi) olmaqla 2 tellə başa çatmalısınız. Güc mənbəyinin pozitiv telini pozitiv terminal blokundakı ilk kontağa, mənfi isə röledəki ilk ümumi kontağa bağlayın. Bunu asanlaşdırmaq üçün, təxminən 150 mm qırmızı və qara teldən istifadə etdim, ucları bağlantılar arasına keçdi və terminal şeridi ilə bağlandı.

Addım 11: Yandırın

Image
Image

Enerji təchizatı hələ də söndürüldükdə, bütün bağlantılarınızı tez bir zamanda yoxlayın. Xoşbəxt olduqdan sonra Pi -ni yenidən yükləyin. 3 -cü addımdakı skripti yenidən işə salın:

python3 array-sequencer.py

Solenoidləriniz hələ hərəkət etməyəcək, ancaq 3 -cü addımda olduğu kimi rölin səsini eşitməli və işıqlandırmalısınız. Skriptə son verin (Ctrl + C) və indi gözlədiyiniz andır - gücü açın təchiz! Ssenarini yenidən işlədin, bütün rəqs edən solenoidləriniz artıq canlanmalıdır. Yaxşı iş!

Bəxtim gətirmədi - videoda gördüyünüz kimi başqa bir solenoidim işləmirdi, amma əvvəllər bir bərkidici boltu sıxaraq çox zədələdiyim üçün bu mənim günahım idi.

Addım 12: Array-sequencer.py redaktəsi

Drum Sequencer quraşdırın
Drum Sequencer quraşdırın

Array-sequencer.py ilə oynamaq üçün bir az vaxt ayırın. Ssenaridə dəyişiklik etmək üçün sevdiyiniz redaktoru (nano, geany və s.) İstifadə edin. Aşağıdakıları etməyə çalışın və təsirini görmək üçün hər dəyişiklikdən sonra skripti yenidən işə salın:

  • Bpm dəyişənini 120 -dən başqa bir rəqəmə dəyişin, tempi artırmaq üçün 200 deyin.
  • Ardıcıllıq dəyişənində daha çox nağara çalmaq üçün bəzi 0 -ları 1 -ə dəyişin.
  • Döngəyə daha çox vuruş əlavə etmək üçün ardıcıllıq dəyişənində bağlanan kvadrat mötərizədən əvvəl son 3 sətri təkrarlayın

Addım 13: Tambur Sıralayıcı qurun

Drum Sequencer quraşdırın
Drum Sequencer quraşdırın

İndi işlər həqiqətən əyləncəli olanda, sıralayıcıyı Pi -yə quraşdıracağıq. Bu, Python -un GPIO pinlərini veb prizləri üzərində işə salmasına imkan verən bir veb interfeysi verəcəkdir.

Mənbə kodu burada Github -da mövcuddur, amma güman edirik ki, Təlimatçının tellərini izlədiniz, əvvəlcədən tərtib edilmiş versiyanı yükləyə və işə sala bilərik. Pi -də bir terminal açın və aşağıdakıları işlədin

# Layihəmiz üçün bir kataloq yaradın və gedin

mkdir pibeat cd pibeat # wget mənbə kodunu yükləyin https://pibeat.banjowise.com/release/pibeat.tar.gz # Faylları çıxarın tar -zxf pibeat.tar.gz # Python tələblərini quraşdırın pip3 install -r tələbləri. txt # Python3 server.py veb serverini işə salın

Çıxışda, hər şey uğurlu olarsa, aşağıdakı çıxışı görməlisiniz:

======== Çalışır https://0.0.0.0:8080 ========

(Çıxmaq üçün CTRL+C düymələrini basın)

Pi -nin IP ünvanını tapın. Bir veb brauzeri açın, sonra IP ünvanını daxil edin: 8080/index.html (bu tətbiqin dinlədiyi liman və sonra fayl adıdır) ünvan çubuğuna. Məsələn, Pi -nin IP ünvanı 192.168.1.3 -dirsə, ünvan çubuğuna 192.168.1.3:8080/index.html daxil edin. Baraban ardıcıllığı görünəcək.

Çal düyməsini vurun və baraban maşınınız çalmağa başlamalıdır. Ürəyiniz doyana qədər sıralayıcı ilə oynayın.

Pi -yə bir şəbəkə marşrutu olduğu müddətdə, istənilən cihazdan Pi -nin veb interfeysinə daxil ola bilərsiniz - mobil və ya planşetinizdən sınayın.

Addım 14: Davullarınızı və mənzilinizi qurun

Zərb alətlərinizi və mənzilinizi tikin
Zərb alətlərinizi və mənzilinizi tikin
Zərb alətlərinizi və mənzilinizi tikin
Zərb alətlərinizi və mənzilinizi tikin
Zərb alətlərinizi və mənzilinizi tikin
Zərb alətlərinizi və mənzilinizi tikin

Elektron spagetti yığınınızı əsl nağara maşınına çevirə biləcəyiniz yer budur. Daha əvvəl də dediyim kimi, burada nə etmək sizə bağlıdır. Vurulduqda səs -küy yaradan və layihənizi həqiqətən özünəməxsus bir şeyə çevirə biləcəyiniz hər şey haqqında.

Pivə şüşəsi, banka, çalkalayıcı, şüşə üstləri və qaşıqlar verən baraban üçün fikirlər üçün evimin ətrafında yaxşı bir fikir gəzdirdim. Sahildə balıq ovu şəbəkəsi tapıldı və eBay -dən stol zəngi və timsah kastaneti gəldi. Bir atlamada parçalanmış bir piano tapdım, bu, şüşə və qab üçün çəkicləri, zəngi yerində tutmaq üçün taxta dowling və qaşıqları döndərmək üçün metal çubuqları təmin etdi.

Hər nağara müstəqil bir komponent etdim, buna görə də biri qırılırsa və ya bundan məmnun deyiləmsə, çox narahatlıq etmədən başqası ilə söndürə bilərəm.

Solenoidlər M3 bolt tələb edən bolt delikləri ilə gəlir. Ağacın içərisindəki delikləri qazmaq bir az çətin idi, çünki düzgün yerləşdirilməsini əldə etməlisiniz, ancaq solenoidin yerində tutulduğunu, sonra qazma işlərindən əvvəl deşikləri bradawl ilə işarələdiyinizi gördük.

Əsasən yapışqan və ya vintlər ilə tutulan bir neçə parça hurda ağac boyunca olan barabanlar üçün 6 mm MDF (yerli DIY mağazamdan kəsmə) istifadə etdim.

Kavanoz və pivə şüşəsindəki çəkiclər, ehtimal ki, lazımsızdır, çünki solenoiddən düz bir vuruş əldə edə bilərsiniz, amma görmə qabiliyyətli etmək üçün maşında mümkün qədər çox hərəkət etmək istədim.

Mənzil

Korpus, 3,6 mm kontrplak, 18 mm MDF və bəzi taxta ağacdan hazırlanmış sadə bir kobud və hazır qutudur. Qutunun önü üçün nazik kontrplak istədim ki, bir qaşıqla vuranda rezonans yaransın, amma ağac seçimləri əsasən əvvəlcədən tökdüklərimdən və yerli DIY mağazamdakı ağac qırıntılarından qaynaqlanırdı. Qutunun altındakı elektronikanı saxlamaq üçün bir platforma və barabanları tutmaq üçün başqa bir platforma düzəltdim. Qutunu düzəltmək üçün:

1. Uçları etmək üçün 2 bərabər ölçüdə MDF kəsin2. Qutunun istədiyiniz genişliyindən 50 mm daha qısa 4 ədəd zolaq ağacını kəsdim (34mm x 12mm istifadə etdim). Zolaq ağacını qutunun formasını yaratmaq üçün 2 MDF ucuna dırnaqlayın. Zolaq ağacını qutunun yuxarı və aşağı hissəsindən təxminən 1 sm aralı qoyun. Qutunun genişliyinə və hündürlüyünə uyğun olaraq 2 ədəd kontrplak kəsin. MDF və zolaq ağacına mismar vuraraq bunları qutunun ön və arxasına yapışdırın.5. Qutunun içərisinə uyğunlaşmaq üçün bir ədəd kontrplak kəsin və elektronikanı saxlamaq üçün ağacın alt hissələrinə qoyun. Qutunun uzunluğunun təxminən yarısını özüm hazırladım.6. Tamburları bağlamaq üçün başqa bir kontrplak parçası kəsin. Bu zolaq ağacının üst hissələrində oturur.7. Elektrik kabellərini keçmək üçün alt platformanın yaxınlığında bir çuxur kəsin.

Rəsm

Rəsm çəkmək üçün Akrilik Astar Astarından sonra Crown Matt test qablarından istifadə etdim. Sınaq qabları müxtəlif rəngləri ucuz qiymətə əldə etmək üçün yaxşı bir yoldur.

Addım 15: Geri oturun və əylənin

Və orada, olduqca sərin bir nağara maşını var. Youtube videosundakı ardıcıllığın mahiyyətini burada tapa bilərsiniz.

Davam etsəniz və öz əllərinizlə paylaşsanız, zəhmət olmasa paylaşın, nə düşündüyünüzü görmək istərdim. Əylənin!

Tövsiyə: