- Gerekli malzemeler:
- Gerekli parçaların 3D baskısı:
- Donanım ve Şemalar:
- Robotun montajı:
- Arduino'nun Biped Robot için Programlanması:
- İşleme tabanlı Android Uygulaması:
- Bluetooth Kontrollü Biped Robotun Çalışması:
Yürüyüp dans edebilen küçük bir Robot yapacağımız başka bir projeye hoş geldiniz. Proje, Arduino kullanarak nasıl küçük hobi robotları yapacağınızı ve bu tür uygulamalar için Servo motorlarınızı nasıl programlayacağınızı öğretmeyi amaçlamaktadır. Projenin sonunda, önceden tanımlanmış bazı eylemleri gerçekleştirmek için bir Android Cep Telefonundan komut alan bu yürüyen ve dans eden robotu yapabileceksiniz. Seri monitörü kullanarak servo motorların konumunu kontrol ederek kendi robotunuzun hareketlerini kolayca değiştirmek için programı (eğitimin sonunda verilmiştir) da kullanabilirsiniz. 3D yazıcıya sahip olmak bu projeyi daha ilginç ve havalı hale getirecek. Ancak, bir tane yoksa, çevrimiçi hizmetlerden herhangi birini kullanabilir veya aynısını oluşturmak için biraz karton kullanabilirsiniz.
Gerekli malzemeler:
Bu robotu oluşturmak için gerekli malzemeler şunlardır:
- Arduino nano
- Servo SG90 - 4 Adet
- Erkek berg çubukları
- HC-05 / HC-06 Bluetooth modülü
- 3 boyutlu yazıcı
Gördüğünüz gibi, bu 3D baskılı robot, projenin maliyetini olabildiğince düşük tutmak için çok az elektronik parça gerektirir. Bu proje sadece kavramsal ve eğlence amaçlı olup şu ana kadar gerçek zamanlı uygulaması bulunmamaktadır.
Gerekli parçaların 3D baskısı:
3D baskı, prototip projeler oluştururken veya yeni mekanik tasarımları denerken çok katkıda bulunabilecek harika bir araçtır. Henüz bir 3B yazıcının faydalarını veya nasıl çalıştığını keşfetmediyseniz, 3B baskı için Başlangıç Kılavuzu'nu okuyabilirsiniz.
Bu projede yukarıda gösterilen Robot gövdesi tamamen 3 boyutlu olarak basılmıştır. STL dosyalarını buradan indirebilirsiniz. Bu dosyaları Cura gibi 3B yazdırma yazılımınıza yükleyin ve doğrudan yazdırın. Tüm parçaları basmak için çok basit bir yazıcımı kullandım. Yazıcı, 10 cm küp baskı hacmi ile uygun bir fiyata gelen 3ding'in FABX v1'idir. Ucuz fiyat, düşük baskı çözünürlüğü ve SD kart veya baskı devam ettirme işlevi olmayan bir değiş tokuş ile birlikte gelir. STL dosyalarını yazdırmak için Cura adlı bir yazılım kullanıyorum. Materyalleri yazdırmak için kullandığım ayarlar aşağıda verilmiştir, aynısını kullanabilir veya yazıcınıza göre değiştirebilirsiniz.
Tüm parçaları yazdırdıktan sonra destekleri (varsa) temizleyin ve ardından bacak ve göbek kısmındaki deliklerin bir vidaya sığacak kadar büyük olduğundan emin olun. Değilse, deliği hafifçe büyütmek için bir iğne kullanın. 3D yazdırılmış parçalarınız aşağıdaki gibi görünecektir.
Donanım ve Şemalar:
Bu Cep Telefonu Kontrollü Biped Arduino Robotunun donanımı gerçekten basittir. Tam şema aşağıdaki resimde gösterilmiştir
Yukarıdaki bağlantıları yapmak için bir Perf kartı kullandım. Devrenizin robotun kafasının içine de sığacağından emin olun. Perf panonuz hazır olduğunda aşağıdaki gibi görünmelidir.
Robotun montajı:
Donanım ve 3B yazdırılan parçalar hazır olduğunda, robotu bir araya getirebiliriz. Motorları sabitlemeden önce, programın kusursuz çalışması için motorları aşağıdaki açılarda yerleştirdiğinizden emin olun.
Motor Numarası |
Motor yeri |
Motor konumu |
1 |
Sol Kalça motoru |
110 |
2 |
Sağ Kalça motoru |
100 |
4 |
Sağ Ayak Bileği Motoru |
90 |
5 |
Sağ Kalça motoru |
80 |
Bu açılar eğitimin sonunda verilen program kullanılarak ayarlanabilir. Yukarıdaki bağlantıları yaptıktan sonra programı Arduino'nuza yükleyin ve aşağıdakileri seri monitöre yazın (Not: Baud hızı 57600).
1, 100, 110
2.90.100
4,80,90
5,70,80
Seri monitörünüz, tüm motorlarınızı yerine yerleştirdikten sonra böyle görünmelidir.
Motorlar ilgili açılarda ayarlandıktan sonra, bunları yukarıdaki şekilde gösterildiği gibi monte edin.
Motorları nasıl monte edeceğiniz konusunda kafanız karıştıysa, bu eğitimin sonundaki videoyu izleyin. Robot monte edildikten sonra dans robotumuzu programlama zamanı
Arduino'nun Biped Robot için Programlanması:
Programlama BBB Robot ( Bluetooth biped Bob ) Bu eğitimde en ilginç ve eğlenceli bir parçasıdır. Arduino ile servo motor programlamada çok iyiyseniz programınızı yapmanızı tavsiye ederim. Bt, bunun gibi robotik uygulamalar için servo motorların nasıl kullanılacağını öğrenmek istiyorsanız, o zaman bu program size çok yardımcı olacaktır. Arduino projeleri kategorimizde arduino programlama hakkında daha fazla bilgi edinebilirsiniz.
Programın tamamı bu eğitimin sonunda verilmiştir veya kodun tamamını buradan indirebilirsiniz. Aşağıda aynı kısımları açıklayacağım. Program, Robot işlemlerini seri monitör veya Bluetooth aracılığıyla kontrol edebilir. Seri monitörü kullanarak her bir motoru kontrol ederek kendi hareketlerinizi de yapabilirsiniz.
servo1.attach (3); servo2.attach (5); servo4.attach (9); servo5.attach (10);
Yukarıdaki kod satırları, hangi servo motorun Arduino'nun hangi pinine bağlı olduğunu belirtmek için kullanılır. Burada bizim durumumuzda Servo 1, 2, 4 ve 5 sırasıyla 3,5,9 ve 10 pinlerine bağlanır.
Bot_BT.begin (9600); // Bluetooth iletişimini 9600 baud hızında başlat Serial.begin (57600);
Daha önce de belirtildiği gibi yürüyen robotumuz Bluetooth komutları üzerinde ve ayrıca seri monitörden gelen komutlarla çalışabilir. Dolayısıyla, Bluetooth seri iletişimi 9600 Baud Rate ile çalışır ve seri iletişim 57600 Baud Rate ile çalışır. Buradaki Bluetooth nesnemizin adı "Bot_BT" dir.
anahtar (motor) {case 1: // Motor bir için {Serial.println ("Motor bir çalıştırılıyor"); eğer (num1
Yukarıda gösterilen anahtar kutusu, servo motorları ayrı ayrı kontrol etmek için kullanılır. Bu, robotunuzla kendi yaratıcı hareketlerinizi yapmanıza yardımcı olacaktır. Bu kod segmentiyle, belirli bir motoru istenen konuma hareket ettirmek için motor numarasını, açıdan ve açıdan basitçe söyleyebilirsiniz.
Örneğin sol kalça motoru olan 1 numaralı motoru 110 derece olan varsayılan konumundan 60 dereceye hareket ettirmek istersek. Arduino'nun seri monitörüne basitçe "1,110,60" yazıp enter tuşuna basabiliriz. Bu, Robotunuzla kendi karmaşık hareketlerinizi yapmak için kullanışlı olacaktır. Melekten ve açıya kadar her şeyi denedikten sonra, kendi hareketlerinizi yapabilir ve bir işlev olarak yaparak bunları tekrarlayabilirsiniz.
if (Serial.available ()> 0) // Serial aracılığıyla gelenleri oku {gmotor = Serial.parseInt (); Seri.baskı ("seçilen Numara->"); Seri baskı (gmotor); Seri.baskı (","); gnum1 = Serial.parseInt (); Seri baskı (gnum1); Seri.print ("derece"); gnum2 = Serial.parseInt (); Seri baskı (gnum2); Serial.println ("derece"); bayrak = 1; }
Bir Seri veri mevcutsa, ilk "," den önceki sayı gmotor olarak kabul edilir ve daha sonra ikinci "," den önceki sayı gnum1 ve ikinci "," den sonraki sayı gnum2 olarak kabul edilir.
if (Bot_BT.available ()) // Bluetooth ile gelenleri oku {BluetoothData = Bot_BT.read (); Serial.print ("BT'den Gelen:"); Serial.println (BluetoothData); }
Bluetooth bazı bilgiler alırsa, alınan bilgiler "BluetoothData" değişkeninde saklanır. Bu değişken daha sonra belirli bir eylemi gerçekleştirmek için önceden tanımlanmış değerlerle karşılaştırılır.
if (bayrak == 1) çağrı (gmotor, gnum1, gnum2); // ilgili motoru eylem için çağırın // İşlevleri Seri monitör veya Bluetooth aracılığıyla alınan komuta göre çalıştırın // if (gmotor == 10) left_leg_up (); eğer (gmotor == 11) right_leg_up (); eğer (gmotor == 12) move_left_front (); eğer (gmotor == 13) move_right_front (); eğer (BluetoothData == 49 - gmotor == 49) say_hi (); eğer (BluetoothData == 50 - gmotor == 50) walk1 (); eğer (BluetoothData == 51 - gmotor == 51) walk2 (); eğer (BluetoothData == 52 - gmotor == 52) dance1 (); eğer (BluetoothData == 53 - gmotor == 53) dance2 (); eğer (BluetoothData == 54 - gmotor == 54) {test (); test (); test ();}
Seri monitörden veya Bluetooth'tan alınan değerlere göre işlevlerin çağrıldığı yer burasıdır. Yukarıda gösterildiği gibi, değişken gmotor seri monitör değerine sahip olacak ve BluetoothData, Bluetooth cihazından gelen değere sahip olacaktır. 10,11,12'den 53,54'e kadar olan sayılar önceden tanımlanmış sayılardır.
Örneğin, seri monitöre 49 sayısını girerseniz. Say_hi () işlevi robotun size selam vereceği yerde çalıştırılacaktır.
Tüm işlevler "Bot_Functions" sayfasında tanımlanır. Açabilir ve her işlevde gerçekte ne olduğunu görebilirsiniz. Tüm bu işlevler, yukarıda açıklanan anahtar durumu kullanılarak her motorun melekten ve her motorun melekten denenmesiyle oluşturulmuştur. Herhangi bir şüpheniz varsa, bunları göndermek için yorum bölümünü kullanabilirsiniz ve size yardımcı olmaktan memnuniyet duyarım.
İşleme tabanlı Android Uygulaması:
Robotu kontrol etmek için Android uygulaması Android İşleme modu kullanılarak oluşturuldu. Uygulamada bazı değişiklikler yapmak isterseniz, eksiksiz İşleme programını buradan indirebilirsiniz.
Uygulamayı sadece kullanmak istiyorsanız buradan bir APK dosyası olarak indirebilir ve doğrudan cep telefonunuza yükleyebilirsiniz.
Not: Bluetooth modülünüz HC-06 olarak adlandırılmalıdır, aksi takdirde uygulama Bluetooth Modülünüze bağlanamayacaktır.
Uygulama yüklendikten sonra, Bluetooth modülünü cihazınızla eşleştirebilir ve ardından uygulamayı başlatabilirsiniz. Aşağıdaki gibi bir şeye benzemelidir.
Uygulamanızı daha çekici hale getirmek veya Hc-06 dışında herhangi bir cihaza bağlanmak istiyorsanız. İşleme kodunu kullanabilir ve üzerinde bazı değişiklikler yapabilir ve ardından kodu doğrudan telefonunuza yükleyebilirsiniz.
Bluetooth Kontrollü Biped Robotun Çalışması:
Donanımınız, Android Uygulamanız ve Arduino Sketchiniz hazır olduğunda robotumuzla biraz eğlenme zamanı. Robotu Bluetooth Uygulamasından, uygulamadaki düğmeleri kullanarak veya aşağıdaki görselde gösterildiği gibi aşağıdaki komutları kullanarak doğrudan Seri monitörden kontrol edebilirsiniz.
Her komut, robotun bazı özel görevleri yerine getirmesini sağlar ve ayrıca yaratıcılığınıza bağlı olarak daha fazla eylem ekleyebilirsiniz.
Robot ayrıca 12V adaptörle çalıştırılabilir veya 9V pil kullanılarak da çalıştırılabilir. Bu pil, Perf panonun altına kolayca konumlandırılabilir ve ayrıca Robot Başı ile kaplanabilir.
Bu Akıllı Telefon Kontrollü Robotun tam Çalışması aşağıdaki Videoda bulunabilir.