• 검색 결과가 없습니다.

10 주차 1 강 . 아두이노와프로세싱통신 IoT 의이해

N/A
N/A
Protected

Academic year: 2022

Share "10 주차 1 강 . 아두이노와프로세싱통신 IoT 의이해"

Copied!
26
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

IoT의 이해

전병현 교수

10주차 1강. 아두이노와 프로세싱 통신

(2)

학습내용

학습목표

1. 프로세싱 편집 프로그램을 활용할 수 있다.

2. 아두이노와 프로세싱 간의 통신을 실행할 수 있다.

1. 프로세싱 편집 프로그램

2. 아두이노와 프로세싱 통신

(3)

1. 프로세싱 편집 프로그램(1)

전체 화면

파일, 편집, 스캐치, Debug, 도구, 도움말

실행과 스톱 버튼, 콘솔 창

(4)

1. 프로세싱 편집 프로그램(2)

파일/편집/스케치

예제, 어플리케이션으로 내보내기, 환경설정

자동 정렬, 주석 처리/해제, 들여쓰기, 내어쓰기, 라이브러리 추가

(5)

1. 프로세싱 편집 프로그램(3)

프로세싱 환경 설정 항목

언어, 스케치 에디터 글꼴 크기, 콘솔 글꼴 크기

프로세싱 재실행 시 인터페이스 크기

전체화면보기 배경색

다국어 언어 입력 허용

오류 검사 활성화, 오류 메시지 보기 등

세부사항 변경 가능

(6)

1. 프로세싱 편집 프로그램(4)

프로세싱 환경 설정

스케치에디터 한글 주석 비활성화 시 환경설정 확인

프로세싱 폰트 설치 : http://www.dafont.com 접속

(7)

2. 아두이노와 프로세싱 통신(1)

실습 준비물

이미지

준비물 컴퓨터(1대) 아두이노 보드(1개)

이미지

준비물 USB 케이블(1개)

(8)

2. 아두이노와 프로세싱 통신(2)

프로세싱 : 스케치 → 라이브러리 추가

Arduino 입력

라이브러리 설치 확인

스케치 → 내부 라이브러리 →

Arduino (Firmata)

(9)

2. 아두이노와 프로세싱 통신(3)

프로세싱 코드 작성(1)

// 아두이노와 시리얼 통신 처리를 위한 라이브러리 import processing.serial.*;

import cc.arduino.*; // 아두이노 라이브러리 import org.firmata.*; // Firmata 라이브러리 Arduino ard; // 변수 선언

int ledPin = 13; // LED 핀 번호

void setup(){

size(300,300); // 창 크기 설정

(10)

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);

}

(11)

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

}

(12)

2. 아두이노와 프로세싱 통신(6)

아두이노 통신 준비 과정

예제 파일 활용

(파일 > 예제 > Firmata > StandarsFirmata)

파일 업로드가 완료되면 통신 준비 완료

통신을 위해서 Arduino(Firmata) 라이브러리 설정

(13)

2. 아두이노와 프로세싱 통신(7)

아두이노 코드 작성

파일 > 예제 > Firmata > StandardFirmata

(14)

2. 아두이노와 프로세싱 통신(8)

파일 업로드

(15)

학습하기가 끝났습니다.

다음페이지 버튼을 클릭하여

평가문항을 풀어보세요. 프로그램 실습

※ 자료실에서 프로그램 소스 코드를 다운로드 받으세요.

(16)

실습

1. 편집 프로그램 실습(1)

1. 상단 메뉴에는 파일, 편집, 스캐치, Debug, 도구, 도움말이 있으며, 빠른 버튼으로는 실행과 스톱 버튼이 있고, 하단에 콘솔 창 등이 있다.

전체화면

(17)

실습

1. 편집 프로그램 실습(2)

1. 파일 메뉴 : 새 스캐치, 열기, 예제, 환경 설정 등의 메뉴가 있음

2. 편집 메뉴 : 자동 정력, 주석 처리.해제, 들여쓰기, 내어쓰기 등의 메뉴가 있음 3. 스캐치 : 실행하기, 내부 라이브러리 추가 등의 메뉴가 있음

메뉴

(18)

실습

1. 편집 프로그램 실습(3)

