İçindekiler:

Prima - Piyano Çalan Bir Robot: 13 Adım
Prima - Piyano Çalan Bir Robot: 13 Adım

Video: Prima - Piyano Çalan Bir Robot: 13 Adım

Video: Prima - Piyano Çalan Bir Robot: 13 Adım
Video: BEDAVA ROBUX KAZANMA TAKİĞİ!? 15 SANİYEDE 1.5K ROBUX KAZANMAK 2022 | Roblox 2024, Kasım
Anonim
Prima - Piyano Çalan Bir Robot
Prima - Piyano Çalan Bir Robot

Enstrüman çalan bir robot fikri her zaman beni büyüledi ve her zaman kendim bir tane yapmak istedim. Ancak, müzik ve müzik aletleri hakkında hiçbir zaman fazla bilgim olmadı, bu yüzden aslında bununla nasıl başlayacağımı asla çözemedim. Yakın zamana kadar müzik yapmakla ilgilendim, müzik prodüksiyonu öğrenmeye başladım ve bir MIDI klavye aldıktan sonra bunun çalınması zor bir enstrüman olmadığını fark ettim ve aslında onu çalabilen bir robot yapabilirim. Prima'nın yapımı böyle başladı.

Bu projenin başarısından emin değildim, bu yüzden belgeleme zahmetine girmedim. Ancak harika çalıştığı ortaya çıktığından, ayrıntıları Instructables topluluğuyla paylaşmaya karar verdim. Bu, adım adım bir derleme günlüğü olmayacak, daha çok başlamanız için bir kılavuz olacak. Bu robotun her bir parçasının nasıl çalıştığını anlatacağım, resimlerini ve Arduino kodunu paylaşacağım. Bu projeyi çoğaltmak istiyorsanız, umarım bu yeterli olur.

Ve tasarım bu talimattan ilham aldı, JimRD'ye sesleniyorum!

Öyleyse başlayalım

Adım 1: Tüm Projeye Genel Bakış

Prima, klavye/piyano veya benzeri herhangi bir tuş tabanlı enstrüman çalabilen bir robottur. Beyin olarak bir Arduino Uno'ya, görsel çıktı için bir LCD ekrana ve temassız çalıştırma için bir ultrasonik sensöre sahiptir. 5 volt 2 amper sağlayan herhangi bir güç adaptörü ona güç verebilmelidir.

Aşağıdaki özelliklere sahiptir -

  • Programlanabilir - Bir oktav içinde sınırlı herhangi bir besteyi çalmak üzere programlanabilir.
  • Ayarlanabilir Tempo - Enstrümanı çalarken izleyeceği tempo kodda ayarlanabilir.
  • Dokunmadan Başlatma - Kullanıcı sadece elini sensör üzerinde kaydırarak çalmayı tetikleyebilir; bu, kullanıcı başka bir enstrüman çalmakla meşgulse ve belirli bir süre sonra Prima'nın onunla birlikte çalmasını isterse çok yardımcı olacaktır. İnsan oyuncu bir robot oyuncu ile karıştırıyor - bu bile bu özelliğin yardımıyla başarılabilir.

2. Adım: Video

Image
Image

Videoda klavye çalarken izleyebilirsiniz.

Adım 3: 3D Modeli Yapmak

3D Modeli Yapmak
3D Modeli Yapmak
3D Modeli Yapmak
3D Modeli Yapmak

Neler yapabileceğine karar verdikten sonra, gövdeyi TinkerCAD üzerinde tasarladım, böylece ne yaptığım hakkında net bir fikre sahip olarak inşa etmeye başlayabilirdim.

Bu yaklaşım, tam olarak tasarlandığı şekilde çalışan düzgün görünümlü bir robot bulmama büyük ölçüde yardımcı oldu. Orijinal tasarımı oluştururken biraz değiştirmem gerekse de, yine de 3D model bana çok zaman ve emek kazandırdı. 3D modeli burada daha ayrıntılı olarak görebilirsiniz.

4. Adım: Parçalar ve Araçlar

Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar

Elektronik kısım için ihtiyacınız olacak -

  • Arduino Uno (Adet - 1)
  • 16x2 LCD Ekran (Adet - 1)
  • LCD Ekran için I2C Adaptörü (Adet - 1)
  • TowerPro SG90 Mikro Servo (Adet - 2)
  • HC-SR04 Ultrasonik Sensör (Adet - 1)
  • Toggle Push Switch (Adet - 1)
  • Buzzer (Adet - 1)
  • Vero kurulu/Nokta Kurulu/Perf Kurulu
  • Erkekten erkeğe ve Erkekten Kadına jumper telleri

