SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Opensource H/W + Node JS
IoT 따라잡기
Day 2
GPIO 기초
GPIO
GPIO란?
GPIO(General Purpose Input Output)일반
적인 입/출력을 제공하는데, 하나의 단자로
입력 또는 출력이 고정되지 않고 선택적으
로 입력/출력이 가능하다. 하지만 동시에
입력과 출력을 겸용으로 할 수는 없다. 사
용 목적에 따라 먼저 GPIO모드 설정을 해
야합니다.
Raspberry Pi는 21개의 GPIO를 제공하고
있는데, 그 중에 17개는 핀헤드로 구성되어
있고, 나머지 8개는 보드에 핀헤드를 세워
서 사용할 수 있습니다.
SPI
직렬 주변기기 인터페이스 버스
(Serial Peripheral Interface Bus) 또는 SPI 버스
아키텍처 전이중 통신 모드로 동작하는 모토로라 아키텍처
에 이름을 딴 동기화 직렬 데이터 연결 표준이다. 장치들은
마스터 슬레이브 모드로 통신하며 여기서 마스터 장치는 데
이터 프레임을 초기화한다. 여러 슬레이브 장치들은 개별 슬
레이브 셀렉트 (칩 셀렉트) 라인과 함께 동작할 수 있다.
SCLK: 직렬 클럭 (마스터로부터의 출력)
MOSI; SIMO: 마스터 출력, 슬레이브 입
력 (마스터로부터의 출력)
MISO; SOMI: 마스터 입력, 슬레이브 출
력 (슬레이브로부터의 출력)
SS: 슬레이브 셀렉트 (active low, 마스
터로부터의 출력).
I2C
I²C(Inter-Integrated Circuit, 아이-스퀘어-씨)
필립스에서 개발한 직렬 컴퓨터 버스이며 마더보드, 임베디
드 시스템, 휴대전화등에 저속의 주변 기기를 연결하기 위해
사용된다.
I2C는 이종 컴퓨터간의 데이타 통신을 위해 사용되는 것으로
SPI와 그 목적은 같지만, 클럭선과 데이타선으로 단 두 개만
의 선만으로 통신을 하게된다. 주로 마이크로콘트롤러가 마
스터가 되고, 주변 장치들이 슬레이브가 되어, 주변 장치의
정보를 취득하는 용도로 많이 사용된다
PWM
Pulse Width Modulation
표본화 펄스의 진폭을 일정하고 그 펄스 폭을 전송하고자
하는 신호에 따라 변화 시키는 변조 방식
RS232
...
RS-232는 PC와 음향 커플러, 모뎀 등을 접속하는 직렬 방식
의 인터페이스의 하나이다. 인터페이스는 포트라고도 하여
일반적으로 직렬 포트라고 불리기도 한다.
주변기기의 접속 용도에는 USB, IEEE1394 등과 통신 용도로
는 이더넷(ethernet) 등에 그 역할이 대체되고 있다. 그러나
노이즈에 큰 영향을 받지 않고 먼 곳까지 신호를 전달하고,
단순하게 사용하기 위해서는 아직까지도 유용하다.
Resistor
Resistor
성능이 낮은 전도체의 양쪽 끝 또는 측면에 도선이나 전도체
2개가 붙어있는 형태로 되어있음 단위는 옴(ohm) 이며, 기호
로는 그리스어의 오메가를 사용
- 캐패시터 충전율 제한
- 양극성 트랜지스터와 같은 반도체 부품의 전압 제어
- LED 또는 기타 반도체 부품의 과다 전류 방지
- 다른 부품과 결합하여 사용하는 오디오 회로에서 주파수
응답의 조정 또는 제한
- 디지털 논리 회로에 입력되는 전압의 풀업 저항 또는 풀
다운 저항용
- 회로 내 한 지점에서의 전압 제어용
기본 모듈
Modules
센서(sensor, 문화어: 감지기, 感知器)
영어(sensor)로 직역하면 '느끼는 자'로, 무언가를 감각하는
것을 말한다. 즉, 센서는 무언가를 느끼는 것임을 알 수 있다.
또한 한자(感知器)로 직역하면 '감각하여 알아내는 기계'를
뜻한다. 즉, 센서는 무언가를 느끼고, 그 감각으로부터 무언
가를 알아내는 것이다. 물이 담긴 컵을 손으로 만져서 뜨거
움을 느끼면, 그 컵에는 뜨거운 물이 담겼다는 것을 알아내
는 것과 같이 말이다.
정리하면, 센서(sensor感知器)는 외부에서 발생한 어떤 신호
를 수집하여 알아내는 장치이다.
즉, 빛, 소리, 화학물질, 온도 등과 같은, 감각과 관련된 신호
들을 수집하여 이것들을 과학적인 방법으로 분석하여 외부
의 상태를 알아내는 장치이다.
Sensors
Speaker - Module
3.5 mm (Sound)
USB (Power)
Speaker
amixer cset numid=3 n
오디오 재생은 ANALOG(3.5mm) 혹은 HDMI 를 통해 출력할
수 있다. 기본적으로는 HDMI 케이블이 연결된 경우는 HDMI,
그 이외의 경우는 ANALOG 로 출력되나, 수동으로 출력을
조절할 수 있다.
n은 출력 방식으로, 0 은 Auto, 1 은 Analog, 2 는 HDMI 이
다. ANALOG(3.5mm) 로 출력하고자 하면 다음과 같이 설정
한다.
amixer cset numid=3 1
Speaker
WAV 재생
샘플용 wave 다운로드
wget http://www.freespecialeffects.co.uk/soundfx/sirens/police_s.wav
wav 파일 재생
aplay police_s.wav
Speaker
MP3 재생
패키지 설치
sudo apt-get install mpg321
샘플 다운로드
wget
http://www.freespecialeffects.co.uk/soundfx/household/bub
bling_water_1.mp3
일반 재생
mpg321 bubbling_water_1.mp3
볼륨 50% 재생
mpg321 -g 50 bubbling_water_1.mp3
Speaker
OMXPlayer
패키지 설치 (기본적으로 설치되어 있음)
sudo apt-get install omxplayer
샘플 다운로드
wget http://goo.gl/MOXGX3 -O example.mp3 --no-check-
certificate
일반 재생
omxplayer example.mp3
강제 HDMI 출력 재생
omxplayer -o hdmi example.mp3
강제 HDMI 출력 재생
omxplayer -o local example.mp3
LED
발광 다이오드는 순방향으로
전압을 가했을 때 발광하는 반
도체 소자이다. LED(Light
Emitting Diode)라고도 불린다.
발광 원리는 전계 발광 효과를
이용하고 있다. 또한 수명도 백
열등보다 매우 길다.
발광색은 사용되는 재료에 따
라서 다르며 자외선 영역에서
가시광선, 적외선 영역까지 발
광하는 것을 제조할 수 있다. 일
리노이 대학의 닉 호로니악이
1962년에 최초로 개발하였다.
LED
Source Code
소스 코드
var wpi = require(‘wiring-pi');
var sleep = require(‘sleep’);
wpi.setup ('gpio');
wpi.wiringPiSetup();
wpi.pinMode(3, wpi. OUTPUT);
wpi.pinMode(4, wpi. OUTPUT);
while(true){
wpi.digitalWrite(3, wpi.LOW);
wpi.digitalWrite(4, wpi.HIGH);
sleep.sleep(1);
wpi.digitalWrite(3, wpi.HIGH);
wpi.digitalWrite(4, wpi.LOW);
sleep.sleep(1);
}
Switch
개폐기(開閉器)는 영어식 용어를 그대로 사
용하여 스위치(switch)라고도 하며 전류의
흐름을 막거나 계속 흐르게 하는 용도로 쓰
인다
LED
Source Code
소스 코드
var wpi = require(‘wiring-pi');
wpi.setup ('gpio');
wpi.wiringPiSetup();
wpi.pinMode(2, wpi. INPUT);
wpi.pinMode(3, wpi. OUTPUT);
wpi.pinMode(4, wpi. OUTPUT);
while(true){
if(wpi.digitalRead(2) == wpi.HIGH){
wpi.digitalWrite(3, wpi.HIGH);
wpi.digitalWrite(4, wpi.HIGH);
} else {
wpi.digitalWrite(3, wpi.LOW);
wpi.digitalWrite(4, wpi.LOW);
}
}
USB LED
...
Source Code
소스 코드
var wpi = require(‘wiring-pi');
// Instantiate and initialize.
wpi.pinMode(18, wpi. PWM_OUTPUT);
wpi.digitalWrite(18, wpi.HIGH);
wpi.pwmWrite(18, 200); 회전..
고급 모듈
Sensors
대상에 초음파를 보내고 반사된 초음파를
받아 대상물의 거리, 방향을 검지할 수 있
는 센서.
LCD
Source Code
var wpi = require( 'wiring-pi' );
var sleep = require('sleep');
var microtime = require('microtime');
wpi.setup ('gpio');
wpi.wiringPiSetup();
var trig = 0;
var echo = 2;
wpi.pinMode ( trig, wpi.OUTPUT); // ultra trigger
wpi.pinMode ( echo, wpi.INPUT); // ultra echo
node.js 라이브러리 설치
> npm install wiring-pi
> npm install sleep
> npm install microtime
Source Code
function getDistance(trig, echo){
wpi.digitalWrite (trig , wpi.LOW);
sleep.usleep(2);
wpi.digitalWrite (trig, wpi.HIGH);
sleep.usleep(20);
wpi.digitalWrite (trig, wpi.LOW);
var cnt1 = 0;
var cnt2 = 0;
while(wpi.digitalRead(echo) == wpi.LOW) {
if (cnt1++ > 1000) { break; }
}
var start_time = microtime.now();
while(wpi.digitalRead(echo) == wpi.HIGH) {
if (cnt2++ > 10000) { break; }
}
var end_time = microtime.now();
var travelTime = end_time - start_time;
var distance = travelTime / 58;
return distance;
}
Source Code
소스 코드
LCD
액정 디스플레이 또는 액정 표시장치,
줄여서 LCD(liquid crystal display)는
얇은 디스플레이 장치의 하나이
다. 전력이 적게 소모되기 때문에 휴
대용 장치에 많이 쓰인다.
LCD
반사형 TN(twisted nematic) LCD의 구조
빛을 편광으로 만들기 위한 수직 편광 필름
ITO 전극을 삽입한 유리 기판. 이 전극의
모양이 LCD를 켜거나 껐을 때 나타나는 모
양을 결정한다.
꼬인 네마틱(twisted nematic) 구조의 액정
ITO 전극을 삽입한 유리 기판
빛을 통과시키거나 차단할 수 있는 수평 편
광 필름
보는 사람에게 빛을 내보내기 위한 반사판
LCD
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 (we won't use this pin)
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
Source Code
lcd = new Lcd({rs:17, e:18, data:[22,23,24,25], cols:16, rows:2}); // pin initialization – broadcom pin
lcd.on('ready', function () {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print('hello circulus');
setTimeout(function(){
lcd.setCursor(0, 1);
lcd.print('RASPBERRY');
},100);
});
// If ctrl+c is hit, free resources and exit.
process.on('SIGINT', function () {
lcd.close();
process.exit();
});
Source Code
소스 코드
Sensors
디지털 온도 및 습도 센서는 온도와 습도
복합 센서의 보정 디지털 신호 출력됩니다.
LCD
Source Code
기본 라이브러리 다운로드
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
Source Code (general)
var sensorLib = require('node-dht-sensor');
var sensor = {
initialize: function () {
return sensorLib.initialize(11, 4);
},
read: function () {
var readout = sensorLib.read();
console.log('Temperature: ' +
readout.temperature.toFixed(2) + 'C, ' +
'humidity: ' + readout.humidity.toFixed(2) + '%');
setTimeout(function () {
sensor.read();
}, 2000);
}
};
Source Code
소스 코드
Sensors
빛의 밝기를 측정하는 조도(照度) 센서
BH1750를 탑재한 GY-302 모듈을 붙여 보
았습니다. I2C 버스 인터페이스를 사용하기
때문에 전원과 SCL과 SDA 신호선만 연결
하면 됩니다. 요즈음 스마트 폰에도 조도
센서가 사용되어 주머니나 가방 같은 곳에
들어 있는 경우와 같이 어두운 곳에서는 화
면을 끄기 위한 용도로 사용되고, 밝은 곳
에서는 화면의 밝기를 더욱 높여 읽기 편하
게 만드는 용도로 사용
LCD
Source Code
I2C, SPI 기능 활성화
기본적으로 I2C, SPI 통신 기능이 block 되어 있으므로, 해당
블랙리스트를 제거해 주어야 한다.
$ sudo nano /etc/modprobe.d/raspi-blacklist.conf
#blacklist spi and i2c by default (many users don’t need
them)
#blacklist spi-bcm2708
#blacklist i2c-bcm2708
Source Code
I2C 설정
I2C 환경 설정용 툴 설치 및 다운로드
$ sudo apt-get install i2c-tools
설정 적용을 위한 재 부팅
$ sudo reboot
모듈 강제 로딩
$ sudo modprobe i2c-dev
커널로 i2c 드라이버 불러오기
$ gpio load i2c
Source Code
I2C 디바이스 확인
$ ls –l /dev/i2c*
i2c-1 에 연결된 디바이스 채널 정보 확인
$ sudo i2cdetect –y 1
BH1750 node.js 모듈 설치
$ npm install bh1750
Source Code
var BH1750 = require('bh1750');
var light = new BH1750();
light.readLight(function(value){
console.log(value);
});
Source Code
소스 코드
Sensors
자이로스코프(gyroscope)는 방향의 측정
또는 유지에 사용되는 기구이다.
자이로스코프는 축이 어느 방향으로든지
놓일 수 있는 회전하는 바퀴이고 로터와 짐
벌로 이루어진 하나의 메커니즘이며 각운
동량 보존법칙에 근거한다. 자이로스코프
가 빠르게 회전할 때에는, 외부에서 토크
(torque; 회전우력)이 주어졌을 때 그 방향
이 회전에 의한 각운동량(angular
momentum)에 의해 회전하지 않을 때보다
훨씬 적게 변화하게 된다. 자이로스코프는
수평 유지 장치인 짐벌에 놓이게 되므로 외
부의 토크는 최소화되며, 장착된 받침이 움
직이더라도 그 방향은 거의 고정되게 된다.
LCD
Source Code
*사전에 I2C 설정이 되어있어야 함
noedjs 패키지 설치
$ npm install mpu6050
Source Code
소스 코드
var mpu6050 = require('mpu6050');
// Instantiate and initialize.
var mpu = new mpu6050();
mpu.initialize();
// Test the connection before using.
if (mpu.testConnection()) {
console.log(mpu.getMotion6());
} // Put the MPU6050 back to sleep.
mpu.setSleepEnabled(1);
Source Code
소스 코드
Servo Motor
서보모터라고 하면 일반적인 모터(원형으
로 빙빙 돌기만 함)와는 달리 움직임을 지
정하면 제어계측 회로에 의해 정확하게 움
직일 수 있는 모터란 뜻이다.
스텝모터를 각도를 조절해서 움직일 수 있
기 때문에 서보모터라고 착각할 수 있는데
회전상태를 파악하는 구조를 갖추지 않아
서보메커니즘이 없기 때문에 서보모터라고
할 수 없다.
무선 조종용 서보모터는 그 자체가 완제품
으로, 그 서보모터에 Horn 이라는 파츠를
달아 와이어링, 특정 파츠를 움직일 수 있
도록 해준다.
서보 컨트롤러는 내부에 내장되어 있고, 토
크 때문에 DC 를 많이 사용한다.
이런 제품들은 특정 포지션으로 이동하는
것을 주 목적으로 하므로, 속도 제어나 토
크 제어는 되지 않는다.
특히, 이런 제품은 제어할 때 PWM 시그널
의 폭을 기준으로 혼의 움직이는 각도가 변
한다.
LCD
Source Code
Source Code
소스 코드
var wpi = require(‘wiring-pi');
// Instantiate and initialize.
wpi.pinMode(18, wpi. PWM_OUTPUT);
wpi.digitalWrite(18, wpi.HIGH);
wpi.pwmWrite(18, 200); 회전..
카메라 활용
Camera
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 와 같은 영상 처리 오픈
소스와 결합하면 얼굴 인식등 다양한 분야
로의 확대가 가능하다.
Source Code
카메라 활성화 하기
$ sudo raspi-config
Enable camera – Enter - Finish
사진 촬영하기
$ raspistill –o cam.jpg
사진 좌우/상하 뒤집기
$ raspistill –vf –hf –o cam2.jpg
Source Code
영상 촬영하기
$ raspivid –o vid.h264
영상 좌우/상하 뒤집기
$ raspivid –hf –vf –o video.h264
10초 동안 비디오 촬영하기
$ raspivid –o video.h264 –t 10000
http://www.raspberrypi.org/documentation/raspbian/applic
ations/camera.md
Advanced
Expand your dimension
Circulus (http://www.circul.us) Since 2013
Park Jonggun, Lee Yunjai, Ki Yeonah, Lee Jonghee

Weitere ähnliche Inhalte

Was ist angesagt?

허봉춘씨의 파란만장한 IoT 보드 만들기
허봉춘씨의 파란만장한 IoT 보드 만들기허봉춘씨의 파란만장한 IoT 보드 만들기
허봉춘씨의 파란만장한 IoT 보드 만들기Bongjun Hur
 
IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1Park Jonggun
 
라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상Jin-Hyun Park
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5thPark Jonggun
 
[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1stPark Jonggun
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
 
About raspberrypi
About raspberrypiAbout raspberrypi
About raspberrypiYeonah Ki
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to ArduinoSeokjun Kim
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본Dong Hwa Jeong
 
아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문Sangjun Han
 
아두이노 & 라즈베리파이
아두이노 & 라즈베리파이아두이노 & 라즈베리파이
아두이노 & 라즈베리파이JongyoonWon1
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)JongyoonWon1
 
04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습봉조 김
 
[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남yuna cho
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업Won Jun Song
 
라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoTCirculus
 
NodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYNodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYHakyong Kim
 
IoT Devices And Arduino
IoT Devices And ArduinoIoT Devices And Arduino
IoT Devices And Arduino영욱 김
 
Meteor로 공공 IoT한 썰.slides
Meteor로 공공 IoT한 썰.slidesMeteor로 공공 IoT한 썰.slides
Meteor로 공공 IoT한 썰.slidesJaeho Lee
 

Was ist angesagt? (20)

허봉춘씨의 파란만장한 IoT 보드 만들기
허봉춘씨의 파란만장한 IoT 보드 만들기허봉춘씨의 파란만장한 IoT 보드 만들기
허봉춘씨의 파란만장한 IoT 보드 만들기
 
IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1IoT with Raspberry Pi + Node JS - Chapter 1
IoT with Raspberry Pi + Node JS - Chapter 1
 
라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상라즈베리파이로 시작하는 Iot세상
라즈베리파이로 시작하는 Iot세상
 
[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th[IoT] MAKE with Open H/W + Node.JS - 5th
[IoT] MAKE with Open H/W + Node.JS - 5th
 
PI day in COREA
PI day in COREAPI day in COREA
PI day in COREA
 
[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st[IoT] MAKE with Open H/W + Node.JS - 1st
[IoT] MAKE with Open H/W + Node.JS - 1st
 
[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd[IoT] MAKE with Open H/W + Node.JS - 3rd
[IoT] MAKE with Open H/W + Node.JS - 3rd
 
About raspberrypi
About raspberrypiAbout raspberrypi
About raspberrypi
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본사물인터넷 노트4_라즈베리파이기본
사물인터넷 노트4_라즈베리파이기본
 
아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문아두이노 2015-2 한동대학교 공학설계입문
아두이노 2015-2 한동대학교 공학설계입문
 
아두이노 & 라즈베리파이
아두이노 & 라즈베리파이아두이노 & 라즈베리파이
아두이노 & 라즈베리파이
 
메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)메이커 페어 서울 2018 - 측우자격루(개발자용)
메이커 페어 서울 2018 - 측우자격루(개발자용)
 
04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습04강 라즈베리-개발환경구축-실습
04강 라즈베리-개발환경구축-실습
 
[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남[엄마정치 메이커팀] 첫 만남
[엄마정치 메이커팀] 첫 만남
 
원준갓의 IoT 수업
원준갓의 IoT 수업원준갓의 IoT 수업
원준갓의 IoT 수업
 
라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT라즈베리파이와자바스크립트로만드는 IoT
라즈베리파이와자바스크립트로만드는 IoT
 
NodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIYNodeMcu로 시작하는 사물인터넷 DIY
NodeMcu로 시작하는 사물인터넷 DIY
 
IoT Devices And Arduino
IoT Devices And ArduinoIoT Devices And Arduino
IoT Devices And Arduino
 
Meteor로 공공 IoT한 썰.slides
Meteor로 공공 IoT한 썰.slidesMeteor로 공공 IoT한 썰.slides
Meteor로 공공 IoT한 썰.slides
 

Andere mochten auch

Maze통신교육 spi통신
Maze통신교육   spi통신Maze통신교육   spi통신
Maze통신교육 spi통신geonhee kim
 
Home sensor prototype on Arduino & Raspberry Pi with Node.JS
Home sensor prototype on Arduino & Raspberry Pi with Node.JSHome sensor prototype on Arduino & Raspberry Pi with Node.JS
Home sensor prototype on Arduino & Raspberry Pi with Node.JSHyunghun Cho
 
3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpioYoung Jin Suh
 
[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2ndPark Jonggun
 
Credit Card Industry Analysis
Credit Card Industry AnalysisCredit Card Industry Analysis
Credit Card Industry Analysisnceo
 
사물인터넷 노트5_센서네트워크
사물인터넷 노트5_센서네트워크사물인터넷 노트5_센서네트워크
사물인터넷 노트5_센서네트워크Dong Hwa Jeong
 
삼성페이 개선
삼성페이 개선삼성페이 개선
삼성페이 개선leesoohyeon
 
우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가승익 황
 
신용카드 전략 Best Output
신용카드 전략 Best Output신용카드 전략 Best Output
신용카드 전략 Best Outputnceo
 
Samsung Pay, The future of Pay
Samsung Pay, The future of PaySamsung Pay, The future of Pay
Samsung Pay, The future of PayJay JH Park
 
Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례HyungTae Lim
 

Andere mochten auch (13)

Maze통신교육 spi통신
Maze통신교육   spi통신Maze통신교육   spi통신
Maze통신교육 spi통신
 
Home sensor prototype on Arduino & Raspberry Pi with Node.JS
Home sensor prototype on Arduino & Raspberry Pi with Node.JSHome sensor prototype on Arduino & Raspberry Pi with Node.JS
Home sensor prototype on Arduino & Raspberry Pi with Node.JS
 
3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio3장 라즈베리 파이와 gpio
3장 라즈베리 파이와 gpio
 
[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd[IoT] MAKE with Open H/W + Node.JS - 2nd
[IoT] MAKE with Open H/W + Node.JS - 2nd
 
[1차]모바일결제와 삼성페이(151003)
[1차]모바일결제와 삼성페이(151003)[1차]모바일결제와 삼성페이(151003)
[1차]모바일결제와 삼성페이(151003)
 
Credit Card Industry Analysis
Credit Card Industry AnalysisCredit Card Industry Analysis
Credit Card Industry Analysis
 
사물인터넷 노트5_센서네트워크
사물인터넷 노트5_센서네트워크사물인터넷 노트5_센서네트워크
사물인터넷 노트5_센서네트워크
 
삼성페이 개선
삼성페이 개선삼성페이 개선
삼성페이 개선
 
우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가우리나라는 간편결제가 왜 어려운가
우리나라는 간편결제가 왜 어려운가
 
간편결제 시스템 구상
간편결제 시스템 구상간편결제 시스템 구상
간편결제 시스템 구상
 
신용카드 전략 Best Output
신용카드 전략 Best Output신용카드 전략 Best Output
신용카드 전략 Best Output
 
Samsung Pay, The future of Pay
Samsung Pay, The future of PaySamsung Pay, The future of Pay
Samsung Pay, The future of Pay
 
Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례
 

Ähnlich wie IoT with Raspberry Pi + Node JS - Chapter 2

Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱Tae wook kang
 
02. led switch
02. led switch02. led switch
02. led switch성호 정
 
창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료유명환 FunFun Yoo
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl introNAVER D2
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습Chiwon Song
 
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Hyemin Song
 
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdfTae wook kang
 
Device interface (090721)
Device interface (090721)Device interface (090721)
Device interface (090721)대갑 김
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 3
2013 mcu( 마이크로컨트롤러 ) 수업자료 32013 mcu( 마이크로컨트롤러 ) 수업자료 3
2013 mcu( 마이크로컨트롤러 ) 수업자료 3진우 김
 
한글시계웍샵_ SW
한글시계웍샵_ SW한글시계웍샵_ SW
한글시계웍샵_ SW영광 송
 
Beacon ble.-leejunwoo@gmail.com
Beacon ble.-leejunwoo@gmail.comBeacon ble.-leejunwoo@gmail.com
Beacon ble.-leejunwoo@gmail.comJunwoo Lee
 
TestBCD2016-1(Answer)
TestBCD2016-1(Answer)TestBCD2016-1(Answer)
TestBCD2016-1(Answer)Yong Heui Cho
 
코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄Eunhee Ha
 
ICT DIY 2014 Conference - Demo & Exhibition
ICT DIY 2014 Conference - Demo & Exhibition ICT DIY 2014 Conference - Demo & Exhibition
ICT DIY 2014 Conference - Demo & Exhibition Jonathan Jeon
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Yong Heui Cho
 
Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Nanhee Kim
 
Caanoo cofiguration and u boot
Caanoo cofiguration and u bootCaanoo cofiguration and u boot
Caanoo cofiguration and u bootjumiss
 

Ähnlich wie IoT with Raspberry Pi + Node JS - Chapter 2 (20)

Arduino 특강 강태욱
Arduino 특강   강태욱Arduino 특강   강태욱
Arduino 특강 강태욱
 
Make: 센서
Make: 센서Make: 센서
Make: 센서
 
Lighteye 222
Lighteye 222Lighteye 222
Lighteye 222
 
02. led switch
02. led switch02. led switch
02. led switch
 
창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료창조경제 IoT 해커톤 교육 2일차 교육 자료
창조경제 IoT 해커톤 교육 2일차 교육 자료
 
광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro광운대[바람] 1.vhdl intro
광운대[바람] 1.vhdl intro
 
[2] 아두이노 활용 실습
[2] 아두이노 활용 실습[2] 아두이노 활용 실습
[2] 아두이노 활용 실습
 
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
Aperture : 3&4. 조도센서를 이용한 led 밝기 제어하기
 
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
오픈소스로 쉽게 따라해보는 Unreal과 IoT 연계 및 개발 방법 소개.pdf
 
P.E.S
P.E.SP.E.S
P.E.S
 
Device interface (090721)
Device interface (090721)Device interface (090721)
Device interface (090721)
 
2013 mcu( 마이크로컨트롤러 ) 수업자료 3
2013 mcu( 마이크로컨트롤러 ) 수업자료 32013 mcu( 마이크로컨트롤러 ) 수업자료 3
2013 mcu( 마이크로컨트롤러 ) 수업자료 3
 
한글시계웍샵_ SW
한글시계웍샵_ SW한글시계웍샵_ SW
한글시계웍샵_ SW
 
Beacon ble.-leejunwoo@gmail.com
Beacon ble.-leejunwoo@gmail.comBeacon ble.-leejunwoo@gmail.com
Beacon ble.-leejunwoo@gmail.com
 
TestBCD2016-1(Answer)
TestBCD2016-1(Answer)TestBCD2016-1(Answer)
TestBCD2016-1(Answer)
 
코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄코딩클럽 왕초보 아두이노따라잡기 1탄
코딩클럽 왕초보 아두이노따라잡기 1탄
 
ICT DIY 2014 Conference - Demo & Exhibition
ICT DIY 2014 Conference - Demo & Exhibition ICT DIY 2014 Conference - Demo & Exhibition
ICT DIY 2014 Conference - Demo & Exhibition
 
Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)Test-SDIC2018-2(answer)
Test-SDIC2018-2(answer)
 
Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)Digital clock using 7segment(nanheekim)
Digital clock using 7segment(nanheekim)
 
Caanoo cofiguration and u boot
Caanoo cofiguration and u bootCaanoo cofiguration and u boot
Caanoo cofiguration and u boot
 

Mehr von Park Jonggun

Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Park Jonggun
 
Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Park Jonggun
 
Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Park Jonggun
 
Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Park Jonggun
 
Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Park Jonggun
 
Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Park Jonggun
 
Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Park Jonggun
 
Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Park Jonggun
 
Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Park Jonggun
 
Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Park Jonggun
 
Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Park Jonggun
 
Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Park Jonggun
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Park Jonggun
 
[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로Park Jonggun
 
IoT with Raspberry Pi + Node JS - Chapter 3
IoT with Raspberry Pi + Node JS - Chapter 3IoT with Raspberry Pi + Node JS - Chapter 3
IoT with Raspberry Pi + Node JS - Chapter 3Park Jonggun
 
누구나코딩을 V0.04
누구나코딩을 V0.04누구나코딩을 V0.04
누구나코딩을 V0.04Park Jonggun
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus IntroductionPark Jonggun
 

Mehr von Park Jonggun (17)

Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6Start IoT with jQueryMobile - 기초6
Start IoT with jQueryMobile - 기초6
 
Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5Start IoT with jQueryMobile - 기초5
Start IoT with jQueryMobile - 기초5
 
Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4Start IoT with jQueryMobile - 기초4
Start IoT with jQueryMobile - 기초4
 
Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3Start IoT with jQueryMobile - 기초3
Start IoT with jQueryMobile - 기초3
 
Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2Start IoT with jQueryMobile - 기초2
Start IoT with jQueryMobile - 기초2
 
Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1Start IoT with jQueryMobile - 기초1
Start IoT with jQueryMobile - 기초1
 
Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입Start IoT with JavaScript - 7.프로토타입
Start IoT with JavaScript - 7.프로토타입
 
Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수Start IoT with JavaScript - 6.함수
Start IoT with JavaScript - 6.함수
 
Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2Start IoT with JavaScript - 5.객체2
Start IoT with JavaScript - 5.객체2
 
Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1Start IoT with JavaScript - 4.객체1
Start IoT with JavaScript - 4.객체1
 
Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어Start IoT with JavaScript - 3.제어
Start IoT with JavaScript - 3.제어
 
Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자Start IoT with JavaScript - 2.연산자
Start IoT with JavaScript - 2.연산자
 
Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초Start IoT with JavaScript - 1.기초
Start IoT with JavaScript - 1.기초
 
[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로[SCSA] Thinker 에서 Maker 로
[SCSA] Thinker 에서 Maker 로
 
IoT with Raspberry Pi + Node JS - Chapter 3
IoT with Raspberry Pi + Node JS - Chapter 3IoT with Raspberry Pi + Node JS - Chapter 3
IoT with Raspberry Pi + Node JS - Chapter 3
 
누구나코딩을 V0.04
누구나코딩을 V0.04누구나코딩을 V0.04
누구나코딩을 V0.04
 
Circulus Introduction
Circulus IntroductionCirculus Introduction
Circulus Introduction
 

Kürzlich hochgeladen

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 

Kürzlich hochgeladen (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 

IoT with Raspberry Pi + Node JS - Chapter 2

  • 1. Opensource H/W + Node JS IoT 따라잡기 Day 2
  • 3. GPIO GPIO란? GPIO(General Purpose Input Output)일반 적인 입/출력을 제공하는데, 하나의 단자로 입력 또는 출력이 고정되지 않고 선택적으 로 입력/출력이 가능하다. 하지만 동시에 입력과 출력을 겸용으로 할 수는 없다. 사 용 목적에 따라 먼저 GPIO모드 설정을 해 야합니다. Raspberry Pi는 21개의 GPIO를 제공하고 있는데, 그 중에 17개는 핀헤드로 구성되어 있고, 나머지 8개는 보드에 핀헤드를 세워 서 사용할 수 있습니다.
  • 4. SPI 직렬 주변기기 인터페이스 버스 (Serial Peripheral Interface Bus) 또는 SPI 버스 아키텍처 전이중 통신 모드로 동작하는 모토로라 아키텍처 에 이름을 딴 동기화 직렬 데이터 연결 표준이다. 장치들은 마스터 슬레이브 모드로 통신하며 여기서 마스터 장치는 데 이터 프레임을 초기화한다. 여러 슬레이브 장치들은 개별 슬 레이브 셀렉트 (칩 셀렉트) 라인과 함께 동작할 수 있다. SCLK: 직렬 클럭 (마스터로부터의 출력) MOSI; SIMO: 마스터 출력, 슬레이브 입 력 (마스터로부터의 출력) MISO; SOMI: 마스터 입력, 슬레이브 출 력 (슬레이브로부터의 출력) SS: 슬레이브 셀렉트 (active low, 마스 터로부터의 출력).
  • 5. I2C I²C(Inter-Integrated Circuit, 아이-스퀘어-씨) 필립스에서 개발한 직렬 컴퓨터 버스이며 마더보드, 임베디 드 시스템, 휴대전화등에 저속의 주변 기기를 연결하기 위해 사용된다. I2C는 이종 컴퓨터간의 데이타 통신을 위해 사용되는 것으로 SPI와 그 목적은 같지만, 클럭선과 데이타선으로 단 두 개만 의 선만으로 통신을 하게된다. 주로 마이크로콘트롤러가 마 스터가 되고, 주변 장치들이 슬레이브가 되어, 주변 장치의 정보를 취득하는 용도로 많이 사용된다
  • 6. PWM Pulse Width Modulation 표본화 펄스의 진폭을 일정하고 그 펄스 폭을 전송하고자 하는 신호에 따라 변화 시키는 변조 방식
  • 7. RS232 ... RS-232는 PC와 음향 커플러, 모뎀 등을 접속하는 직렬 방식 의 인터페이스의 하나이다. 인터페이스는 포트라고도 하여 일반적으로 직렬 포트라고 불리기도 한다. 주변기기의 접속 용도에는 USB, IEEE1394 등과 통신 용도로 는 이더넷(ethernet) 등에 그 역할이 대체되고 있다. 그러나 노이즈에 큰 영향을 받지 않고 먼 곳까지 신호를 전달하고, 단순하게 사용하기 위해서는 아직까지도 유용하다.
  • 9. Resistor 성능이 낮은 전도체의 양쪽 끝 또는 측면에 도선이나 전도체 2개가 붙어있는 형태로 되어있음 단위는 옴(ohm) 이며, 기호 로는 그리스어의 오메가를 사용 - 캐패시터 충전율 제한 - 양극성 트랜지스터와 같은 반도체 부품의 전압 제어 - LED 또는 기타 반도체 부품의 과다 전류 방지 - 다른 부품과 결합하여 사용하는 오디오 회로에서 주파수 응답의 조정 또는 제한 - 디지털 논리 회로에 입력되는 전압의 풀업 저항 또는 풀 다운 저항용 - 회로 내 한 지점에서의 전압 제어용
  • 12. 센서(sensor, 문화어: 감지기, 感知器) 영어(sensor)로 직역하면 '느끼는 자'로, 무언가를 감각하는 것을 말한다. 즉, 센서는 무언가를 느끼는 것임을 알 수 있다. 또한 한자(感知器)로 직역하면 '감각하여 알아내는 기계'를 뜻한다. 즉, 센서는 무언가를 느끼고, 그 감각으로부터 무언 가를 알아내는 것이다. 물이 담긴 컵을 손으로 만져서 뜨거 움을 느끼면, 그 컵에는 뜨거운 물이 담겼다는 것을 알아내 는 것과 같이 말이다. 정리하면, 센서(sensor感知器)는 외부에서 발생한 어떤 신호 를 수집하여 알아내는 장치이다. 즉, 빛, 소리, 화학물질, 온도 등과 같은, 감각과 관련된 신호 들을 수집하여 이것들을 과학적인 방법으로 분석하여 외부 의 상태를 알아내는 장치이다. Sensors
  • 13. Speaker - Module 3.5 mm (Sound) USB (Power)
  • 14. Speaker amixer cset numid=3 n 오디오 재생은 ANALOG(3.5mm) 혹은 HDMI 를 통해 출력할 수 있다. 기본적으로는 HDMI 케이블이 연결된 경우는 HDMI, 그 이외의 경우는 ANALOG 로 출력되나, 수동으로 출력을 조절할 수 있다. n은 출력 방식으로, 0 은 Auto, 1 은 Analog, 2 는 HDMI 이 다. ANALOG(3.5mm) 로 출력하고자 하면 다음과 같이 설정 한다. amixer cset numid=3 1
  • 15. Speaker WAV 재생 샘플용 wave 다운로드 wget http://www.freespecialeffects.co.uk/soundfx/sirens/police_s.wav wav 파일 재생 aplay police_s.wav
  • 16. Speaker MP3 재생 패키지 설치 sudo apt-get install mpg321 샘플 다운로드 wget http://www.freespecialeffects.co.uk/soundfx/household/bub bling_water_1.mp3 일반 재생 mpg321 bubbling_water_1.mp3 볼륨 50% 재생 mpg321 -g 50 bubbling_water_1.mp3
  • 17. Speaker OMXPlayer 패키지 설치 (기본적으로 설치되어 있음) sudo apt-get install omxplayer 샘플 다운로드 wget http://goo.gl/MOXGX3 -O example.mp3 --no-check- certificate 일반 재생 omxplayer example.mp3 강제 HDMI 출력 재생 omxplayer -o hdmi example.mp3 강제 HDMI 출력 재생 omxplayer -o local example.mp3
  • 18. LED 발광 다이오드는 순방향으로 전압을 가했을 때 발광하는 반 도체 소자이다. LED(Light Emitting Diode)라고도 불린다. 발광 원리는 전계 발광 효과를 이용하고 있다. 또한 수명도 백 열등보다 매우 길다. 발광색은 사용되는 재료에 따 라서 다르며 자외선 영역에서 가시광선, 적외선 영역까지 발 광하는 것을 제조할 수 있다. 일 리노이 대학의 닉 호로니악이 1962년에 최초로 개발하였다.
  • 19. LED
  • 20. Source Code 소스 코드 var wpi = require(‘wiring-pi'); var sleep = require(‘sleep’); wpi.setup ('gpio'); wpi.wiringPiSetup(); wpi.pinMode(3, wpi. OUTPUT); wpi.pinMode(4, wpi. OUTPUT); while(true){ wpi.digitalWrite(3, wpi.LOW); wpi.digitalWrite(4, wpi.HIGH); sleep.sleep(1); wpi.digitalWrite(3, wpi.HIGH); wpi.digitalWrite(4, wpi.LOW); sleep.sleep(1); }
  • 21. Switch 개폐기(開閉器)는 영어식 용어를 그대로 사 용하여 스위치(switch)라고도 하며 전류의 흐름을 막거나 계속 흐르게 하는 용도로 쓰 인다
  • 22. LED
  • 23. Source Code 소스 코드 var wpi = require(‘wiring-pi'); wpi.setup ('gpio'); wpi.wiringPiSetup(); wpi.pinMode(2, wpi. INPUT); wpi.pinMode(3, wpi. OUTPUT); wpi.pinMode(4, wpi. OUTPUT); while(true){ if(wpi.digitalRead(2) == wpi.HIGH){ wpi.digitalWrite(3, wpi.HIGH); wpi.digitalWrite(4, wpi.HIGH); } else { wpi.digitalWrite(3, wpi.LOW); wpi.digitalWrite(4, wpi.LOW); } }
  • 25. Source Code 소스 코드 var wpi = require(‘wiring-pi'); // Instantiate and initialize. wpi.pinMode(18, wpi. PWM_OUTPUT); wpi.digitalWrite(18, wpi.HIGH); wpi.pwmWrite(18, 200); 회전..
  • 27. Sensors 대상에 초음파를 보내고 반사된 초음파를 받아 대상물의 거리, 방향을 검지할 수 있 는 센서.
  • 28. LCD
  • 29. Source Code var wpi = require( 'wiring-pi' ); var sleep = require('sleep'); var microtime = require('microtime'); wpi.setup ('gpio'); wpi.wiringPiSetup(); var trig = 0; var echo = 2; wpi.pinMode ( trig, wpi.OUTPUT); // ultra trigger wpi.pinMode ( echo, wpi.INPUT); // ultra echo node.js 라이브러리 설치 > npm install wiring-pi > npm install sleep > npm install microtime
  • 30. Source Code function getDistance(trig, echo){ wpi.digitalWrite (trig , wpi.LOW); sleep.usleep(2); wpi.digitalWrite (trig, wpi.HIGH); sleep.usleep(20); wpi.digitalWrite (trig, wpi.LOW); var cnt1 = 0; var cnt2 = 0; while(wpi.digitalRead(echo) == wpi.LOW) { if (cnt1++ > 1000) { break; } } var start_time = microtime.now(); while(wpi.digitalRead(echo) == wpi.HIGH) { if (cnt2++ > 10000) { break; } } var end_time = microtime.now(); var travelTime = end_time - start_time; var distance = travelTime / 58; return distance; }
  • 32. LCD 액정 디스플레이 또는 액정 표시장치, 줄여서 LCD(liquid crystal display)는 얇은 디스플레이 장치의 하나이 다. 전력이 적게 소모되기 때문에 휴 대용 장치에 많이 쓰인다.
  • 33. LCD 반사형 TN(twisted nematic) LCD의 구조 빛을 편광으로 만들기 위한 수직 편광 필름 ITO 전극을 삽입한 유리 기판. 이 전극의 모양이 LCD를 켜거나 껐을 때 나타나는 모 양을 결정한다. 꼬인 네마틱(twisted nematic) 구조의 액정 ITO 전극을 삽입한 유리 기판 빛을 통과시키거나 차단할 수 있는 수평 편 광 필름 보는 사람에게 빛을 내보내기 위한 반사판
  • 34. LCD 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 (we won't use this pin) 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 (-)
  • 35. LCD
  • 36. Source Code lcd = new Lcd({rs:17, e:18, data:[22,23,24,25], cols:16, rows:2}); // pin initialization – broadcom pin lcd.on('ready', function () { lcd.clear(); lcd.setCursor(0, 0); lcd.print('hello circulus'); setTimeout(function(){ lcd.setCursor(0, 1); lcd.print('RASPBERRY'); },100); }); // If ctrl+c is hit, free resources and exit. process.on('SIGINT', function () { lcd.close(); process.exit(); });
  • 38. Sensors 디지털 온도 및 습도 센서는 온도와 습도 복합 센서의 보정 디지털 신호 출력됩니다.
  • 39. LCD
  • 40. Source Code 기본 라이브러리 다운로드 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
  • 41. Source Code (general) var sensorLib = require('node-dht-sensor'); var sensor = { initialize: function () { return sensorLib.initialize(11, 4); }, read: function () { var readout = sensorLib.read(); console.log('Temperature: ' + readout.temperature.toFixed(2) + 'C, ' + 'humidity: ' + readout.humidity.toFixed(2) + '%'); setTimeout(function () { sensor.read(); }, 2000); } };
  • 43. Sensors 빛의 밝기를 측정하는 조도(照度) 센서 BH1750를 탑재한 GY-302 모듈을 붙여 보 았습니다. I2C 버스 인터페이스를 사용하기 때문에 전원과 SCL과 SDA 신호선만 연결 하면 됩니다. 요즈음 스마트 폰에도 조도 센서가 사용되어 주머니나 가방 같은 곳에 들어 있는 경우와 같이 어두운 곳에서는 화 면을 끄기 위한 용도로 사용되고, 밝은 곳 에서는 화면의 밝기를 더욱 높여 읽기 편하 게 만드는 용도로 사용
  • 44. LCD
  • 45. Source Code I2C, SPI 기능 활성화 기본적으로 I2C, SPI 통신 기능이 block 되어 있으므로, 해당 블랙리스트를 제거해 주어야 한다. $ sudo nano /etc/modprobe.d/raspi-blacklist.conf #blacklist spi and i2c by default (many users don’t need them) #blacklist spi-bcm2708 #blacklist i2c-bcm2708
  • 46. Source Code I2C 설정 I2C 환경 설정용 툴 설치 및 다운로드 $ sudo apt-get install i2c-tools 설정 적용을 위한 재 부팅 $ sudo reboot 모듈 강제 로딩 $ sudo modprobe i2c-dev 커널로 i2c 드라이버 불러오기 $ gpio load i2c
  • 47. Source Code I2C 디바이스 확인 $ ls –l /dev/i2c* i2c-1 에 연결된 디바이스 채널 정보 확인 $ sudo i2cdetect –y 1 BH1750 node.js 모듈 설치 $ npm install bh1750
  • 48. Source Code var BH1750 = require('bh1750'); var light = new BH1750(); light.readLight(function(value){ console.log(value); });
  • 50. Sensors 자이로스코프(gyroscope)는 방향의 측정 또는 유지에 사용되는 기구이다. 자이로스코프는 축이 어느 방향으로든지 놓일 수 있는 회전하는 바퀴이고 로터와 짐 벌로 이루어진 하나의 메커니즘이며 각운 동량 보존법칙에 근거한다. 자이로스코프 가 빠르게 회전할 때에는, 외부에서 토크 (torque; 회전우력)이 주어졌을 때 그 방향 이 회전에 의한 각운동량(angular momentum)에 의해 회전하지 않을 때보다 훨씬 적게 변화하게 된다. 자이로스코프는 수평 유지 장치인 짐벌에 놓이게 되므로 외 부의 토크는 최소화되며, 장착된 받침이 움 직이더라도 그 방향은 거의 고정되게 된다.
  • 51. LCD
  • 52. Source Code *사전에 I2C 설정이 되어있어야 함 noedjs 패키지 설치 $ npm install mpu6050
  • 53. Source Code 소스 코드 var mpu6050 = require('mpu6050'); // Instantiate and initialize. var mpu = new mpu6050(); mpu.initialize(); // Test the connection before using. if (mpu.testConnection()) { console.log(mpu.getMotion6()); } // Put the MPU6050 back to sleep. mpu.setSleepEnabled(1);
  • 55. Servo Motor 서보모터라고 하면 일반적인 모터(원형으 로 빙빙 돌기만 함)와는 달리 움직임을 지 정하면 제어계측 회로에 의해 정확하게 움 직일 수 있는 모터란 뜻이다. 스텝모터를 각도를 조절해서 움직일 수 있 기 때문에 서보모터라고 착각할 수 있는데 회전상태를 파악하는 구조를 갖추지 않아 서보메커니즘이 없기 때문에 서보모터라고 할 수 없다. 무선 조종용 서보모터는 그 자체가 완제품 으로, 그 서보모터에 Horn 이라는 파츠를 달아 와이어링, 특정 파츠를 움직일 수 있 도록 해준다. 서보 컨트롤러는 내부에 내장되어 있고, 토 크 때문에 DC 를 많이 사용한다. 이런 제품들은 특정 포지션으로 이동하는 것을 주 목적으로 하므로, 속도 제어나 토 크 제어는 되지 않는다. 특히, 이런 제품은 제어할 때 PWM 시그널 의 폭을 기준으로 혼의 움직이는 각도가 변 한다.
  • 56. LCD
  • 58. Source Code 소스 코드 var wpi = require(‘wiring-pi'); // Instantiate and initialize. wpi.pinMode(18, wpi. PWM_OUTPUT); wpi.digitalWrite(18, wpi.HIGH); wpi.pwmWrite(18, 200); 회전..
  • 60. Camera 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 와 같은 영상 처리 오픈 소스와 결합하면 얼굴 인식등 다양한 분야 로의 확대가 가능하다.
  • 61. Source Code 카메라 활성화 하기 $ sudo raspi-config Enable camera – Enter - Finish 사진 촬영하기 $ raspistill –o cam.jpg 사진 좌우/상하 뒤집기 $ raspistill –vf –hf –o cam2.jpg
  • 62. Source Code 영상 촬영하기 $ raspivid –o vid.h264 영상 좌우/상하 뒤집기 $ raspivid –hf –vf –o video.h264 10초 동안 비디오 촬영하기 $ raspivid –o video.h264 –t 10000 http://www.raspberrypi.org/documentation/raspbian/applic ations/camera.md
  • 64. Expand your dimension Circulus (http://www.circul.us) Since 2013 Park Jonggun, Lee Yunjai, Ki Yeonah, Lee Jonghee