GPIO (General PurposeInput/Output)
일반적인 목적으로 사용되는 IO(Input/Output) 핀
1 읽을 것 인가 쓸 것 인가?
2 무슨 값을 읽고 쓸 것인가?
pinMode(핀번호, 읽기/쓰기)
모드 읽기 쓰기
디지털 digitalRead digitalWrite
아날로그 analogRead analogWrite
거리(m) = (왕복시간(s)/ 2) * 340(m/s)
거리 측정 (초음파)
소리는 실내온도에서 1초에 약 340m를 날아갑니다. (340m/s)
초음파가 돌아온 시간은 (왕복시간)이니까 2로 나누어줍니다.
29.
거리 측정 (초음파)
floatdistance() {
// 트리거 ON 설정
digitalWrite(트리거핀, LOW);
delayMicroseconds(5);
digitalWrite(트리거핀, HIGH);
delayMicroseconds(5);
digitalWrite(트리거핀, LOW);
// 에코신호 대기; (pulseIn 함수는 펄스 파형이 오기까지의 시간을 구합니다.)
float us = pulseIn(에코핀, HIGH); // ms 단위
float s = (us / 1000.0 / 1000.0); // ms 단위를 s 단위로 변환
s = s / 2; // 왕복시간 이므로 2로 나눔
float d = (s * 340); // (거리) = (시간) * (음속)
return d * 100.0; // 미터를 cm 단위로 바꿈.
}
연기/가스 감지(MQ-2)
가스와 연기의농도를 전압의 세기(아날로그 신호)로
알려주기 때문에 ADC를 사용해야 합니다.
아두이노는 내장 ADC를 사용하면 되고,
라즈베리파이는 MCP3002를 별도로 사용해야 합니다.
ADC
0101
0011
32.
연기/가스 감지(MQ-2)
int smokeDensity(){
pinMode(핀번호, INPUT); // INPUT 설정
return analogRead(핀번호); // ADC를 통해 읽어옴
}
연기의 농도가
낮으면 0에 가깝게
높으면 1023에 가깝게
값이 나옵니다
33.
빛 세기 감지포토레지스터(LDR; light-dependent-resistor)
LDR은 빛의 세기에 따라 저항이 변하는 소자
빛이 강해질수록 저항이 작아집니다.
빛이 강해질수록 전류가 많이 흐릅니다.
34.
빛 세기 감지포토레지스터(LDR; light-dependent-resistor)
MQ-2와 동일하게 ADC를 사용합니다.
(아날로그 센서의 사용법은 대부분 비슷합니다)
ADC
0101
0011
35.
빛 세기 감지포토레지스터(LDR; light-dependent-resistor)
pinMode(센서핀번호, INPUT); // INPUT 설정
int value = analogRead(센서핀번호); // ADC를 통해 읽어옴
pinMode(LED핀번호, OUTPUT); // OUTPUT 설정
analogWrite(LED핀번호, value); // PWM을 통해 전압출력
빛의 세기를 ADC를 통해 입력을 받고,
그것을 PWM을 통해 출력하여 LED 밝기를 조절합니다.
빛의 세기에 따라 LED 불빛의 세기가 변하는 예제
36.
디지털 센서
아날로그 센서뿐만 아니라 디지털 센서도 존재합니다.
(I2C나 USART 통신 등을 사용합니다.)
디지털 센서의 사용법은
아두이노/라즈베리파이 서적을 참고해주세요
37.
그 외 이야기(1)- 타이머
sleep 함수는 아두이노 전체를 멈추게 합니다.
따라서 다른 작업을 할 수가 없습니다.
이보다 더 좋은 방법은…
타이머를 사용하는 겁니다
38.
그 외 이야기- 타이머
타이머를 사용하려면,
타이머 인터럽트를 이해해야 하지만
MsTimer2 라는
라이브라리가 있습니다.
39.
그 외 이야기- 타이머
#include <MsTimer2.h>
void timerCallback() {
// 타이머 수행 코드…
}
void setup() {
MsTimer2::set(500, timerCallback); // 500ms 마다 timerCallback 실행
MsTimer2::start();
}
void loop() {
}
40.
더 많은 이야기는…
이PPT이 이 책의 10%만을 담고 있습니다.
다양한 센서와 자세한 설명은
Make: 센서
테로 카르비넨, 키모 카르비넨, 빌리 발토카리 지음
남기혁, 지영민 옮김
41.
이 책을 한줄로 말하자면요…
3.5/5
다양한 센서와 활용법을 접할 수가 있어요.
코드가 첨부되어있어서 좋았어요.
회로가 나와있어서 따라가기 쉬웠어요.
백과사전식 구성으로 돼있어서 찾기가 쉬워요.
센서의 원리에 대해 다루었으면 하는 아쉬움이 있어요.
http://qnrdlqkrwhdgns.canxan.com