I am sending multiple data to C# using the serial port. I want to convert the string[] into integers and use them in an if statement:
here is my arduino code
#define sensor1 A0
#define sensor2 A1
int gled=8;
int val1=0;
int val2=0;
void setup (){
pinMode(gled,OUTPUT);
pinMode(sensor1,INPUT);
pinMode(sensor2,INPUT);
Serial.begin(9600);
}
void loop(){
val1= analogRead(sensor1);
val2= analogRead(sensor2);
val1=map(val1,0,1023,0,255); //pot değerini 0,255 arası sınırlandır ve değişkene ata.
val2=map(val2,0,1023,0,255); //pot değerini 0,255 arası sınırlandır ve değişkene ata.
Serial.print(val1);
Serial.print(","); //a değişkenini seri porta gönder.
Serial.println(val2); //a değişkenini seri porta gönder.
delay(3);
if (val1<224){
digitalWrite(gled,HIGH);
}
else {
digitalWrite(gled,LOW);
}
delay(10);
}
here is my c# code
namespace WindowsFormsApplication21
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SerialPort port = new SerialPort("COM11", 9600);
string rawdata;
string[] data;
}
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(DoUpdate));
}
private void DoUpdate(object s, EventArgs e)
{
string[] data = serialPort1.ReadLine().Split(',');
textBox1.Text = data[0];
textBox2.Text = data[1];
textBox1.Text = c[0];
textBox2.Text = c[1];
int b;
int d;
bool result = Int32.TryParse(data[0], out b);
bool sonuc = Int32.TryParse(data[1], out d);
if (result)
{
if (b < 224)
{
button1.BackColor = Color.Red;
label1.Text = " OCCUPIED";
}
else
{
button1.BackColor = Color.Lime;
label1.Text = "AVAILABLE";
}
}
if (sonuc)
{
if (d< 224)
{
button1.BackColor = Color.Red;
label1.Text = " OCCUPIED";
}
else
{
button1.BackColor = Color.Lime;
label1.Text = "AVAILABLE";
}
}
private void button3_Click(object sender, EventArgs e)
{
listBox1.Visible = true;
listBox1.Items.Add("Değerler alınıyor!");
if (!serialPort1.IsOpen)
{
serialPort1.PortName = "COM11";
serialPort1.Open();
}
}
private void button4_Click(object sender, EventArgs e)
{
serialPort1.Close();
listBox1.Items.Add("Durduruldu!");
}
private void Form1_Load(object sender, EventArgs e)
{
listBox1.Visible = false;
}
private void label3_Click(object sender, EventArgs e)
{
}
}
}
here are my code please help me out l have been struggling for days now.
Moderator: Code tags added