[iot] make with open h/w + node.js - 4th

64
circul.us Opensource H/W + Node JS IoT 따라잡기 Lesson 4 CIRCULUS http://www.circul.us Expand your dimension

Upload: park-jonggun

Post on 15-Jul-2015

1.623 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Opensource H/W + Node JS

IoT 따라잡기

Lesson 4

CIRCULUS http://www.circul.us

Expand your dimension

Page 2: [IoT] MAKE with Open H/W + Node.JS - 4th

누구나 로봇을 만드는 그날까지!

Circulus Robot CULU

Page 3: [IoT] MAKE with Open H/W + Node.JS - 4th

Lesson 1 Introduction

Lesson 2 Linux

Lesson 3 NodeJS

Lesson 4 Sensor

Lesson 5 Project

Lesson 4 Sensor

Page 4: [IoT] MAKE with Open H/W + Node.JS - 4th

GPIO 기초

Lesson 4

Page 5: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

GPIO

GPIO (General Purpose Input Output)

일반적인 입/출력을 제공하는 단자로써, 하나의

단자로 입력 또는 출력이 고정되지 않고 선택적

으로 입력/출력이 가능. 하지맊 동시에 입력과

출력을 겸용으로 핛 수 없음. 사용 목적에 따라

먼저 GPIO모드 설정을 해야 함.

Raspberry Pi는 21개의 GPIO를 제공하고 있는

데, 그 중에 17개는 Pin Head 로 구성되어 있고,

나머지 8개는 보드에 Pin Head 를 세워서 사용

핛 수 있음.

기존 A,B 모델에 비해 A+, B+, B2 는 26개에서 40개로 20여개가 증가함

Page 6: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

GPIO

공식 GPIO

WiringPi 를 사용하지 않고

직접 GPIO 에서 연결하는

센서 혹은 하드웨어 연결 시

해당 GPIO 번호를 이용하여

사용함

WiringPi GPIO

Wiring Pi 를 이용하는 경우,

실제 사용하는 Pin 번호와

Wiring Pi 가 사용하는 Pin

번호가 차이가 있으므로 사

용시 주의가 필요함

Page 7: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

SPI

직렬 주변기기 인터페이스 버스

Serial Peripheral Interface (SPI) Bus

아키텍처 젂이중 통싞 모드로 동작하는

모토로라 아키텍처에 이름을 딴 동기화

직렬 데이터 연결 표준임.

장치들은 마스터 슬레이브 모드로 통싞하

며 여기서 마스터 장치는 데이터 프레임

을 초기화핚다. 여러 슬레이브 장치들은

개별 슬레이브 셀렉트 (칩 셀렉트) 라인과

함께 동작핛 수 있음.

SCLK

직렬 클럭

(마스터로부터의 출력)

MOSI

마스터 출력, 슬레이브 입력

(마스터로부터의 출력)

MISO

마스터 입력, 슬레이브 출력

(슬레이브로부터의 출력)

SS

슬레이브 셀렉트

(active low, 마스터로부터의 출력)

Page 8: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

I2C

I²C(Inter-Integrated Circuit, 아이-스퀘어-씨)

필립스에서 개발핚 직렬 컴퓨터 버스이며 마더보드, 임베디드 시스템, 휴대젂

화등에 저속의 주변 기기를 연결하기 위해 사용.

I2C는 이종 컴퓨터갂의 데이타 통싞을 위해 사용되는 것으로 SPI와 그 목적은

같지맊, 클럭선과 데이타선으로 단 두 개맊의 선맊으로 통싞을 하게 됨. 주로

마이크로콘트롤러가 마스터가 되고, 주변 장치들이 슬레이브가 되어, 주변 장

치의 정보를 취득하는 용도로 맋이 사용됨.

Page 9: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

PWM

Pulse Width Modulation

표본화 펄스의 짂폭을 일정하고, 그 펄스 폭을 젂송하고자 하는 싞호에 따라

변화 시키는 변조 방식

Page 10: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

RS232

RS-232

PC와 음향 커플러, 모뎀 등을 접속하는 직

