Arduino İle Hexbug Örümcek Kontrolü

6 2.118

Kendi Robotunu Yap projelerimizin bu bölümünde hexbug örümcek robotun kontrol sistemini arduino tabanlı kontrol sistemine çevirerek çeşitli fonksiyonlar ile kontrolünü sağlayacağız.Kontrol sistemini hem telefon ile hem de bilgisayar ile sağlayarak projemizi tamamlayacağız.Arduino İle Hexbug Örümcek Kontrolü projemize başlayalım.

Malzemeler:

  • Hexbug Spider (XL)
  • Arduino Nano
  • Hc-06 Bluetooth Modül
  • L293b Motor Sürücü
  • 6v Batarya

Elektronik Kısım:

Öncelikle hexbug örümceğin pil kapağındaki vidayı çıkartıyoruz.Üzerinde 3 adet pil, toplamda 4.5 volt ile çalışabiliyor.Pil yatağının üzerinde 3 adet vida bulunuyor.Vidaları da çıkartarak devresine ulaşıyoruz.Biz 6v batarya kullanacağımızdan kendi pil bağlantısını kesiyoruz.Hexbug örümceğin hareket etmesini sağlayan 2 tane dc motor bulunuyor.Bunlardan birisi yürüme hareketini diğeri ise yönlendirme hareketini yapıyor.

Devrenin üzerinde motor girişlerini görebilirsiniz.Yukarıdaki şekildeki gibi o pinlere kablolar lehimleyerek kendi motor sürücümüze bağlayacağız.Devre üzerinde M1 ve M2 olarak yazıyor kolaylıkla bağlantılarını yapabilirsiniz.Üstteki motor pinleri sağ sol hareketi, alttaki motor pinleri ise ileri geri hareketi yapmasını sağlıyor.

Motor pin bağlantılarını yaptık ve arduinoya motorları bağladık.Şimdi hc-06 bluetooth modülü de aduinoya bağlıyoruz.Daha sonra bataryayı motor sürücüye bağlayalım.Arduino güç beslemesini motor sürücü üzerinden yapabilirsiniz.

Bütün devre bağlantılarını yaptıktan sonra gelelim kontrol sistemine.Örümceği iki şekilde kontrol edeceğiz.Birincisi android telefondan ikinci de bilgisayardan yazdığımız robot konsol programı ile kontrolünü sağlayacağız.

Android Telefondan Kontrolü:

Telefondan kontrolümüzü için öncelikle uygulamamızı aşağıdaki bağlantıdan indirelim.

Android örümcek kontrol

Şimdi uygulamamıza göre arduino yazılımını oluşturuyoruz.Uygulamada yün butonlarına basınca gönderilen karakterlere göre yazılıma o karakterleri ekleyerek kontrolünü sağlayacağız.

Telefon Kontrolü İçin Arduino Yazılımı:

//Yazılım geliştirme by Robimek - 2015
 
//Yazılım lisans by Robimek
 
char val;
#define motorileri 9
#define motorgeri 10
#define motorsol 11
#define motorsag 12
int S;
 
void setup()
{
Serial.begin(9600);
pinMode(motorileri,OUTPUT);
pinMode(motorgeri,OUTPUT);
pinMode(motorsol,OUTPUT);
pinMode(motorsag,OUTPUT);
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void loop() {
if (Serial.available()) {
delay(100);
while(Serial.available() > 0){
val = Serial.read();
}if (val == 'S') {
dur();
}
if (val == 'F') {
ileri();
}if (val == 'R') {
geri();
}if (val == 'B') {
sag();
}if (val == 'L') {
sol();
}if (val == 'G') {
solileri();
}if (val == 'H') {
solgeri();
}if (val == 'I') {
sagileri();
}if (val == 'J') {
saggeri();
}
 
}
}
void dur()
{
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void ileri() {
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void geri() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
void sol() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
 
}
void sag() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
 
}
 
void sagileri()
{
 
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
}
void solileri()
{
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
}
void saggeri()
{
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
}
void solgeri()
{
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
}

Telefondan kontrol için yazılımı arduinoya yüklüyoruz.Uygulamamızı açtığımızda bluetootha bağlanıp örümceği kontrol edebiliriz.

Bilgisayardan kontrolünü visual basic de yaptığımız örümcek robot kontrolü arayüz ile sağlayacağız.Öncelikle programımızı aşağıdaki linkten indirelim.

Hexbug Kontrol

Programda butonlardan gönderilen verileri yazılıma ekleyerek arduino kodumuzu oluşturuyoruz.

Bilgisayardan Kontrolü İçin Arduino Yazılımı:

//Yazılım Geliştirme By Robimek - 2015
 
//Yazılım Lisans By Robimek
 
char val;
#define motorileri 9
#define motorgeri 10
#define motorsol 11
#define motorsag 12
void setup()
{
Serial.begin(9600);
pinMode(motorileri,OUTPUT);
pinMode(motorgeri,OUTPUT);
pinMode(motorsol,OUTPUT);
pinMode(motorsag,OUTPUT);
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void loop() {
if (Serial.available()) {
delay(100);
while(Serial.available() > 0){
val = Serial.read();
}if (val == '9') {
dur();
}
if (val == '2') {
ileri();
}if (val == '1') {
geri();
}if (val == '4') {
sag();
}if (val == '3') {
sol();
}if (val == '5') {
solileri();
}if (val == '8') {
solgeri();
}if (val == '6') {
sagileri();
}if (val == '7') {
saggeri();
}
 
}
}
void dur()
{
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void ileri() {
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
 
void geri() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,LOW);
 
}
void sol() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
 
}
void sag() {
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
 
}
 
void sagileri()
{
 
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
}
void solileri()
{
digitalWrite(motorileri,HIGH);
digitalWrite(motorgeri,LOW);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
}
void saggeri()
{
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,LOW);
digitalWrite(motorsag,HIGH);
}
void solgeri()
{
 
digitalWrite(motorileri,LOW);
digitalWrite(motorgeri,HIGH);
digitalWrite(motorsol,HIGH);
digitalWrite(motorsag,LOW);
}

Yazılımı yükleyerek bilgisayardan bluetooth üzerinden örümceği kontrol edebiliriz.

Kendi Robotunu Yap projelerimizin bu bölümünde de Hexbug örümceği hem telefondan hem de bilgisayardan kontrolünü sağladık.İsterseniz ultrasonik sensör takarak engele çarpmayan otonom hareket eden robota da çevirebilirsiniz.Bir sonraki projede görüşmek üzere.. İyi çalışmalar…

Bunlar da İlgini Çekebilir

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

  1. Furkan

    Merhaba ben bu projeyi yapmaya başladım ama hexbug xl değil normalini aldım ve örümceğin kendi işlemcisinde sadece 1 tane m1 m2 var ve oraya motorlar bağlı ben sürücüyü nereye bağlıyacağım bulamadım birde kendi işlemcisini kullanmadan bağlama yapabilirmiyiz ?

  2. emre

    hocam merhaba bu örümceği sesle kontrol etmek için nasıl bir koda ihtiyacımız var acaba?

    1. Sezgin GÜL

      merhaba emre, buradaki projeden faydalanabilirsin >> https://www.robimek.com/sesli-komutlarla-kontrol-edilen-robot-voice-control-robot/

  3. hasan

    hocam ben yeniyimde acaba void setup() kısmında neden digitalwrite ‘lar yazılmış

    1. Sezgin GÜL

      robotun ilk çalışma anında motorları durma modunda tanımladım. O yüzden digitalWrite ile motor pinini low konumuna aldım.

      1. hasan

        çok saolun hocam