취소

커뮤니티

가이드

서포트

전체

프로세싱 응용 아두이노 저항 값 입력 받기

아두이노에 가변저항을 연결하고, 프로세싱으로 아두이노에서 가변저항 값을 입력 받아서 슬라이드로 표시해보자.

라이브러리 연동

프로세싱 응용 - 아두이노 제어 라이브러리 설치 프로세싱 응용 아두이노 제어 라이브러리 설치프로세싱으로 아두이노를 제어해보자, 프로세싱과 아두이노는... blog.naver.com 자세히보기

프로세싱으로 아두이노를 제어하기 위해서는 라이브러리 연동이 필요로하다. 위의 링크를 참조하여 미리 라이브러리를 설정한다.

회로도

회로 배선

가변저항이 +에는 5V, -는 GND, 마지막 하나는 PIN A0에 연결한다.

소스코드

import processing.serial.*; import cc.arduino.*; Arduino arduino;   float Pos = 0;   void setup() {   size(400,200);   background(0);     println(Arduino.list());   arduino = new Arduino(this,Arduino.list()[0], 57600);      stroke(255);   strokeWeight(5); }   void draw() {   background(0);   Pos = map(arduino.analogRead(0), 0, 1023, 0, 400);   // Pos에 저항 값을 0~400 사이의 값으로 변환하여 저장   if(Pos<0) Pos = 0; // 0보다 작아지면 0으로   if(Pos>400) Pos = 400; // 400보다 커지면 400으로   line(0,100, Pos, 100); // 선 긋기   ellipse(Pos, 100, 20, 20); // 원 그리기 }

테스트 결과

테스트 결과 창

가변 저항의 값에 따라서 프로세싱에서 드래그 바가 길어지고 짧아 지는 것을 확인 할 수 있다. 그럼 이 것을 조금 더 응용해서 기존 벽돌깨기 게임에다가 합쳐보자

벽돌깨기 게임이랑 합치기

아두이노는 그대로 유지 한 상태로, 프로세싱 벽돌깨기 게임에서의 소스코드 일부분을 수정하여 아두이노에서 값을 가져오도록 변경하면 끝난다. 프로세싱 벽돌깨기 게임은 아래의 링크를 참조하면 된다.

프로세싱 응용 - 벽돌깨기 게임 만들기 프로세싱 응용 벽돌깨기 게임 만들기이번에는 프로세싱으로 벽돌깨기 게임을 만들어보자, 차근차근 라켓부... blog.naver.com 자세히보기

수정해야되는 소스코드

// 최상단에 추가 import processing.serial.*; import cc.arduino.*; Arduino arduino;     // 상단 수정 int padX, padWidth; // ↓ 수정 ↓ // int padWidth; float padX = 0;     // setup 추가 println(Arduino.list()); arduino = new Arduino(this,Arduino.list()[0], 57600);     // draw 수정 padX=mouseX;     // ↓ 수정 ↓ // padX = map(arduino.analogRead(0), 0, 1023, 0, 400); if(padX > 300) padX = 300;

기존 작성되어있는 코드에서 아두이노와 시리얼 통신 하는 부분을 추가하고, 마우스로 제어하는 부분을 가변저항의 값을 받아서 변환하는 것으로 수정하면 끝난다. 잘 되는지 직접 해보길 바란다.

소스코드에 정답은 없다. 다양한 생각이 있듯 다양한 방법이 있고, 그 중 하나일 뿐이다.