아두이노 C# 시리얼 통신입니다.
이전에 졸작하면서 모듈로 만들었어야하는데.. 통으로만들어서..
아두이노는 다 후배들에게 주고왔으니.. 기억을더듬어가며 모듈화시킵니다.
C# 핵심 소스
//시리얼 포트 생성
public SerialPort arduSerialPort = new SerialPort();
//아두이노 시리얼포트 초기화
try
{
arduSerialPort.PortName = "COM3"; //아두이노가 연결된 시리얼 포트 번호 지정 여기는 각자 사용자에 맞는 포트로 설정
arduSerialPort.BaudRate = 9600; //시리얼 통신 속도 지정
arduSerialPort.Open(); //포트 오픈
//아두이노 연결 후 led 버튼 활성화
button2.Enabled = true;
button3.Enabled = true;
timer1.Start();
}
catch (Exception err)
{
MessageBox.Show(err.ToString());
}
private void button2_Click(object sender, EventArgs e)
{
arduSerialPort.Write("1"); //연결된 시리얼포트로 "1"의 값을 전달 아두이노는 1을받으면 led를 켠다.
}
아두이노 핵심 소스
#include <SoftwareSerial.h>
int LedPin = 9; //led 컨트롤
void setup() {
pinMode(LedPin, OUTPUT); //LED 아웃 이용
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0)
{
char usercmd = (char)Serial.read();
Serial.print("User cmd : ");
Serial.println(usercmd);
switch (usercmd) {
case '1' : //C#에서 넘어옴 불을켜라
digitalWrite(LedPin,HIGH);
break;
case '0' : //C#에서 넘어옴 불을꺼
digitalWrite(LedPin,LOW);
break;
}
}
}
일단 소스는 올려둡니다..
혹여나 프로젝트 참고하실때 안되는부분이있으면 댓글달아주세요..
주섬주섬 아두이노 구해서 오류 수정하겠습니다.
아두이노가 또 인기있으면 이것저것 올려드릴게요.
퍼가시면 꼭 출처를 남기세욯