Mündəricat:

Prima - Piano çalan bir robot: 13 addım
Prima - Piano çalan bir robot: 13 addım

Video: Prima - Piano çalan bir robot: 13 addım

Video: Prima - Piano çalan bir robot: 13 addım
Video: aşırı sonsuz merdiven videosu #shorts 2024, Iyul
Anonim
Prima - Piano Çalan Robot
Prima - Piano Çalan Robot

Robotun alətdə çalması fikri həmişə məni valeh edirdi və həmişə özüm qurmaq istəyirdim. Ancaq heç vaxt musiqi və musiqi alətləri haqqında çox məlumatım yox idi, buna görə də əslində bundan necə başlayacağımı anlaya bilmədim. Son vaxtlara qədər musiqi hazırlamaqla maraqlandım, musiqi istehsalını öyrənməyə başladım və bir MIDI klaviatura əldə etdikdən sonra başa düşdüm ki, bu çalmaq üçün çətin bir alət deyil və əslində onu oynaya biləcək bir robot qura bilərəm. Beləliklə, Prima istehsalı belə başladı.

Bu layihənin uğurundan əmin deyildim, buna görə də sənədləşdirməkdə çətinlik çəkmədim. Ancaq əla işlədiyi ortaya çıxdığı üçün detalları Instructables icması ilə bölüşmək qərarına gəldim. Bu, addım-addım qurma jurnalı olmayacaq, daha çox başlamaq üçün bir təlimatdır. Bu robotun hər bir hissəsinin necə işlədiyini, şəkillərini və Arduino kodunu paylaşacağam. Bu layihəni təkrarlamaq istəsəniz kifayət edər.

Dizayn bu təlimatlardan ilhamlandı, JimRD -ə bağırın!

Beləliklə, başlayaq

Addım 1: Bütün Layihəyə Baxış

Prima, klaviatura/fortepiano və ya oxşar düymələrə əsaslanan bir alət çala bilən bir robotdur. Beyin olaraq Arduino Uno, vizual çıxış üçün bir LCD ekran və toxunmadan başlanğıc üçün ultrasəs sensoru var. 5 volt 2 amper verən hər hansı bir güc adapteri onu gücləndirə bilər.

Aşağıdakı xüsusiyyətlərə malikdir -

  • Programlanabilir - Oktavada məhdud olan hər hansı bir kompozisiyanı çalmaq üçün proqramlaşdırıla bilər.
  • Ayarlanabilir Tempo - Aləti çalarkən izləyəcək tempi kodda təyin edilə bilər.
  • Toxunulmaz başlanğıc - İstifadəçi əlini sensora sürtməklə oyunu tetikleyebilir, bu da istifadəçinin başqa bir alətlə məşğul olması və Primanın müəyyən bir vaxtdan sonra onunla birlikdə oynamasını istədiyi təqdirdə çox faydalı olacaq. Bir robot oyunçu ilə sıxışan insan oyunçusu - hətta bu xüsusiyyətin köməyi ilə də buna nail olmaq olar.

Addım 2: Video

Image
Image

Videoda klaviatura oynayaraq izləyə bilərsiniz.

Addım 3: 3D Modelinin Hazırlanması

3D modelin hazırlanması
3D modelin hazırlanması
3D modelin hazırlanması
3D modelin hazırlanması

Nə edə biləcəyini başa vurduqdan sonra, bədənimi TinkerCAD -da hazırladım ki, nə etdiyimi dəqiq başa düşərək onu qurmağa başlayım.

Bu yanaşma, tam olaraq dizayn edildiyi kimi işləyən səliqəli bir robotla sona çatmağımda mənə çox kömək etdi. Orijinal dizaynı qurarkən bir az dəyişiklik etməli olsam da, yenə də 3D model mənə çox vaxt və səy sərf etdi. Burada 3D modelini daha ətraflı görə bilərsiniz.

Addım 4: Parçalar və Alətlər

Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər
Parçalar və Alətlər

Elektron hissə üçün sizə lazım olacaq -

  • Arduino Uno (Miqdarı - 1)
  • 16x2 LCD Ekran (Miqdarı - 1)
  • LCD Ekran üçün I2C Adapteri (Miqdarı - 1)
  • TowerPro SG90 Mikro Servo (Miqdarı - 2)
  • HC -SR04 Ultrasonik Sensor (Miqdarı - 1)
  • Düyməni dəyişdirin (Miqdarı - 1)
  • Buzzer (Miqdarı - 1)
  • Vero board/ Dot Board/ Perf Board
  • Kişidən kişiyə və kişidən dişi tullanan telləri

