我对Arduino和C#都很陌生。 我想创建一个GUI,允许使用digitalWrite方法打开/关闭LED,以及使用analogWrite方法进行单独的模拟调制。 我已成功设法创建一个可以打开/关闭LED的表格,但是我不确定如何发送用于调制LED强度的analogWrite值?
到目前为止我的Arduino代码是:
#define BaudRate 9600
#define greenLaser 10
#define redLaser 11
char incomingOption;
int power;
void setup()
{
pinMode(greenLaser, OUTPUT);
pinMode(redLaser, OUTPUT);
Serial.begin(BaudRate);
}
void loop()
{
incomingOption = Serial.read();
switch(incomingOption){
case '1':
// Turn ON LED
digitalWrite(redLaser, HIGH);
break;
case '0':
// Turn OFF LED
digitalWrite(redLaser, LOW);
break;
case '3':
// Turn ON LED
digitalWrite(greenLaser, HIGH);
break;
case '4':
// Turn ON LED
digitalWrite(greenLaser, LOW);
break;
case '5':
// Turn OFF all Lasers
digitalWrite(greenLaser, LOW);
digitalWrite(redLaser, LOW);
}
}
我的C#代码是:
try
{
serialPort1.Write("0"); //send on signal to Arduino
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
如果我只能发送单个字节,我会坚持如何为analogWrite方法发送特定于引脚的值。