카테고리 없음

processing으로 LED 제어하기

abc0123 2017. 9. 28. 17:19
반응형

 

이번 글에서는 processing으로 LED 제어하기를 해보려고 하는데... 아두이노 프로그램은 소스 코드를 보드에 한 번 업로드 한 후 다른 변화를 주기 위해서는 코드를 변경한 후 다시 보드에 업로드해줘야 하는 번거로움이 있는 반면 프로세싱은 컴퓨터의 윈도우 창에서 바로 변화를 줄 수 있는 차이가 있다.

 

예를 들어 아두이노에 LED가 3초에 한 번씩 깜빡이도록 하는 코드를 심었다면 파일을 수정해서 다시 업로드하기 전에는 영원히 3초마다 LED가 빛날 것이다. 물론 그런 작업이 필요한 경우도 있을 것이다. 하지만 내가 원할 때만 켜지고 꺼지도록하고 싶을 때는 이번 예제처럼 프로세싱을 이용하면 된다.

 

일단 기본 원리를 이해하기 위해서 아주 간단하게 프로그램을 작성해볼 텐데 윈도우 창을 반으로 나눠서 서로 다른 색을 넣은 후에 마우스 커서가 그 경계선을 넘을 때마다 LED가 켜지고 꺼지도록 하는 내용을 작성해서 실행해보자. 준비물은 간단하게 LED와 저항만 있으면 된다.

 

 

회로

 

▲ 회로를 잠깐 살펴보자면 디지털 8번 핀에서 저항을 통해서 LED 양극으로 전류를 보내고 있으며 GND와 LED의 음극을 연결했다. 이제 이 녀석을 컨트롤할 수 있는 프로세싱 프로그램을 작성해보자.

 

소스코드

 

▲ 먼저 1번 구역에서는 프로세싱과 아두이노를 연결하기 위한 준비와... 라이브러리를 사용하기 위해서 import를 해줬는데 좀 더 자세한 내용은 이전 글 아두이노연결 을 참고하기로 하고...

 

2번에서는 아두이노에 접근하기 위한 객체(arduino)와 LED 핀을 연결한 디지털 8번 핀을 LED 상수로 선언을 했다.

 

그리고 3번 초기화(setup) 구간에서는 윈도우 창의 크기를 [300X300]으로 설정하고 그 배경색을 검은색으로 했으며 바탕이 빨간색인 사각형(빨간색 LED를 사용하기 때문에 색을 나름대로 맞춰봤음..ㅋㅋ )을 윈도우 창 중앙을 기준으로 오른쪽에 그리도록 했다. 그리고 아두이노와의 통신을 위한 값들을 넣어주고 pinMode에서는 8번 핀에 해당하는 LED를 통해서 전기 신호를 내보내기 위해서& OUTPUT으로 설정하고 있는 모습이다.

 

 

 

마지막으로 4번에서는 mouseMoved() 함수 내의 if문으로 마우스가 중앙을 기준으로 오른쪽으로 가면 LED가 켜지도록 하고 왼쪽으로 이동하면 꺼지도록 했다.

 

이제 프로세싱을 실행한 후 윈도우 창 위에서 마우스를 움직여서 결과를 확인해보자.

 

 

▲ 정확하게 중앙을 기준으로 빨간색 쪽으로 움직이면 LED가 켜지고 검은색 쪽으로 이동하면 한치의 오차도 없이 꺼지는 걸 확인할 수 있다.

 

이렇게 해서 이번 글은 프로세싱에서 아두이노를 제어할 수 있는 원리를 이해하기 위해서 LED를 이용한 가장 기본적인 예제를 만들어봤지만 모터 등 물리적으로 움직이는 녀석들을 연결해서 여러 가지 만들어보면 더 재미있을 거 같다는 생각을 해보며 다음 글부터는 그런 것들을 이용하는 과정을 정리하기로 하고 이번 글은 마무리한다.

반응형