Bədəni düzəltmək üçün -

  • 5 mm PVC təbəqə
  • Dövr danışdı (Miqdarı - 2)
  • Vintlər
  • Qələm doldurma borusu
  • Sprey boyası (boyamaq istəyirsinizsə)

Lazım olan vasitələr -

  • Super yapışqan
  • İsti Yapışqan Tabancası
  • Lehimleme dəmir
  • Kəsmə əleyhinə (A. K. A Kağız kəsici)

Addım 5: Dövrə

Dövrə
Dövrə
Dövrə
Dövrə
Dövrə
Dövrə

Dövrə hissəsi olduqca asan idi. Hər seqmentini necə etdiyimi izah edirəm -

LCD Segmenti - Arduino I2C üzərindən onunla əlaqə qura bilməsi üçün LCD üçün I2C adapterindən istifadə etdim, lakin bu dövrəni asanlaşdırdı və tellərin sayını azaltdı. Kodu bir qədər dəyişdirərək standart bir LCD istifadə edə bilərsiniz.

Güc seqmenti - keçid açarı, səs siqnalı, LED (bundan sonra istifadə etməmək qərarına gəldim) və 5V ümumi güc avtobusundan ibarət olan veroboardda sadə bir dövrə düzəltdim. Güc avtobusu, servoların 5V və torpaq pinləri, sonar sensoru, LCD və Arduino sırasıyla bir -birinə bağlıdır. İtmə açarının bir pimi 5V+ xəttinə, digər pin isə enerji təchizatının VCC pininə bağlıdır. Topraklama xətti birbaşa enerji təchizatı şnuruna bağlanır. Beləliklə, açar istifadə edərək Prima açıla/söndürülə bilər. Siqnal və LED paralel olaraq bağlanır və VCC pimi Arduinonun 13 -cü pininə gedir. Onların yeri ümumi elektrik avtobusunun zəmininə bağlıdır.

Servoların konnektoru modifikasiyası - Atlama telləri tez -tez servonun bağlayıcısından ayrılmağa meylli olduğu üçün VCC və torpaq telini hər iki servodan kəsib birbaşa elektrik avtobusuna lehimləyirəm. Siqnal sancaqları üçün Arduino'ya qoşulmaq üçün tullanan tellərdən istifadə etdim.

Sonar sensoru - Ümumi güc avtobusuna gedən sonar sensorunun VCC və topraklama pininə müvafiq olaraq iki tel lehimləndi və tətiyi və echo pinini Arduino -ya bağlamaq üçün tullanan tellərdən istifadə etdi.

Arduino - Barel jak konnektoru vasitəsilə işləyir.

Hansı nəyə gedir -

Sonar Sensorun tetik pimi -> Arduino A2 pin

Sonar Sensorun echo pin -> Arduino A3 pin

I2C Adapterin SDA pin -> Arduino A4 pin

I2C Adapterin SCL pin -> Arduino A5 pin

Buzzer -in VCC -> Arduino D13 pin

Düyməni basaraq servonun siqnal pin -> Arduino D9 pin

X oxu servo siqnal pimi -> Arduino D8 pin

Bütün VCC və torpaq pinləri ümumi elektrik avtobusuna qoşulur.

Addım 6: Sonar Sensor Dağı

Sonar Sensor Dağı
Sonar Sensor Dağı

Şəkil özünü izah edir, sadəcə "divarda" L şəkilli bir rəf və rəfdəki sonar sensoru isti yapışdırılır.

Addım 7: X Axis Rayını düzəldin

X Axis Rail hazırlanması
X Axis Rail hazırlanması
X Axis Rail hazırlanması
X Axis Rail hazırlanması

X eksenli ray anlayışını CNC maşınlarından götürdüm. Bu, bir -birinə paralel olaraq qoyulmuş iki dövrəli spikerdir və "divarlar" da döngü spikerlərinin keçdiyi deliklər var. Divarların digər uclarında, döngə çubuqları divarlara isti şəkildə yapışdırılır ki, hərəkət etməsinlər. Dövr spikerləri X ox platformasını dəstəkləyəcək qədər güclüdür.

Addım 8: X Axis Platforması

X Axis Platforması
X Axis Platforması
X Axis Platforması
X Axis Platforması
X Axis Platforması
X Axis Platforması
X Axis Platforması
X Axis Platforması

Müəyyən düymələrə çatmaq üçün yan tərəfə gedən və düyməni basan bir qolu olan bir servoya sahib olan hissədir.

Altında isti yapışdırılmış iki qələm doldurma tutacaq borusu var ki, bunun vasitəsilə dəlik spikerləri onların üzərinə sürüşməsinə imkan verir. Bu borunu bir qələmdən aldım, saman içmək kimi spikerlərə uyğun olan hər şeyi istifadə edə bilərsiniz.

