2017년 12월 10일 일요일

아두이노와 프로세싱 연동: 가변저항으로 프로세싱 색상제어


아두이노와 프로세싱을 연동하는 프로젝트로서, 아두이노의 가변저항을 조절하여 프로세싱의 rect의 색상을 조절해봅니다. 과정은 간단합니다. 

1. 아두이노보드에 가변저항을 연결합니다. 가변저항의 세 단자에 GND, 5V, 그리고 A0(아날로그 입력)을 연결해 줍니다. (* 연결방법은 아래 포스트를 참조합니다.)

2. 아두이노 코드를 작성합니다.

3. 아두이노 프로그램에 시리얼 모니터(돋보기 아이콘)를 열어서 가변저항을 돌림에 따라 변하는 값이 제대로 출력되는지 확인합니다.

4. 프로세싱 코드를 작성합니다. 

5. 가변저항 연결 및 두 프로그램에 코드작성이 끝나면, 먼저 아두이노 업로드->프로세싱 play 순서로 작동해 봅니다. (연동시 아두이노 시리얼 모니터는 닫아줍니다) 



아두이노 코드 
-------------------------------------------------------------------------


int pot = A0; // 아날로그 핀 설정 

void setup() 
{
  Serial.begin(9600); //시리얼 통신을 시작한다.(기본 통신속도 9600)
}
void loop() 
{
  int val = map(analogRead(pot),0,1023,0,255);

//아날로그 입력값(A0)를 읽기 위해 analogRead 를 사용하고, 
//읽어들인 값을 변수 val에 전달한다. 
//map함수는 지난시간에 analogRead값을 4로 나누어 아날로그 입력값(0~1023)과 
//아날로그 출력값(0~255)의 범위를 맞춰주는 것과 같은 역할을 한다.

  Serial.println(val); // 값을 시리얼 모니터에 출력해준다. 
  delay(70);          //아두이노와 프로세싱이 연동되는 속도가 50이므로 
                        //이보다 빠르게 하면 작동을 하지 않으므로반드시 50이상으로 할 것
}


프로세싱 코드
--------------------------------------------------------------------

import processing.serial.*;  // 시리얼통신을 위해 프로세싱의 라이브러리를 불러온다. 
Serial port; 

float brightness=0; // 가변저항 값을 저장하는 변수 선언(실수형 float 변수)

void setup()
{
  size(800,500);
  
  port=new Serial(this,"COM4", 9600);  //시리얼 통신을 위한 객체 생성
                                                  //(각자 연결된 포트넘버를 쓰세요)

  port.bufferUntil('\n'); //줄바꿈('\n')이 나오기 전 까지 시리얼 통신 유지
}

void draw()
{
  fill(brightness,100,0); //가변저항에 의한 값을 R 값으로 하는 rect
  rect(100,100,250,250);

  fill(0,brightness,100);//가변저항에 의한 값을 G값으로 하는 rect
  rect(450,100,250,250);
}
void serialEvent(Serial port) //아두이노로 부터 값(데이터)가 들어올때마다 수행되는 함수
{

  brightness=float(port.readStringUntil('\n'));  //줄바꿈 전까지 데이터 읽음 
  println(brightness); //아두이노로 부터 받은 가변저항에 의한 값을 
                           //프로세싱 하단 창에 출력 
}

---------------------------------------------------------------------------------------------
구동테스트를 하여 촬영을 했으니 참고로 하세요. 

가변저항을 돌림에 따라 변하는 사각형의 색상

아두이노로 부터 프로세싱으로 가변저항에 의한 값을 받아 창에 출력하기 

댓글 없음:

댓글 쓰기

아두이노와 프로세싱 연동: 가변저항으로 프로세싱 색상제어

아두이노와 프로세싱을 연동하는 프로젝트로서, 아두이노의 가변저항을 조절하여 프로세싱의 rect의 색상을 조절해봅니다. 과정은 간단합니다.  1. 아두이노보드에 가변저항을 연결합니다. 가변저항의 세 단자에 GND, 5V, 그리고 A0(아날로...