렬 방식의 인터페이스의 하나임. 인터페이

스는 포트라고도 하여 일반적으로 직렬 포

트라고 불리기도 핚다.

현재 주변기기의 접속 용도에는 USB,

IEEE1394 등과 통싞 용도로는 이더넷

(ethernet) 등에 그 역핛이 대체되고 있음.

하지맊 노이즈에 큰 영향을 받지 않고 먼

곳까지 싞호를 젂달하고, 단순하게 사용하

기 위해서는 아직까지도 유용하다.

Page 11: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Resistor

Page 12: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Resistor

성능이 낮은 젂도체의 양쪽 끝 또는 측면에 도선이나 젂도체 2개가 붙어있는

형태로 되어 있음 단위는 옴(ohm) 이며, 기호로는 그리스어의 오메가를 사용

- 캐패시터 충젂율 제핚

- 양극성 트랚지스터와 같은 반도체 부품의 젂압 제어

- LED 또는 기타 반도체 부품의 과다 젂류 방지

- 다른 부품과 결합하여 사용하는 오디오 회로에서 주파수 응답의 조정 또는

제핚

- 디지털 녺리 회로에 입력되는 젂압의 풀업 저항 또는 풀 다욲 저항용

- 회로 내 핚 지점에서의 젂압 제어용

Page 13: [IoT] MAKE with Open H/W + Node.JS - 4th

기본 모듈 실습

Lesson 4

Page 14: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Speaker

3.5 mm (Sound)

USB (Power)

Page 15: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

WAV 재생

오디오 재생은 ANALOG(3.5mm) 혹은 HDMI 를 통해 출력. 기본적으로는

HDMI, 그 이외의 경우는 ANALOG 로 출력되나, 수동으로 조정 가능

출력 설정 1 : 자동, 2 : HDMI, 3 : Analog (3.5mm) 을 의미 함

$ amixer cset numid=3 1 // 1 : audo

$ amixer cset numid=3 3 // 3: Analog 3.5m, 2 :HDMI

샘플용 wave 다운로드

$ wget http://www.freespecialeffects.co.uk/soundfx/sirens/police_s.wav

WAV 파일 재생 WAV 파일을 재생하기 위해서는 내장되어 있는 aplay 를 이용 함

$ aplay police_s.wav

Page 16: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

MP3 파일을 재생하기 위해서는 대표적으로 MPG321 플레이어를 홗용함.

재생시 볼륨을 지정하여 사용핛 수 있음

패키지 설치

$ sudo apt-get install mpg321

샘플 다운로드

$ wget http://goo.gl/MOXGX3 -O example.mp3

일반 재생

$ mpg321 bubbling_water_1.mp3

볼륨 50% 재생

$ mpg321 -g 50 bubbling_water_1.mp3

MP3 재생

Page 17: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

APLAY 나 MPG321 의 경우 제핚된 파일맊을 재생핛 수 있어 오디오 재생시

제약이 있음. 다양핚 형식과 비디오 재생을 위해서 OMXPLAYER 홗용

패키지 설치 (기본적으로 설치되어 있음)

$ sudo apt-get install omxplayer

일반 재생

$ omxplayer example.mp3

강제 HDMI 출력 재생

$ omxplayer -o hdmi example.mp3

강제 ANALOG 출력 재생

$ omxplayer -o local example.mp3

기타 오디오 재생

Page 18: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

내장 LED 제어

라즈베리파이에 내장되어 있는 PWR와 ACT LED 를 리눅스 명령을 이용하여

사용자가 임의로 제어핛 수 있음

ACT LED (GREEN) 제어

$ echo 1 | sudo tee /sys/class/leds/led0/brightness # Onboard 녹색 LED 켜기

$ echo 0 | sudo tee /sys/class/leds/led0/brightness # Onboard 녹색 LED 끄기

PWR LED (RED) 제어

$ echo 1 | sudo tee /sys/class/leds/led1/brightness # Onboard 적색 LED 켜기

$ echo 0 | sudo tee /sys/class/leds/led1/brightness # Onboard 적색 LED 끄기

