프로세싱과 아두이노를 연결하여
아두이노에 연결된 자원을 제어해보자
이번엔 간단히 LED으 밝기를 제어해보자.
프로세싱과 아두이노는 Serial 통신으로 연결하고
서로 데이터를 주고 받을 수 있다.
일단 프로세싱에서는 Serial 라이브러리를 활용한다.
프로세싱 스케치
-----------------------------------------------------------------------------
import processing.serial.*; //Serial 라이브러리 임포트
Serial mport; // mport라는 시리얼포트 선언
void setup(){
size(512,100);
mport = new Serial(this,Serial.list()[1],9600); //컴퓨터에 배정된 시리얼포트중
//2번째포트로 9600rate의 포트 사용
}
void draw(){
background(mouseX/2); // 마우스 x좌표값에 따른 배경색 변화
mport.clear(); // 주석처리해도 무방
mport.write(mouseX/2); //선언한 포트로 마우스값 전송
}
------------------------------------------------------------------------------
위 스케치에서
Serial.list()[1]부분은 컴퓨터에서 할당한 포트중에서 두번째 포트를 선택하는 것으로
[0],[1],[2],[3]......순이다.
아두이노에서 확인해보면 아래그림과 같다.
아두이노 스케치
----------------------------------------------------------------------------------------
int pdata = 0; // 프로세싱에서 받을 데이터 변수 선언
void setup(){
Serial.begin(9600); // 시리얼 통신 시작
}
void loop(){
if(Serial.available()>0){ // 넘어오는 데이터가 있으면
pdata = Serial.read(); // 시리얼에서 오는 데이터 저장
pdata = map(pdata,0,255,0,250); // 데이터를 0~255명확한 한계지정
analogWrite(10,pdata); // 아날로그 값으로 표현
}
}
---------------------------------------------------------------------------------------
작동 영상
'아두이노_프로세싱 > 아두이노+프로세싱' 카테고리의 다른 글
아두이노+프로세싱 write와 print로 넘어오는 통신값 (1) | 2012.08.28 |
---|---|
프로세싱 + 아두이노 서보모터 제어 (1) | 2012.08.23 |