Sonra, alt PVC təbəqənin ortasında, düz duran başqa bir PVC təbəqə var. Aşağı hissədə servo gövdəsinə uyğun olan bir deşik var və servo içəri daxil edilir. Servo isti yapışqan ilə bərkidilir.

Servoda ona bağlı bir qol var. Robot bir düyməni basmalı olduqda, servo qolu aşağıya çevirir, nəticədə düymə basılır və sonra əvvəlki vəziyyətinə qaytarılır.

Addım 9: X Axis Platformasını hərəkət etdirin

X Axis Platformasının hərəkət etdirilməsi
X Axis Platformasının hərəkət etdirilməsi
X Axis Platformasının köçürülməsi
X Axis Platformasının köçürülməsi
X Axis Platformasının hərəkət etdirilməsi
X Axis Platformasının hərəkət etdirilməsi

"X oxu hərəkət etdiricisi" servosu, robotun sol tərəfində yerləşən yüksək platformaya bərkidilir. X ox platformasının üstündə bir qolun vida ilə birləşdirildiyi bir raf var. Qolun digər ucunda başqa bir qol vida ilə birləşdirilir və bu qol servo buynuza bağlanır. Bütün oynaqlar hərəkətlidir və servo buynuzu sola/sağa döndərməklə X ekseninin relsləri üzərində X ox platformasını idarə edə bilər ki, bu da qolları platformadakı relslərə itələməyə/çəkməyə məcbur edəcək.

Derzlər vida istifadə edərək hazırlanır.

Addım 10: Kod

Bədəni və dövrə qurmağı bitirdikdən sonra kodu Arduinoya yükləyin. Robotu klaviatura/piano ilə paralel olaraq qoyun x ox platforması əvvəlcə sola doğru hərəkət etməyə başlayacaq və müəyyən bir nöqtədə dayanacaq. Robotu pianonun C düyməsi o nöqtəyə çatana qədər hərəkət etdirin. Bu çox vacib bir addımdır, çünki robotu bu şəkildə yerləşdirmədən melodiyanı düzgün çalmayacaq. Sonra robotu yandırın, bir neçə saniyə ərzində melodiya çalmağa başlamalıdır.

Kod olduqca sadədir və təkmilləşdirmək üçün yer var. Robotun öz melodiyasını çalmasını istəyirsinizsə, onu olduqca asan olan kodu daxil etməlisiniz.

Addım 11: Rəsm çəkin

Bunu mənimki kimi boyamaq istəyirsinizsə (bunu çox tövsiyə edərdim, daha yaxşı boyanmış görünür), əvvəlcə bütün bədən hissələrini düzəldin, düzgün kəsildiyinə əmin olun. Sonra onları yağ və kirdən təmizləmək üçün sabunla yuyun. İnsanlar ümumiyyətlə boyamadan əvvəl səthi zımpara edirlər, amma burada buna ehtiyac yoxdur. Əvvəlcə onlara bir təbəqə çəkin, quruması üçün kifayət qədər vaxt verin (Bir neçə saat), sonra başqa bir təbəqə çəkin. Boya quruduqdan sonra hissələri yığmağa və yapışdırmağa başlaya bilərsiniz.

Öz boyama üçün sprey boya istifadə etdim

Addım 12: Elektronikanın yerləşdirilməsi və təşkili

Elektronikanın yerləşdirilməsi və təşkili
Elektronikanın yerləşdirilməsi və təşkili
Elektronikanın yerləşdirilməsi və təşkili
Elektronikanın yerləşdirilməsi və təşkili

Arduino-nu əsas PVC təbəqəyə vidaladım və həm güc dövrəsini, həm də əsas lövhədəki LCD-ni yapışdırdım. Telləri isti yapışqan ilə düzəldin.

Addım 13: Nəticə: Təlimatları oxuduğunuz üçün təşəkkür edirik

Beləliklə, Primanı belə qurdum. İnşaat jurnalının aydın və başa düşülməsi asan olduğunu ümid edirik. Hər hansı bir sualınız varsa, şərh bölməsində buraxın, mümkün qədər tez cavab verməyə çalışacağam.

Bu layihə ilə gələcək planlar -

  • Primanı daha asan proqramlaşdırmaq üçün bir proqram hazırlamaq.
  • Yalnız tempi tənzimləmək üçün bir düyməyə toxuna bilmək üçün temp vurma xüsusiyyətini əlavə edin.
  • Servoları daha sakit və daha sürətli olanlarla dəyişdirin

Bunu qurarsanız, şəkillərinizi şərhə buraxın, sizinki görmək istərdim!:)

Tövsiyə: