IoT의 이해
전병현 교수
10주차 1강. 아두이노와 프로세싱 통신
학습내용
학습목표
1. 프로세싱 편집 프로그램을 활용할 수 있다.
2. 아두이노와 프로세싱 간의 통신을 실행할 수 있다.
1. 프로세싱 편집 프로그램
2. 아두이노와 프로세싱 통신
1. 프로세싱 편집 프로그램(1)
◉ 전체 화면
• 파일, 편집, 스캐치, Debug, 도구, 도움말
• 실행과 스톱 버튼, 콘솔 창
1. 프로세싱 편집 프로그램(2)
◉ 파일/편집/스케치
• 예제, 어플리케이션으로 내보내기, 환경설정
• 자동 정렬, 주석 처리/해제, 들여쓰기, 내어쓰기, 라이브러리 추가
1. 프로세싱 편집 프로그램(3)
◉ 프로세싱 환경 설정 항목
• 언어, 스케치 에디터 글꼴 크기, 콘솔 글꼴 크기
• 프로세싱 재실행 시 인터페이스 크기
• 전체화면보기 배경색
• 다국어 언어 입력 허용
• 오류 검사 활성화, 오류 메시지 보기 등
• 세부사항 변경 가능
1. 프로세싱 편집 프로그램(4)
◉ 프로세싱 환경 설정
√
①
②
③
• 스케치에디터 한글 주석 비활성화 시 환경설정 확인
• 프로세싱 폰트 설치 : http://www.dafont.com 접속
2. 아두이노와 프로세싱 통신(1)
◉ 실습 준비물
이미지
준비물 컴퓨터(1대) 아두이노 보드(1개)
이미지
준비물 USB 케이블(1개)
2. 아두이노와 프로세싱 통신(2)
◉ 프로세싱 : 스케치 → 라이브러리 추가
①
②
③
④
⑤
Arduino 입력
• 라이브러리 설치 확인
스케치 → 내부 라이브러리 →
Arduino (Firmata)2. 아두이노와 프로세싱 통신(3)
◉ 프로세싱 코드 작성(1)
// 아두이노와 시리얼 통신 처리를 위한 라이브러리 import processing.serial.*;
import cc.arduino.*; // 아두이노 라이브러리 import org.firmata.*; // Firmata 라이브러리 Arduino ard; // 변수 선언
int ledPin = 13; // LED 핀 번호
void setup(){
size(300,300); // 창 크기 설정
2. 아두이노와 프로세싱 통신(4)
◉ 프로세싱 코드 작성(2)
// 아두이노와 연결된 포트(COM) list 확인 println(Arduino.list());
// 새로운 객체 생성
ard = new Arduino(this, Arduino.list()[0], 57600);
/* 주의
① 아두이노와 통신이 이루어지지 않을 경우 Arduino.list()[0]을 아두이노의 COM 번호를 확인한 후 작성해 줌
예) (this, “COM7”, 57600);
② 아두이노와 프로세싱 통신 속도가 57600으로 같아야 함 */
// 아두이노의 ledPin을 OUTPUT으로 설정 ard.pinMode(ledPin, Arduino.OUTPUT);
}
2. 아두이노와 프로세싱 통신(5)
◉ 프로세싱 코드 작성(3)
void draw(){
ard.digitalWrite(ledPin, Arduino.HIGH); // LED 켜기 delay(1000); // 1초 delay
ard.digitalWrite(ledPin, Arduino.LOW); // LED 끄기 delay(1000); // 1초 delay
}
2. 아두이노와 프로세싱 통신(6)
◉ 아두이노 통신 준비 과정
• 예제 파일 활용
(파일 > 예제 > Firmata > StandarsFirmata)
• 파일 업로드가 완료되면 통신 준비 완료
• 통신을 위해서 Arduino(Firmata) 라이브러리 설정
2. 아두이노와 프로세싱 통신(7)
◉ 아두이노 코드 작성
• 파일 > 예제 > Firmata > StandardFirmata
2. 아두이노와 프로세싱 통신(8)
◉ 파일 업로드
학습하기가 끝났습니다.
다음페이지 버튼을 클릭하여
평가문항을 풀어보세요. 프로그램 실습
※ 자료실에서 프로그램 소스 코드를 다운로드 받으세요.
실습
1. 편집 프로그램 실습(1)
1. 상단 메뉴에는 파일, 편집, 스캐치, Debug, 도구, 도움말이 있으며, 빠른 버튼으로는 실행과 스톱 버튼이 있고, 하단에 콘솔 창 등이 있다.
◉ 전체화면
실습
1. 편집 프로그램 실습(2)
1. 파일 메뉴 : 새 스캐치, 열기, 예제, 환경 설정 등의 메뉴가 있음
2. 편집 메뉴 : 자동 정력, 주석 처리.해제, 들여쓰기, 내어쓰기 등의 메뉴가 있음 3. 스캐치 : 실행하기, 내부 라이브러리 추가 등의 메뉴가 있음
◉ 메뉴
실습
1. 편집 프로그램 실습(3)
1. 스캐치 폴더의 위치, 다국적 언어, 오류 검사 활성화 등의 설정이 가능하다.
2. 한글이 입력이 되지 않을 경우에는 한글 폰트를 다운 받아서 설치하여야 한다.
◉ 환경설정
실습
2. 아두이노와 프로세싱 통신 실습(1)
1. 실습 준비물 : 컴퓨터(1대), 아두이노 보드(1개), 케이블(1개) 2. 아두이노와 프로세싱 간의 시리얼 통신을 실행한다.
◉ 실습 준비물
실습
2. 아두이노와 프로세싱 통신 실습(2)
1. 아두이노 통합 개발 환경에서 파일 > 예제 > Firmata > StandarsFirmata 파일을 불러온다.
2. 파일 업로드가 완료되면 툴 메뉴에서 통신 포트를 확인 한 후 파일을 업로드한다.
3. 통신을 위해서 Arduino(Firmata) 라이브러리를 설정한다.
◉ 실습 소스(1)
실습
2. 아두이노와 프로세싱 통신 실습(3)
1. 스케치 프로그램에서 라이브러리를 설치한다.
(설치 과정 : 스케치 → 내부 라이브러리 → Arduino(Firmata) → Install)
◉ 실습 소스(2)
실습
2. 아두이노와 프로세싱 통신 실습(4)
2. 프로세싱, 아두이노, Firmata 등의 라이브러리를 선언한다.
3. println(Arduino.list()) : 아두이노와 연결된 포트(COM) list 확인
4. ard = new Arduino(this, Arduino.list()[0], 57600) : 새로운 객체 생성 Arduino,list() 함수가 안 될 경우 통신 포트를 직접 설정(“COM5”)
◉ 실습 소스(3)
실습
2. 아두이노와 프로세싱 통신 실습(5)
1. (300, 300) size 크기의 창이 생성된다.
2. 콘솔 창에는 통신 포트가 표시된다.
3. 아두이노 보드에는 1초마다 LED가 깜빡인다.