Page 19: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

시스템 온도/정보 감지

vcgencmd 명령을 이용하여, 라즈베리파이의 온도, 속도, 젂압, 메모리 핛당

정보등을 획득핛 수 있음

$ vcgencmd measure_temp # CPU 온도 측정

$ vcgencmd measure_volts core # CPU 젂압 측정

$ vcgencmd measure_clock arm # CPU 속도 측정

$ vcgencmd get_mem arm # CPU 핛당 메모리 측정

$ vcgencmd get_mem gpu # GPU 핛당 메모리 측정

Page 20: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

라즈베리파이 USB 젂원을 On, Off 핛수 있으나, 자체 칩셋이 USB 하나로 4

개의 USB와 LAN 을 제어하는 구조로 되어있음. 따라서 USB 젂원을 OFF 하면

4개의 USB 와 LAN 장치도 젂원이 OFF 되고, ON 을 하면 4개의 USB와 LAN

장치가 ON 됨

USB 비 홗성화 (전원 OFF) 하기

$ echo 1-1 | sudo tee /sys/bus/usb/drivers/usb/unbind

USB 홗성화 (전원 ON) 하기

$ echo 1-1 | sudo tee /sys/bus/usb/drivers/usb/bind

USB 전원 제어

Page 21: [IoT] MAKE with Open H/W + Node.JS - 4th

고급 모듈 실습

Lesson 4

Page 22: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Modules

Page 23: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

센서(Sensor) - 감지기 感知器

영어(sensor)로 직역하면 '느끼는 자'로, 무언가를 감각하는 것을 말핚다. 즉,

센서는 무언가를 느끼는 것임을 알 수 있다.

또핚 핚자(感知器)로 직역하면 '감각하여 알아내는 기계'를 뜻핚다. 즉, 센서는

무언가를 느끼고, 그 감각으로부터 무언가를 알아내는 것이다. 물이 담긴 컵을

손으로 맊져서 뜨거움을 느끼면, 그 컵에는 뜨거욲 물이 담겼다는 것을 알아내

는 것과 같이 말이다.

정리하면, 센서(sensor感知器)는 외부에서 발생핚 어떤 싞호를 수집하여 알아

내는 장치이다.

즉, 빛, 소리, 화학물질, 온도 등과 같은, 감각과 관련된 싞호들을 수집하여 이

것들을 과학적인 방법으로 분석하여 외부의 상태를 알아내는 장치이다.

Sensor

Page 24: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

node.js 라이브러리 설치 $ npm install wiring-pi * 현재 구형 라즈베리파이의 26핀맊 지원, 업데이트 예정이나 아직 미정

Wiring PI

라즈베리파이에서 GPIO를 쉽게 다룰 수 있게 해주는 라이브러리로 Wiring PI

가 맋이 이용됨. NodeJS 라이브러리로 제공되어 손쉽게 개발에 이용 가능

원래 WiringPi 는

C++ 라이브러리로

공개되었으나,

NodeJS 버젂으로도

제공되고 있음

https://projects.drog

on.net/raspberry-

pi/wiringpi/

Page 25: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

LED

LED(Light Emitting Diode)

발광 다이오드는 순방향으로 젂압을 가

했을 때 발광하는 반도체 소자이다. 발광

원리는 젂계 발광 효과를 이용하고 있다.

또핚 수명도 백열등보다 매우 길다.

발광색은 사용되는 재료에 따라서 다르

며 자외선 영역에서 가시광선, 적외선 영

역까지 발광하는 것을 제조핛 수 있다.

일리노이 대학의 닉 호로니악이 1962년

에 최초로 개발하였다.

Page 26: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

LED

Page 27: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

LED 예제

2개의 LED 를 3,4 번 GPIO 에 연결하여 반복적으로 두개가 꺼졌다가 켜졌다

를 반복하는 동작을 수행 함

Page 28: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Switch

개폐기(開閉器)는 영어식 용어를 그대로

사용하여 스위치(switch)라고도 하며 젂

류의 흐름을 막거나 계속 흐르게 하는 용

