Go Down

Topic: Ayuda control de servos visual+arduino (Read 151 times) previous topic - next topic

MarianoCarranza

Oct 30, 2015, 03:00 am Last Edit: Oct 30, 2015, 03:19 am by MarianoCarranza
Necesito poner 6 servos sincronizadamente mediante botones en visual, entonces declare una variable int pos;, para hacer mención a los botones en visual, pero al momento de poner if(pos=='10'), este no me lo permite, habrá alguna otra forma de hacerlo?

Code: [Select]

#include <Servo.h>

Servo servo;
Servo servo1;
Servo servo2;
 
void setup()
{
  servo.attach(9);
  servo1.attach(8);
  servo2.attach(7);
  Serial.begin(9600);
}
 
void loop()
{
  int pos;
  if (Serial.available()){
    delay(100);
    while(Serial.available()>0){
      pos=Serial.read();     
      if(pos=='0')
        servo.write(90);
        else if(pos=='4')
        servo1.write(90);
        else if(pos=='8')
        servo2.write(90);
      else if(pos=='1')
        servo.write(-90);
        else if(pos=='5')
        servo1.write(-90);
        else if(pos=='9')
        servo2.write(-90);
      else if(pos=='2')
        servo.write(180);
       else if(pos=='6')
       servo1.write(180);
       else if(pos=='10')
       servo2.write(180);
      else if(pos=='3')
        servo.write(-180);
        else if(pos=='7')
        servo1.write(-180);
       else if(pos=='11')
        servo2.write(-180);
    }
  }
}


Visual:
Code: [Select]

Imports System.IO
Imports System.IO.Ports
Imports System.Threading

Public Class Form1

    Shared _continue As Boolean
    Shared _serialPort As SerialPort

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        SerialPort1.Close()
        SerialPort1.PortName = "com7"
        SerialPort1.BaudRate = 9600
        SerialPort1.DataBits = 8
        SerialPort1.Parity = Parity.None
        SerialPort1.StopBits = StopBits.One
        SerialPort1.Handshake = Handshake.None
        SerialPort1.Encoding = System.Text.Encoding.Default
    End Sub
    Private Sub btn90L_Click_1(sender As System.Object, e As System.EventArgs) Handles btn90L.Click
        SerialPort1.Open()
        SerialPort1.Write("0")
        SerialPort1.Write("4")
        SerialPort1.Write("8")
        SerialPort1.Close()
    End Sub

    Private Sub btn90R_Click(sender As System.Object, e As System.EventArgs) Handles btn90R.Click
        SerialPort1.Open()
        SerialPort1.Write("1")
        SerialPort1.Write("5")
        SerialPort1.Write("9")
        SerialPort1.Close()
    End Sub

    Private Sub btn180L_Click(sender As System.Object, e As System.EventArgs) Handles btn180L.Click
        SerialPort1.Open()
        SerialPort1.Write("2")
        SerialPort1.Write("6")
        SerialPort1.Write("6")
        'SerialPort1.Write("10")
        SerialPort1.Close()
    End Sub

    Private Sub btn180R_Click(sender As System.Object, e As System.EventArgs) Handles btn180R.Click
        SerialPort1.Open()
        SerialPort1.Write("3")
        SerialPort1.Write("7")
        'SerialPort1.Write("11")
        SerialPort1.Close()
    End Sub

MarianoCarranza

Ya solucione el problema, creó que no me pude expresar de la manera correcta el problema, nunca he trabajado con arduino hasta ahora, pero ya solucione el problema. ¡Gracias!.

surbyte

bien entonces dos cosas.
1. Pon la solución porque cuando preguntaste esperabas la respuesta. Ahora que la tienes no la compartes y este es un foro que se nutre de la experiencia de todos.
2. cuando termines de explicar la solución, edita el titulo y ponle SOLUCIONADO, lo dicen las Normas del foro que te aliento que leas.

gracias y hasta pronto.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy