在Winform中从Arduino接收数据

时间:2016-05-28 09:13:29

标签: c# winforms arduino

我正在尝试使用添加了arduino的按钮来压缩我的对象。 我有Funduino来管理它。它上面有4个按钮,但我将使用其中的3个。但我不能从我的串口获取数据。

所以我想知道我是否可以要求你们给我一些提示,告诉我如何在c#界面中确定是否按下这3个按钮。

这里我的代码是arduino:

// Store the Arduino pin associated with each input
const byte PIN_BUTTON_SELECT = 6; // Select button is triggered when joystick is                                                           pressed

const byte PIN_BUTTON_RIGHT = 3;
const byte PIN_BUTTON_UP = 2;
const byte PIN_BUTTON_DOWN = 4;
const byte PIN_BUTTON_LEFT = 5
void setup() {

Serial.begin(9600);

// Specify each pin connected to a pushbutton as an input.
// Also enable the Arduino's internal "pull-up" resistors
// for each pushbutton we want to read--this means the shield
// doesn't need to have resistors on it.
// Note that when a pull-up resistor is used on a pin the
// meaning of the values read are reversed compared to their
// usual meanings:
//    * HIGH = the button is not pressed
//    * LOW = the button is pressed  
pinMode(PIN_BUTTON_RIGHT, INPUT);  
digitalWrite(PIN_BUTTON_RIGHT, HIGH);

pinMode(PIN_BUTTON_LEFT, INPUT);  
digitalWrite(PIN_BUTTON_LEFT, HIGH);

pinMode(PIN_BUTTON_UP, INPUT);  
digitalWrite(PIN_BUTTON_UP, HIGH);

pinMode(PIN_BUTTON_DOWN, INPUT);  
digitalWrite(PIN_BUTTON_DOWN, HIGH);

pinMode(PIN_BUTTON_SELECT, INPUT);  
digitalWrite(PIN_BUTTON_SELECT, HIGH); 
 }


void loop() {


}

1 个答案:

答案 0 :(得分:0)

在循环方法中实现读取功能:

void loop() {
   // read the state of the pushbutton value:
   buttonState = digitalRead(buttonPin);

   // check if the pushbutton is pressed.
   // if it is, the buttonState is HIGH:
   if (buttonState == HIGH) {
     // turn LED on:
     digitalWrite(ledPin, HIGH);
   } else {
     // turn LED off:
     digitalWrite(ledPin, LOW);
   }