도로 쓰인다

Page 29: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Switch

Page 30: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

2번 핀에 연결된 스위치를 이용하여, 2개의 LED 를 켜고 끄는 예제. 스위치가

눌리면 두개의 LED 가 점등되고, 스위치가 열리면 LED 가 소등 됨

Switch 예제

Page 31: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

대상에 초음파를 보내고 반사된 초음파를 받아

대상물의 거리, 방향을 검지핛 수 있는 센서.

Trigger 로 젂파싞호를 보내서 반사되는 싞호

를 Echo 로 젂달받아 시갂차로 거리를 측정함

초음파 센서

Page 32: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

초음파 센서

Page 33: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Trigge 와 Echo 핀에 단자를 연결하고 해당 값을 이용하여 거리를 측정핛 수

있음. Trigger 는 싞호를 넣고, Echo 로 되돌아오는 싞호를 감지 함

초음파 센서 예제

Page 34: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

초음파로 싞호를 보내고, Echo 로 돌아온 값을 받아서, 두 응답갂의 시갂차를

이용하여 실제 거리를 계산함. 계산 값은 cm 단위로 반홖 됨

초음파 센서 예제

Page 35: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

LCD

LCD (Liquid Crystal Display)

액정 디스플레이 또는 액정 표시장치

는 얇은 디스플레이 장치의 하나이

다. 젂력이 적게 소모되기 때문에 휴대

용 장치에 맋이 쓰인다.

Page 36: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

반사형 TN LCD의 구조

1. 수직 편광 필름

빛을 편광으로 맊들기 위함

2. ITO 전극을 삽입한 유리 기판

이 젂극의 모양이 LCD를 켜거나 껐

을 때 나타나는 모양을 결정핚다.

3. ITO 전극을 삽입한 유리 기판

꼬인 네마틱(Twisted Nematic) 구

조의 액정

4. 수평 편광 필름

빛을 통과시키거나 차단 함

5. 반사판

보는 사람에게 빛을 내보내기 위핚

구조

LCD

Page 37: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

1.Ground

2.VCC - 5v not 3.3v

3.Contrast adjustment (VO) from potentiometer

4.Register Select (RS). RS=0: Command, RS=1: Data

5.Read/Write (R/W). R/W=0: Write, R/W=1: Read

6.Clock (Enable). Falling edge triggered

7.Bit 0 (Not used in 4-bit operation)

8.Bit 1 (Not used in 4-bit operation)

9.Bit 2 (Not used in 4-bit operation)

10.Bit 3 (Not used in 4-bit operation)

11.Bit 4

12.Bit 5

13.Bit 6

14.Bit 7

15.Backlight LED Anode (+)

16.Backlight LED Cathode (-)

LCD

Page 38: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

LCD

마지막 두 라인은 Backlight 용도

Page 39: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

16자가 적히는 16x2 LCD 를 초기화 하고, 첫번째 줄에는 Hello Circulus! 가,

두번 째 줄에는 Raspberry Pi 가 출력되도록 구성핚다.

LCD 예제

Page 40: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

온습도 센서

디지털 온도 및 습도 센서는 온도와 습도

복합 센서의 보정 디지털 싞호 출력 됨

보편적으로 DHT11 은 저렴핚 가격에 온

도와 습도 모두를 측정하여 제공해 주어

맋이 이용되고 있음

Page 41: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

온습도 센서

Page 42: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

온습도 센서 DHT11 을 이용하기 위해서는, 라즈베리파이의 칩셋 드라이버를

설치하고 관련 라이브러리를 설치핚 후에 사용핛 수 있음

기본 라이브러리 다운로드 $ wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.38.tar.gz

기본 라이브러리 설치 $ tar zxvf bcm2835-1.38.tar.gz

$ cd bcm2835-1.38

$ ./configure

$ make

$ sudo make check

$ sudo make install

node.js 라이브러리 설치 $ npm install node-dht-sensor

라이브러리 설치

Page 43: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

온습도 센서 예제

온습도 센서를 초기화 하고, 3초마다 온도와 습도 값을 측정하여 화면에 표시

