IMPORTANT - robotarm with VB and arduino


im having problem. final work school i'm trying controle robotarm computer.
i code in vb on pc used work.

now i'm trying put loop robot wil make moves automaticly until stop it.
my problem ones put in loop cant make stop anymore.

do of guys , girls have idea make stop?

i using ladyada motorshield.

ps sorry bad englisch i'm dutch

code vb: main form
code: [select]

imports system.io
imports system.io.ports
imports system.threading


public class form1
   dim compoort string
   shared _continue boolean
   shared _serialport serialport

   sub getserialportnames()
       for each sp string in my.computer.ports.serialportnames
           combobox1.items.add(sp)
       next
       combobox1.selectedindex = 0
       compoort = combobox1.selecteditem
   end sub
   private sub form1_load(byval sender system.object, byval e system.eventargs) handles mybase.load

       getserialportnames()
       serialport1.close()
       serialport1.portname = compoort 'change com port match arduino port
       serialport1.baudrate = 9600
       serialport1.databits = 8
       serialport1.parity = parity.none
       serialport1.stopbits = stopbits.one
       serialport1.handshake = handshake.none
       serialport1.encoding = system.text.encoding.default 'very important!


   end sub

   private sub button1_click(byval sender system.object, byval e system.eventargs) handles button1.mousehover

       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("1")
       serialport1.close()
   end sub

   private sub button1_click_1(byval sender system.object, byval e system.eventargs) handles button1.mouseleave, button4.mouseleave, button2.mouseleave, button3.mouseleave, btntest.mouseleave, button5.mouseleave, button6.mouseleave, button7.mouseleave
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try

       serialport1.write("5")
       serialport1.close()
   end sub

   private sub button2_click(byval sender system.object, byval e system.eventargs) handles button2.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("3")
       serialport1.close()
   end sub

   private sub button4_click(byval sender system.object, byval e system.eventargs) handles button4.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("2")
       serialport1.close()
   end sub

   private sub button3_click(byval sender system.object, byval e system.eventargs) handles button3.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("4")
       serialport1.close()
   end sub



   private sub btntest_click(byval sender system.object, byval e system.eventargs) handles btntest.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("7")
       serialport1.close()
   end sub



   private sub button5_click(byval sender system.object, byval e system.eventargs) handles button5.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("6")
       serialport1.close()
   end sub


   private sub button6_click(byval sender system.object, byval e system.eventargs) handles button6.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("8")
       serialport1.close()
   end sub

   private sub button7_click(byval sender system.object, byval e system.eventargs) handles button7.mousehover
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("9")
       serialport1.close()
   end sub

   private sub combobox1_selectedindexchanged(byval sender system.object, byval e system.eventargs) handles combobox1.selectedindexchanged
       serialport1.portname = combobox1.selecteditem
   end sub



   private sub button8_click(byval sender system.object, byval e system.eventargs) handles button8.click
       dim msg1 string
       msg1 = msgbox("de positie waarin de robot arm zich nu bevind de startpositie. ben u zeker dat u het automatisch programma wilt starten", vbyesno, "warning")
       if msg1 = vbyes then
           form2.show()
           timer1.enabled = true
       elseif msgboxresult.no then
           msgbox("stel start positie in en probeer opnieuw")
       end if
   end sub

   public sub stopauto()

       timer2.enabled = true

       form2.close()
       msgbox("autorun gestopt")

   end sub
 
   public sub timer1_tick(byval sender system.object, byval e system.eventargs) handles timer1.tick
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("0")
       serialport1.close()
   end sub

   private sub timer2_tick(byval sender system.object, byval e system.eventargs) handles timer2.tick
       try
           serialport1.open()
       catch ex exception
           msgbox(ex.tostring)
       end try
       serialport1.write("5")
       serialport1.close()
   end sub
end class


code 2nd form:
code: [select]
public class form2

   private sub button1_click(byval sender system.object, byval e system.eventargs) handles button1.click
       form1.timer1.enabled = false
       form1.stopauto()
   end sub
end class


aruino code:
code: [select]
#include <afmotor.h>

 af_dcmotor mgrab(1, motor12_1khz);
 af_dcmotor moperswing(2, motor12_1khz);
 af_dcmotor munderswing(3, motor12_1khz);
 af_dcmotor mbase(4, motor12_1khz);
 
void setup() {
 serial.begin(9600);          
 serial.println("motor test!");
 mgrab.setspeed(200);  
 moperswing.setspeed(200);  
 munderswing.setspeed(200);
 mbase.setspeed(200);
}

void loop(){
while (serial.available() == 0);
int val = serial.read() - '0';

if (val == 1)
{
 munderswing.run(forward);
}
else if (val == 5)
{
munderswing.run(release);
mbase.run(release);
mgrab.run(release);
moperswing.run(release);

}
else if (val == 3)
{
 mbase.run(forward);
}
else if (val == 7)
{
 mgrab.run(backward);
}
 else if (val == 4)
 {
 mbase.run(backward);
}
else if (val == 8)
{
moperswing.run(forward);
}
 else if (val == 2)
{
munderswing.run(backward);
}
else if (val == 6)
{
mgrab.run(forward);
}
else if (val == 9)
{
moperswing.run(backward);

}

else if (val == 0)
  {
 munderswing.run(backward);      // turn on going forward
 delay(800);
 munderswing.run(release);
 delay(800);
 mgrab.run(backward);      // stopped
 delay(300);
 mgrab.run(release);      // stopped
 delay(800);
 munderswing.run(forward);      // turn on going forward
 delay(800);
 munderswing.run(release);
 delay(800);
 mbase.run(forward);
 delay(500);
 mbase.run(release);
 delay(800);
 munderswing.run(backward);      // turn on going forward
 delay(800);
 munderswing.run(release);
 delay(800);
 mgrab.run(forward);      // stopped
 delay(300);
 mgrab.run(release);
 delay(800);
 munderswing.run(forward);      // turn on going forward
 delay(800);
 munderswing.run(release);
 delay(800);
 mbase.run(backward);
 delay(500);
 mbase.run(release);
delay(800);
  }
{
 serial.flush();
}
}



Arduino Forum > Using Arduino > Installation & Troubleshooting > IMPORTANT - robotarm with VB and arduino


arduino

Comments

Popular posts from this blog

Convierte tu Raspberry en un NAS. Firmware fvdw-sl 15.3 - Raspberry Pi Forums

How to format a Get Request

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x62