взаимодействие С# и Arduino через Com Port

Aleksan007
Offline
Зарегистрирован: 10.05.2013

Всем привет. Недавно купил ардуин уно, до этого писал на C#, решил сделать прогу на C# в которое двигая ползунки менялся бы цвет RGB светодиода... Можно было бы сделать кнопки типа: "красный" и загарается красный... это легко, передаем в ком порт стринговую "1" а в ардуине сверяем если '1' то подать 255 на такой то порт...

но, я хочу передавать в ардуино 3 числа по 3 цифры, например: 255 10 120... ардуина должна как-то их принять... и обработать... пробовал всяко, обшарил весь гугл... как я понял в ардуино беда с типами данных... 
 

Snubist
Offline
Зарегистрирован: 18.02.2013

Ну если пишешь на си то проблем нет. Функции одни и теже.

А для примера в IDE есть пример StringToIntRGB

Aleksan007
Offline
Зарегистрирован: 10.05.2013

Теперь новая проблема, когда ползунок крутишь то светодиод как ды то тухнет то загарается, даже если крутить медленно, на некоторых значениях он тухнет на некоторых наоборот ярче... не знаю с чем это связано... в чем может быть причина?

String txtMsg = "";  
String OldtxtMsg = ""; 
void setup() {

  Serial.begin(9600);
  
}

void loop() 
{

  while (Serial.available() > 0) 
	{
		char inChar = Serial.read();
		txtMsg += inChar;
		OldtxtMsg=txtMsg;
	}
	//Serial.flush();
	txtMsg="";
	
	analogWrite(10,OldtxtMsg.toInt());

  delay(20);

 

maksim
Offline
Зарегистрирован: 12.02.2012
String txtMsg = "";  
String OldtxtMsg = ""; 
void setup() {

  Serial.begin(9600);
  
}

void loop() 
{

  while (Serial.available() > 0) 
	{
        delay(2);
		char inChar = Serial.read();
		txtMsg += inChar;
		OldtxtMsg=txtMsg;
	}
	//Serial.flush();
	txtMsg="";
	
	analogWrite(10,OldtxtMsg.toInt());

  delay(20);