해 주는 예제 코드. node-dht-sensor 패키지가 설치되어 있어야 함

Page 44: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

조도 센서

빛의 밝기를 측정하는 센서로, BH1750

를 탑재핚 GY-302 모듈을 이용하여 실습.

I2C 버스 인터페이스를 사용하기 때문

에 젂원과 SCL과 SDA 싞호선맊 연결하

면 됨. 귺래 스마트 폮에도 조도 센서가 사

용되어 주머니나 가방 같은 곳에 들어 있

는 경우와 같이 어두욲 곳에서는 화면을

끄기 위핚 용도로 사용되고, 밝은 곳에서

는 화면의 밝기를 더욱 높여 읽기 편하게

맊드는 용도로 사용

Page 45: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

조도 센서

Page 46: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

I2C 기능 홗성화

조도센서와 자이로 센서와 같이 I2C 혹은 SPI 를 홗용하는 센서는 관련 통싞

기능이 block 되어 있으므로, 해당 블랙리스트를 제거해 주어야 핚다.

$ sudo nano /etc/modprobe.d/raspi-blacklist.conf

Page 47: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

I2C 홖경 설정용 툴 설치 $ sudo apt-get install i2c-tools

설정 적용을 위한 재 부팅 $ sudo reboot

모듈 강제 로딩 $ sudo modprobe i2c-dev

커널로 i2c 드라이버 불러오기 $ gpio load i2c

BH1750 node.js 모듈 설치 $ npm install bh1750

I2C 기능 홗성화

Page 48: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

I2C 디바이스 확인

$ ls –l /dev/i2c*

i2c-1 에 연결된 디바이스 채널 정보 확인

$ sudo i2cdetect –y 1

I2C 동작 확인

Page 49: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

조도 센서 예제

조도를 측정하는 예제로 bh1750 패키지가 사젂에 설치되어 있어야 함

Page 50: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

조도 센서 값

조도센서로 측정된 값을 홗용하여 현재 상태를 확인핛 수 있음. 아래의 표는

빛 세기에 따른 상태를 파악하는 예제 수치 (출처 : dfrobot.com)

상태 값 범위

여름 정오 경 야외 조도 1,000,000

책을 읽기 위핚 조도 50 ~ 60

비디오 시청 조도 1,400

맑은 날 실내 조도 100 ~ 1.000

흐린날 야외 조도 50 ~ 500

흐린날 실내 5 ~ 50

달빛 조도 0.02 ~ 0.3

빛 없는 밤 0.001 ~ 0.2

Page 51: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

자이로스코프(gyroscope)

방향의 측정 또는 유지에 사용되는 기구이다.

자이로스코프는 축이 어느 방향으로듞지 놓일

수 있는 회젂하는 바퀴이고 로터와 짐벌로 이

루어짂 하나의 메커니즘이며 각욲동량 보졲법

칙에 귺거핚다. 자이로스코프가 빠르게 회젂

핛 때에는, 외부에서 토크(torque; 회젂우력)

이 주어졌을 때 그 방향이 회젂에 의핚 각욲동

량(angular momentum)에 의해 회젂하지

않을 때보다 훨씬 적게 변화하게 된다. 자이로

스코프는 수평 유지 장치인 짐벌에 놓이게 되

므로 외부의 토크는 최소화되며, 장착된 받침

이 움직이더라도 그 방향은 거의 고정되게 된

다.

자이로스코프

Page 52: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

자이로스코프

Page 53: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

조도를 측정하는 예제로 bh1750 패키지가 사젂에 설치되어 있어야 함. 이 패

키지는 조도센서와 동일하게 i2c 를 홗용함

자이로스코프 예제

Page 54: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

Servor Motor

서보모터라고 하면 일반적인 모터와는 달리 움

직임을 지정하면 제어계측 회로에 의해 정확하

게 움직일 수 있는 모터란 뜻이다.

무선 조종용 서보모터는 그 자체가 완제품으로,

그 서보모터에 Horn 이라는 파츠를 달아 와이어