1. 스캐치 폴더의 위치, 다국적 언어, 오류 검사 활성화 등의 설정이 가능하다.

2. 한글이 입력이 되지 않을 경우에는 한글 폰트를 다운 받아서 설치하여야 한다.

환경설정

(19)

실습

2. 아두이노와 프로세싱 통신 실습(1)

1. 실습 준비물 : 컴퓨터(1대), 아두이노 보드(1개), 케이블(1개) 2. 아두이노와 프로세싱 간의 시리얼 통신을 실행한다.

실습 준비물

(20)

실습

2. 아두이노와 프로세싱 통신 실습(2)

1. 아두이노 통합 개발 환경에서 파일 > 예제 > Firmata > StandarsFirmata 파일을 불러온다.

2. 파일 업로드가 완료되면 툴 메뉴에서 통신 포트를 확인 한 후 파일을 업로드한다.

3. 통신을 위해서 Arduino(Firmata) 라이브러리를 설정한다.

실습 소스(1)

(21)

실습

2. 아두이노와 프로세싱 통신 실습(3)

1. 스케치 프로그램에서 라이브러리를 설치한다.

(설치 과정 : 스케치 → 내부 라이브러리 → Arduino(Firmata) → Install)

실습 소스(2)

(22)

실습

2. 아두이노와 프로세싱 통신 실습(4)

2. 프로세싱, 아두이노, Firmata 등의 라이브러리를 선언한다.

3. println(Arduino.list()) : 아두이노와 연결된 포트(COM) list 확인

4. ard = new Arduino(this, Arduino.list()[0], 57600) : 새로운 객체 생성 Arduino,list() 함수가 안 될 경우 통신 포트를 직접 설정(“COM5”)

실습 소스(3)

(23)

실습

2. 아두이노와 프로세싱 통신 실습(5)

1. (300, 300) size 크기의 창이 생성된다.

2. 콘솔 창에는 통신 포트가 표시된다.

3. 아두이노 보드에는 1초마다 LED가 깜빡인다.

실행하기

(24)

실습점검

실습 재미있게 해보셨나요?

‘아두이노와 프로세싱 통신’에 대해 실습한 내용과 자신의 실습 결과물을 비교해 보세요.

1. 편집 프로그램에 대한 메뉴와 사용법에 대하여 설명할 수 있나요?

2. 아두이노 보드와 프로세싱간의 시리얼 통신에 대하여 설명할 수 있나요?

아니오

아니오

(25)

실습점검

1. 프로세싱 편집 프로그램

- 프로세싱 편집 프로그램 전체 화면을 숙지

- 파일 메뉴 및 환경 설정 및 한글이 사용 되는지를 확인 2. 아두이노와 프로세싱 통신

- Firmata 라이브러리를 추가

- 아두이노 보드의 예제 파일을 확인 - 프로세싱에 통신 포트를 확인

교수자 실습 Tip

(26)

다음시간에는…

에 대해 학습해 보겠습니다.

참고문헌

10주차. 프로세싱 통신 활용

2강. 3색 LED 제어

• 아두이노. http://www.arduino.cc

• 프로세싱. https://processing.org

• ㈜메카솔루션. http://mechasolution.com

참조

관련 문서

재외동포 모국수학 장 단기 교육과정 학생 전원은 유학생 보험을 본교에서 가입해 ( ․ ) 드립니다 수학기간 안에 병원을

<그림 1>

Facturas que respaldan crédito fiscal, que no indican en forma detallada el concepto, unidades y valores de los bienes y tampoco especifican concretamente la clase

=>

내용의 정확성 : 한글 맞춤법이나 문장부호를 잘 써야 텍스트의 내용과 의미를 정확하게 전달

현재 실행되는 멤버 함수는 paint -> paint를 소유하는 객체는 theApp -> this는 theApp 객체를 포인팅. theRectangle->draw(this);

• ‘git checkout’ 명령에 ‘<원격 저장소 이름>/<원격 저장소의 브랜치 이름>’ 인자로 줘서 특정 원격 저장소의 특정 브랜치 파일 워킹 스페이스로 가져올 수

<충무공 이순신 리더십 함양과정> 운영 사후협의회 연산중학교. <미래를 준비하는