개발자/Arduino

Arduino와 Processing 상호 제어

지구빵집 2020. 12. 4. 01:42
반응형

 

 

오늘 포스팅은 Arduino를 Processing에 연결하는 방법과 직렬 포트를 사용하여 통신하는 방법을 배웁니다. 또한 Processing IDE를 사용하여 Arduino 보드에 명령을 보내고 그 반대로 명령을 받아 처리하는 예제를 만들 것입니다.

 

필요한 부품을 아래에 나타냅니다. Arduino 보드, 브레드 보드 및 점프 와이어, LED, 220 ohm 저항, 푸시 버튼

 

아래 회로도를 참고하여 회로를 구성합니다. 

 

 

Arduino 소스코드

 

int led = 13;
int button = 12;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0) {
char ledState = Serial.read();
if(ledState == '1'){
digitalWrite(led, HIGH);
}
if(ledState == '0'){
digitalWrite(led, LOW);
}
}
int buttonState = digitalRead(button);
if ( buttonState == HIGH){
Serial.println("Button is pressed");
delay(500);
}
}

 

Processing 코드

 

import processing.serial.*;
Serial myPort;
String myText="";
void setup(){
size(300, 300);
myPort = new Serial(this, "COM4", 9600);
myPort.bufferUntil('n');
}
void serialEvent (Serial myPort){
myText = myPort.readStringUntil('n');
}
void draw(){
background(0,0,0);
text(myText, 120, 120);
myText="";
if(mousePressed && (mouseButton == LEFT)){
myPort.write('1');
}
if (mousePressed && (mouseButton == RIGHT)){
myPort.write('0');
}
}

 

 

 

 

반응형