2013-03-05 8 views
1

Arduino의 메가 2560과 상호 작용할 C# 응용 프로그램을 작성 중입니다. 하지만 Arduino의 보드를 사용하여 상당히 새로 작성되었습니다.C#의 Arduino 디지털 핀 매핑

내 질문에 내 디지털 입력의 상태를 모니터링하기 위해 C# 응용 프로그램의 핀을 매핑하는 것이 가능합니다.

예 :

나는이

pinMode(22, INPUT) 
(...) 
pinMode(53, INPUT) 

같은 아두 이노 설정은 다음 C#으로 나는 그것의 상태를 얻을 수있는 특정 핀을 읽을 수 있도록. 같은 성령 강림절 뭔가 : 나는 충분히 명확 있다면 나도 몰라

serialPort1.Read("pin44"); //and with that read I can see if its in HIGH or LOW. 

또는

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) 
{ 
int pinNumber = serialPort1.**ReadPinNumber()**; //I would store the number of which pin is generating the data and do something with it. 
} 

,하지만 내가 필요한 것은 지속적으로 아두 이노로부터 데이터를 수신하고 핀에서오고있는 아는 것입니다 , 그래서 나는 나의 필요에 따라 뭔가를 할 수있다.

나는 이미 첫 번째 부분을 succeded. 데이터를 받아서 그것에 대해 뭔가 할 수 있습니다. 그러나 여러 핀에 관해서는 까다로운 부분이 있습니다.

미리 감사드립니다.

답변

0

이 작업을 수행 할 수 있는지 확실하지,하지만 당신은 다음과 같이 아두 이노에 뭔가를 할 수 :

int pin7val = 0;  // variable to store the read value 

void setup() 
{ 
    Serial.begin(9600); 
    pinMode(7, INPUT);  // sets the digital pin 7 as input 
} 

void loop() 
{ 
    pin7val = digitalRead(7); // read the input pin 7 
    Serial.write(pin7val + " Pin44"); 
} 

그리고 비주얼 스튜디오에서

string Serial = serialPort1.ReadLine(); 

if (Serial contains "44") 
{ 
int pin44val = Serial(); 
} 

는 C# 구문 ISN처럼 한마디로 뭔가를 할 아마 모든 것이 맞을지 모르지만 당신은 그 아이디어를 얻습니다.

+0

나는 이것과 같은 것을 생각했다. 그러나 나는 그것의 잘못된 길을 느낀다. 나는 다음과 같은 것을 원했다 : 나는 핀을 하나씩 읽고, 사전을 만들고, 그들의 상태를 업데이트한다. 그것은 다음과 같을 것입니다 : 핀 22를 읽음 -> LOW를 받음 -> 현재 상태 저장. 23 번 핀을 읽음 -> 하이 - 저장 상태를받습니다 ... arduino가 아닌 C#에서 –

관련 문제