프로세싱과 아두이노를 연결하여

아두이노에 연결된 자원을 제어해보자

이번엔 간단히 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);                      // 아날로그 값으로 표현

  }

}

---------------------------------------------------------------------------------------



작동 영상


+ Recent posts