링, 특정 파츠를 움직일 수 있도록 해준다.

서보 컨트롤러는 내부에 내장되어 있고, 토크 때

문에 DC 를 맋이 사용핚다.

이럮 제품들은 특정 포지션으로 이동하는 것을

주 목적으로 하므로, 속도 제어나 토크 제어는

되지 않는다.

특히, 이럮 제품은 제어핛 때 PWM 시그널의 폭

을 기준으로 혺의 움직이는 각도가 변핚다.

서보 모터

Page 55: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

서보 모터

서보 모터 동작을 위해서는 제조사의 가이드에 맞추어서 동작해야 함. 이번 실

습을 위해 사용되는 모터는 Towerpro 의 SG90 모델로, 3$ 미맊의 가격으로

구입하여 손쉽게 개발에 응용 및 테스트 핛 수 있음.

참고 자료 : http://datasheet.sparkgo.com.br/SG90Servo.pdf

항목 값

무게 9g

크기 22.2 x 1.8 x 31mm

토크 1.8 kgf·cm

속도 s/60 degree

동작 젂압 4.8 V (~5V)

대역폭 10 µs

동작 온도 0 ºC ~ 55 ºC

Page 56: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

서보 모터

Page 57: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

서보 모터 예제 (HW)

서보모터를 제어하기 위해서는 PWM 을 이용하여 값을 변조하여 넣어야 함.

여기서는 라즈베리파이에서 지원하는 HW PWM 을 이용하여 동작 시킴

Page 58: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

서보 모터 예제 (SW)

PWM 을 지원하는 핀의 수가 적기 때문에 PWM 이용 장비가 맋은 경우 S/W

방식으로 대체핛 수 있음. 정밀도나 앆정성이 HW 방식에 비해 부족함.

Page 59: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

카메라

Info Spec

ll resolution 5 Megapixels

Video modes 1080p30, 720p60 and 640x480

Sensor OmniVision OV5647

Sensor resolution 2592 x 1944 pixels

Optical size 1/4"

Horizontal field of view 53.50 +/- 0.13 degrees

Vertical field of view 41.41 +/- 0.11 degress

Focal ratio (F-Stop) 2.9

라즈베리파이에 장착핛 수 있는 Pi

Camera 를 이용하면 사짂 촬영 및 동영

상 촬영이 가능하다. OpenCV 와 같은 영

상 처리 오픈소스와 결합하면 얼굴 인식

등 다양핚 분야로의 확대가 가능하다.

Page 60: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

카메라

넓은 부분의 여는 단자쪽으로 연결선의 파란색 부분이 향하도록 설치 함

Page 61: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

카메라 설정

카메라 홗성화 하기 $ sudo raspi-config

1.

5. Enable Camera

항목을 선택 함

2.

Raspberry Pi

카메라를 홗성화

시킴

3.

Finish 버튼을

클릭함

4.

Yes 버튼을 눌러

재부팅 함

Page 62: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

사짂/영상 촬영

라즈베리파이 카메라를 이용하여 사짂과 영상 촬영뿐맊 아니라, 스틑리

밍 서비스와 OpenCV 를 연동핚 이미지 분석도 가능함

https://www.raspberrypi.org/documentation/raspbian/applications/camera.md

사짂 촬영하기

$ raspistill –o cam.jpg # 일반 사짂 촬영하기

$ raspistill –vf –hf –o cam2.jpg # 좌우/상하 뒤집어 사짂 촬영하기

영상 촬영하기

$ raspivid –o vid.h264 # 일반 영상 촬영하기

$ raspivid –hf –vf –o video.h264 # 좌우/상하 뒤집어 영상 촬영하기

$ raspivid –o video.h264 –t 10000 # 10초 동앆 비디오 촬영하기

Page 63: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension circul.us

To Do List

Page 64: [IoT] MAKE with Open H/W + Node.JS - 4th

Expand your dimension

Circulus Official www.circul.us

Circulus Group group.circul.us

Team Circulus Park Jonggun, Lee Yunjai, Ki Yeonah, Lee Jonghee Since 2013