Vücudu yapmak için -

  • 5 mm PVC Levha
  • Döngü konuştu (Miktar - 2)
  • Vidalar
  • Kalem doldurma tutucu tüp
  • Sprey boya (Boyamak isterseniz)

İhtiyacınız olacak araçlar -

  • Süper yapıştırıcı
  • Sıcak yapıştırıcı tabancası
  • Havya
  • Anti-kesici (A. K. A Kağıt kesici)

Adım 5: Devre

devre
devre
devre
devre
devre
devre

Devre kısmı oldukça kolaydı. Her bir bölümünü nasıl yaptığımı açıklıyorum -

LCD Segmenti - Arduino'nun onunla I2C üzerinden iletişim kurabilmesi için LCD için bir I2C adaptörü kullandım, bu gerekli değildi, ancak devreyi basitleştirdi ve kablo sayısını azalttı. Kodu biraz değiştirerek standart bir LCD kullanabilirsiniz.

Güç segmenti - Veroboard üzerinde bir toggle push switch, bir buzzer, bir LED (daha sonra kullanmamaya karar verdim) ve 5V ortak güç bus'tan oluşan basit bir devre yaptım. Power bus'ta olduğu gibi servoların 5V ve topraklama pinleri, sonar sensörü, LCD ve Arduino sırasıyla birbirine bağlanmıştır. Basmalı anahtarın bir pimi 5V+ hattına, diğer pim ise güç kaynağının VCC pimine bağlanır. Toprak hattı, doğrudan güç kaynağının topraklama pimine bağlanır. Böylece Prima, anahtar kullanılarak açılıp kapatılabilir. Buzzer ve LED paralel bağlanır ve bunların VCC pini Arduino'nun 13. pinine gider. Toprakları ortak güç veriyolunun toprağına bağlıdır.

Servoların konektör modifikasyonu - Atlama kabloları genellikle servo konektöründen ayrılma eğiliminde olduğundan, VCC'yi ve topraklama kablosunu her iki servodan da kestim ve bunları doğrudan güç veriyoluna lehimledim. Ancak sinyal pinleri için onları Arduino'ya bağlamak için jumper kabloları kullandım.

Sonar sensörü - Ortak güç veri yoluna giden sonar sensörünün VCC ve topraklama pimine sırasıyla iki kablo lehimlendi ve tetik ve yankı pimini Arduino'ya bağlamak için atlama telleri kullandı.

Arduino - Varil jakı konektöründen güç alır.

Hangisi hangisine gider -

Sonar Sensörünün tetik pimi -> Arduino'nun A2 pimi

Sonar Sensörünün yankı pimi -> Arduino'nun A3 pimi

I2C Adaptörün SDA pini -> Arduino'nun A4 pini

I2C Adaptörün SCL pini -> Arduino'nun A5 pini

Buzzer'ın VCC'si -> Arduino'nun D13 pini

Servo'nun sinyal pinine basan tuş -> Arduino'nun D9 pini

X ekseni servo sinyal pini -> Arduino'nun D8 pini

Tüm VCC ve topraklama pimleri, ortak güç veri yoluna bağlanır.

Adım 6: Sonar Sensör Montajı

Sonar Sensör Montajı
Sonar Sensör Montajı

Resim kendini açıklayıcıdır, sadece "duvara" L şeklinde bir raf yapıştırılmış ve sonar sensörünü rafa sıcak yapıştırılmıştır.

Adım 7: X Ekseni Rayının Yapılması

X Ekseni Rayının Yapılması
X Ekseni Rayının Yapılması
X Ekseni Rayının Yapılması
X Ekseni Rayının Yapılması

X ekseni rayı konseptini CNC makinelerinden ödünç aldım. Bu sadece birbirine paralel yerleştirilmiş iki çevrim telidir ve "duvarlar", devir tellerinin geçtiği deliklere sahiptir. Duvarların diğer uçlarında, döngü parmaklıkları hareket etmemeleri için duvarlara sıcak yapıştırılmıştır. Döngü konuşmacıları, X ekseni platformunu destekleyecek kadar güçlüdür.

Adım 8: X Ekseni Platformu

X Eksen Platformu
X Eksen Platformu
X Eksen Platformu
X Eksen Platformu
X Eksen Platformu
X Eksen Platformu
X Eksen Platformu
X Eksen Platformu

Belirli tuşlara ulaşmak için yana doğru giden ve tuşa basan koluna bağlı bir servo bulunan kısımdır.

