I used the code from post 6 on this thread. My issue is I want to write an app in visual studio using a trackbar/scrollbar to control each servo.
here is my code on the trackbar:
private void val_trackBar_Scroll(object sender, EventArgs e)
{
try
{
myport.Write(val_trackBar.Value.ToString() + 'a');
Degree_label.Text = "Degree = " + val_trackBar.Value.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
In the previously posted code as far as I can understand, I must use the letter 'a' within my C# writeLine so the Arduino can pick up on which servo I am addressing and move it as requested....
It does not work I can get a single servo to work fine using a different sketch on the Arduino but I need to be able to use more than one.
any help would be much appreciated.
Here is the full c# code:
namespace Arduino_test
{
public partial class frm_Robot : Form
{
private SerialPort myport;
public frm_Robot()
{
InitializeComponent();
}
private void start_btn_Click(object sender, EventArgs e)
{
myport = new SerialPort();
myport.BaudRate = 9600;
myport.PortName = port_name_tb.Text;
myport.Parity = Parity.None;
myport.DataBits = 8;
myport.StopBits = StopBits.One;
try
{
myport.Open();
MessageBox.Show("Connected to Servo");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
}
private void val_trackBar_Scroll(object sender, EventArgs e)
{
if (myport.IsOpen)
{
myport.WriteLine(val_trackBar.Value.ToString() + 'a');
Degree_label.Text = "Degree = " + val_trackBar.Value.ToString();
}
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
if (myport.IsOpen)
{
myport.WriteLine(val_trackBar.Value.ToString() + 'b');
Degree_label1.Text = "Degree = " + val_trackBar.Value.ToString();
}
}
private void trackBar2_Scroll(object sender, EventArgs e)
{
if (myport.IsOpen)
{
myport.WriteLine(val_trackBar.Value.ToString() + 'c');
Degree_label2.Text = "Degree = " + val_trackBar.Value.ToString();
}
}
private void btn_stop_Click(object sender, EventArgs e)
{
try
{
myport.Close();
MessageBox.Show("Disconnected From Servo");
this.Close();
}
catch (Exception ex2)
{
MessageBox.Show(ex2.Message, "Error");
}
}
private void port_name_tb_TextChanged(object sender, EventArgs e)
{
}
private void frm_Robot_Load(object sender, EventArgs e)
{
MessageBox.Show("Enter a port number (eg: COM1), click connect, dont forget to Click disconnect before closing the window.");
}
}
}