Visual Basic İle Robot Kontrol Programı Yapımı

15 424

Bilgisayardan robotik sistemleri kontrol etmenin birçok yolu vardır.Bu projemizde de visual basic programını kullanarak basit ve kullanışlı robot kontrol programı yapacağız.Yapacağımız bu programı herhangi robotta rahatlıkla kullanabilirsiniz.

Formumuz İçin Gereken Araçlar:

  1. 13 Adet Buton
  2. 2 Adet Combobox
  3. 1 Adet Texbox
  4. 1 Adet GroupBox
  5. 1 Adet SerialPort

Formumuzun Tasarım Kısmı:

Tasarımı bu şekilde yapabilirsiniz.

Formun Yazılım Kısmı:

  • İlk olarak sistem kütüphanelerini ekliyoruz.
Imports System.IO
Imports System
Imports System.ComponentModel
Imports System.Threading
Imports System.IO.Ports
  • Formun load bölümüne serial port ve baudrate değerlerini ekliyoruz.
myPort = IO.Ports.SerialPort.GetPortNames()
ComboBox2.Items.Add(9600)
ComboBox2.Items.Add(19200)
ComboBox2.Items.Add(38400)
ComboBox2.Items.Add(57600)
ComboBox2.Items.Add(115200)
For i = 0 To UBound(myPort)
ComboBox1.Items.Add(myPort(i))
Next
ComboBox1.Text = ComboBox1.Items.Item(0)
ComboBox2.Text = ComboBox2.Items.Item(0)
Button12.Enabled = False

 

  • Serial port nesnesi tanımlıyoruz.
Dim myPort As Array
 Delegate Sub SetTextCallback(ByVal  As String)
 Shared _continue As Boolean
 Shared _serialPort As SerialPort

 

  • Porta bağlan butonunun görev tanımlanmasını yapalım.Seçtiğimiz porta bağlanmamızı sağlayacak.
 SerialPort1.PortName = ComboBox1.Text
SerialPort1.BaudRate = ComboBox2.Text
SerialPort1.Parity = IO.Ports.Parity.None
SerialPort1.StopBits = IO.Ports.StopBits.One
SerialPort1.DataBits = 8
SerialPort1.Open()
Button13.Enabled = False
Button12.Enabled = True
  • Robotla bağlantıyı sonlandırmak için bağlantıyı kes butonuna tanımlamamızı yapalım.
SerialPort1.Close()
Button13.Enabled = True
Button12.Enabled = False
  • Açık olan portları görebilmek için comboboxların birine tanımlamamızı yapalım.
If SerialPort1.IsOpen = False Then
SerialPort1.PortName = ComboBox1.Text
Else
MsgBox("BAĞLANTIYI, KAPALIYKEN DEĞİŞTİRİNİZ", vbCritical)
End If
  • Baudrate değerini ayarlamamız için comboboxların diğerine tanımlamızı yapalım.
If SerialPort1.IsOpen = False Then
SerialPort1.BaudRate = ComboBox2.Text
Else
MsgBox("BAĞLANTIYI, KAPALIYKEN DEĞİŞTİRİNİZ", vbCritical)
End If

 

  • Yön butonları için tanımlamamızı yapıyoruz.Butona bastığımızda her buton serial porttan farklı bir değer gönderecek.Örneğin ileri butonuna bastığımızda 1 değerini, geri butonuna bastığımızda 2 değerini göndersin.Bir buton için örnek tanımlamamızı yapalım.
SerialPort1.Write("2")

Burada serial porta 2 değerini yazdırdık.Diğer butonlar için sadece veri değerinideğiştirerek tanımlama yapmanız gerekecek.

  • Son olarak robotunuzu klavye tuşlarından yönetmek isterseniz öncelikle formun özellikler bölümünden keydown kısmını true yapın ve formun keydown kısmına aşağıdaki tanımlamayı ekleyin.Bu tanımlama sadece bir buton içindir.Diğer butonların tanımlanmasını yaparken buton ismini ve klavye tuşunu değiştirmeniz yeterli olacaktır.