Altında sıcak yapıştırılmış iki adet kalem dolum tutucu tüpü vardır ve bu tüp, içinden geçerek bisiklet tellerinin üzerlerinde kaymasına izin verir. Bu tüpü bir kalemden aldım, pipet gibi tellere uyan herhangi bir şey kullanabilirsiniz.

Daha sonra alttaki PVC levhanın ortasında düz duran başka bir PVC levha var. Alt kısımda servo gövdesine uyan bir delik vardır ve servo bunun içinden geçirilir. Servo sıcak tutkal kullanılarak sabitlenmiştir.

Servonun kendisine bağlı bir kolu vardır. Robot bir tuşa basmak zorunda kaldığında, servo kolu aşağı doğru çevirerek bir tuşa basar ve daha sonra eski konumuna döndürür.

9. Adım: X Ekseni Platformunu Taşıma

X Ekseni Platformunu Taşıma
X Ekseni Platformunu Taşıma
X Ekseni Platformunu Taşıma
X Ekseni Platformunu Taşıma
X Ekseni Platformunu Taşıma
X Ekseni Platformunu Taşıma

"X ekseni hareket ettirici" servosu, robotun sol tarafında bulunan yükseltilmiş bir platforma bağlanmıştır. X ekseni platformunun tepesinde bir kolun bir vida kullanılarak birleştirildiği bir raf bulunur. Kolun diğer ucunda başka bir kol vida ile birleştirilir ve bu kol servo kornaya bağlanır. Tüm eklemler hareketlidir ve servo, kornasını sola/sağa çevirerek X ekseni platformunu X ekseni rayları üzerinde hareket ettirebilir, bu da kolların platformu raylar üzerinde itmesini/çekmesini sağlar.

Eklemler vida kullanılarak yapılır.

Adım 10: Kod

Gövdeyi ve devreyi oluşturmayı bitirdikten sonra kodu Arduino'ya yükleyin. Robotu klavye/piyano ile paralel konuma getirin X ekseni platformu önce sola doğru hareket etmeye başlayacak ve belirli bir noktada duracaktır. Robotu, piyanonun C tuşu o noktayı karşılayana kadar hareket ettirin. Bu çok önemli bir adımdır, çünkü robotu bu şekilde konumlandırmadan melodiyi doğru şekilde çalmayacaktır. Ardından robotu açın, birkaç saniye içinde bir melodi çalmaya başlamalıdır.

Kod oldukça basit ve iyileştirme için yer var. Robotun kendi melodinizi çalmasını istiyorsanız, bunu oldukça kolay olan koda koymanız yeterli.

Adım 11: Boyamak

Benimki gibi boyamak istiyorsanız (bunu yapmanızı şiddetle tavsiye ederim, çok daha iyi boyanmış görünüyor), önce tüm vücut kısımlarını yapın, doğru kesildiğinden emin olun. Ardından, yağ ve kirden arındırmak için sabunla yıkayın. İnsanlar genellikle boyamadan önce yüzeyi zımparalar, ancak burada yapmanıza gerek yoktur. Önce üzerlerine bir kat püskürtün, kuruması için yeterli zaman verin (birkaç saat), ardından başka bir kat boyayın. Boya kuruduktan sonra parçaları birleştirmeye ve yapıştırmaya başlayabilirsiniz.

Benimkini boyamak için sprey boya kullandım

Adım 12: Elektroniği Yerleştirme ve Düzenleme

Elektroniklerin Yerleştirilmesi ve Düzenlenmesi
Elektroniklerin Yerleştirilmesi ve Düzenlenmesi
Elektroniklerin Yerleştirilmesi ve Düzenlenmesi
Elektroniklerin Yerleştirilmesi ve Düzenlenmesi

Arduino'yu taban PVC levhasına vidaladım ve hem güç devresini hem de LCD'yi taban kartına sıcak yapıştırdım. Telleri sıcak tutkalla düzenledik.

Adım 13: Sonuç: Talimatları Okuduğunuz İçin Teşekkür Ederiz

Prima'yı bu şekilde inşa ettim. Umarım derleme günlüğü açık ve anlaşılır olmuştur. Herhangi bir sorunuz varsa, bunları yorum bölümünde bırakmaktan çekinmeyin, mümkün olduğunca erken yanıtlamaya çalışacağım.

Bu proje ile gelecek planları -

  • Prima'yı daha kolay programlamak için bir yazılım yapmak.
  • Tempoyu ayarlamak için bir düğmeye dokunabilmeniz için tempo vurma özelliği ekleme.
  • Servoları daha sessiz ve daha hızlı olanlarla değiştirmek

Bunu yaparsanız, yoruma fotoğraf bırakın, sizinkini görmek isterim!:)

Önerilen: