İçindekiler:
- Adım 1: Tüm Projeye Genel Bakış
- 2. Adım: Video
- Adım 3: 3D Modeli Yapmak
- 4. Adım: Parçalar ve Araçlar
- Adım 5: Devre
- Adım 6: Sonar Sensör Montajı
- Adım 7: X Ekseni Rayının Yapılması
- Adım 8: X Ekseni Platformu
- 9. Adım: X Ekseni Platformunu Taşıma
- Adım 10: Kod
- Adım 11: Boyamak
- Adım 12: Elektroniği Yerleştirme ve Düzenleme
- Adım 13: Sonuç: Talimatları Okuduğunuz İçin Teşekkür Ederiz
Video: Prima - Piyano Çalan Bir Robot: 13 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
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
Videoda klavye çalarken izleyebilirsiniz.
Adım 3: 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
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 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ı
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ı 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
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 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
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:
Bir Denetleyiciyi Bir Öykünücüye Nasıl Kurulur, Çalıştırır ve Bağlar: 7 Adım
Bir Denetleyiciyi Bir Emülatöre Nasıl Kurulur, Çalıştırır ve Bağlarsınız: Hiç oturup genç bir oyuncu olarak çocukluğunuzu hatırladınız mı ve bazen geçmişin o eski mücevherlerini tekrar ziyaret edebilmeyi dilediniz mi? Bunun için bir uygulama var… daha spesifik olarak, program yapan bir oyuncu topluluğu var
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metin Görüntülemek İçin Başka Bir Arduino Kullanarak Programlamak: 5 Adım
Bir Arduino'yu Kitaplık Olmadan Kayan Bir Metni Görüntülemek için Başka Bir Arduino Kullanarak Programlama: Sony Spresense veya Arduino Uno o kadar pahalı değil ve çok fazla güç gerektirmez. Ancak projenizin güç, alan ve hatta bütçe kısıtlaması varsa Arduino Pro Mini kullanmayı düşünebilirsiniz. Arduino Pro Micro'nun aksine, Arduino Pro Mi
Yarım Saatten Daha Kısa Bir Sürede Bir Raspberry Pi ve bir RTL-SDR Dongle Kullanarak Yalnızca APRS RX Amatör Radyosu Oluşturun: 5 Adım
Bir Amatör Radyo APRS RX Sadece Yarım Saatten Daha Kısa Bir Sürede Bir Raspberry Pi ve bir RTL-SDR Dongle Kullanarak Igate Yapın: Lütfen bunun artık oldukça eski olduğunu, dolayısıyla bazı bölümlerin yanlış ve güncelliğini yitirdiğini unutmayın. Düzenlemeniz gereken dosyalar değişti. Size görüntünün en son sürümünü vermek için bağlantıyı güncelledim (lütfen sıkıştırmayı açmak için 7-zip kullanın) ancak tam bilgi için
Robot Beyin: Bir Akşam Tek Kartlı Bir Bilgisayar Oluşturun: 11 Adım
Robot Beyin: Bir Akşam Tek Kartlı Bir Bilgisayar Oluşturun: Picaxe veya Arduino'nuzda bellek mi bitti? Ama bir PC iş için fazla mı? C, Basic, Forth, Pascal veya Fortran gibi dillerde programlanabilen bu açık kaynaklı tek kartlı bilgisayara bir göz atın. Bu kart, ucuz IC'ler kullanır ve del
RockBand Gitar Çalan Robot Nasıl Yapılır!: 15 Adım (Resimlerle)
RockBand Gitar Çalan Robot Nasıl Yapılır!: İlk eğitici kitabım için…Ne diyebilirim ki, rock grubu setinde davul çalmayı seviyorum ama benimle çalacak birinin olması nadirdir; belki daha fazla arkadaşa ihtiyacım var, ama görünüşte yalnız olan hayatımdan (jk) oldukça havalı bir inatçı geliyor. tasarımım var