If (e.KeyCode = Keys.A) Then
Button1.PerformClick()
Button1.BackColor = Color.Red
TextBox1.Text = "SOLA GİDİYOR"
Else
Button1.BackColor = Color.Yellow
End If

Ayrıca burada butona basıldığında robotun durumunu gösteren ve butonun rengini değiştirme tanımlamalarını da yapmış olduk.

Robot programını aşağıdaki linkten indirebilirsiniz.

Arduino Robot Kontrol Programı

Bunları da beğenebilirsin

Cevap bırakın

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

15 Yorum

  1. JJ

    hızlı cevap kolları olan robotta oluyormu?

    1. Sezgin GÜL

      tam anlayamadım ?

  2. İlker sevinç

    Hocam harika bir Çalışma, Vb ile basit start stop butonları ve 1tane digital input girişini ile arduino kontrolunu gösterseniz cok yararlı vr ilham verici olur. Tam yapmak istediğim sey visual basic kontrol, destegınızı brklıyoruz.

    1. Sezgin GÜL

      Teşekkürler ilker, vb ile ilgili farklı projeleri ilerleyen zamanlarda yayınlamaya çalışacağım. Senin bahsettiğin projeyi biraz daha ayrıntılı şekilde buradan yazarsan veya maile gönderirsen paylaşım yaparım. mail: maker.robimek@gmail.com

  3. Timur

    Öncelikle cevap verdiğiniz için teşekkür ederim. instructables.com/id/Pocket-Sized-Robot-Arm-meArm-V04/
    Ben bu adresteki 4 servolu robotu lazer kesimle kestirdim.Program bilgim yok.Daha yeniyim.Sizin bu program hoşuma gitti.Bu programı kullanarak bilgisayardan tıklayarak arduino uno ile hareket ettirmek istiyorum.
    Fakat arduinoya nasıl kod yollamak gerektiğini bilmiyorum.Yani programla arduinoyu haberleştirmek istiyorum olmuyor.Sizi uğraştırmayacak bir kod gönderirseniz sevinirim.

  4. Timur

    Selam arduinoya göndereceğimiz kod nasıl olacak.Yukarıdaki kodları birleştirecekmiyiz.Ya da tam kod dosyası nasıl olacak.

    1. Sezgin GÜL

      yön butonuna bastığınızda serial porta sayı karakteri gönderiyor. Her butonun gönderdiği sayıya göre de arduino programında yön fonksiyonu tanımlayın. Buradaki örnek koda bakıp koşullarda tanımlı karakterlere kontrol programındaki butonlardan gelen karakterleri tanımlayın. https://gist.github.com/Robimek/f313a94f53b8eadce0a1

  5. umut

    teşekkür ederim üstünde uğraşırım konuyla ilgili bir problem olursa burdan soru sorabilir miyim ya da size başka şekilde ulaşabilme şansım var mı ?

  6. umut

    robot kontrolünü android üzerinden yapmak istiyorum nasıl bir yol izlemem gerekiyor burdaki projede 4 kontrol var fakat yön hareketi dışında kamera hareketiyle beraber görüntü alabilecek bir uygulama nasıl yapabilirim yardım edebilir misini bu yazılan programı düzenleme gibi bir şansımız var mı ?

    1. Sezgin GÜL

      Hazır android uygulamaları var google playden indirebilirsiniz. Bu programı düzenleyip kameradan görüntü alabilirsiniz. Nette araştır c# ile kamera uygulamaları çokça var.
      Android konsol buradan indirebilirsin. play.google.com/store/apps/details?id=braulio.calle.bluetoothRCcontroller&hl=tr

      1. umut

        ben bu programı hazır olarak indirmek istemiyorum bunun nasıl yapıldığını uygulama alanında bir projem var ve bunu uygulamaya dökmek istiyorum bu konuda bana yardım edebilir misiniz?

        1. Sezgin GÜL

          c# de görüntü alma kod bloklarına bakınız. Örnek uygulamalar vardır. O kodları konsol programına ekleyin.

  7. feridun

    visual studio 2013 ile derleyebilirmiyiz bunu?