Upload
-
View
741
Download
6
Embed Size (px)
Citation preview
#3차시Codebakery in Sullivan
supported by
#학습목표
Codebakery
화성은 너무 춥고 건조해! / 레이더를 만들어보자
온습도 센서를 사용해보자!
센서가 나타내는 값을 직접 확인해보자
초음파 센서를 사용해보자!
버튼 사용하기
버튼을 사용해 LED 끄고 켜기
#목차
Codebakery
온습도 센서란?
온습도 센서 사용해보기
#01 |
#02 |
#03 | 초음파 센서
버튼 사용하기
버튼을 사용해 LED 끄고 켜기
#04 |
#05 |
Codebakery
#온습도 센서란?
Codebakery
#온습도 센서란?
온도와 습도를 측정해주는 센서
#온습도 센서 사용해보기
#라이브러리 설치
https://github.com/adafruit/DHT-sensor-library
https://goo.gl/fbJDx
or
#라이브러리 설치
클릭해 다운로드
#라이브러리 설치
다운로드 후 압축 풀고
../Arduino/libraries 폴더에 붙여넣기
#라이브러리란?
여러 복잡한 기능들을 미리 구현해두고 다른 사람들이 쉽게 사용할 수 있도록 만들어 놓은 것.
#온습도 받아오기
Codebakery
#include <DHT11.h>
int pin = 2;
DHT11 dht11(pin);
void setup() { Serial.begin(9600);}
void loop() { float temp, humi; if(dht11.read(temp, humi)==0) { Serial.println(temp); Serial.println(humi);}
}
#온습도 받아오기
#include <DHT11.h>
int pin = 2;
DHT11 dht11(pin); //dht11 라이브러리 사용 (데이터 핀 정의)
void setup() { Serial.begin(9600);}
void loop() { float temp, humi; //실수 변수 if(dht11.read(temp, humi)==0) //temp에 온도, humi에 습도값을 담는다. {
Serial.println(temp); //온도 출력 Serial.println(humi); //습도 출력
}}
Codebakery
#초음파 센서란?
사람의 귀에 들리지 않는 초음파가 가지고 있는 특성을 이용한 센서. 약 20 KHz 이상
주로 속도나 거리 측정에 사용된다.
Codebakery
#초음파 센서란?
박쥐가 물체를 탐지할때도
초음파를 사용함
#초음파 센서 사용해보기
#초음파 센서 소스 (1/2)
int echoPin = 12;
int trigPin = 13;
void setup(){
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
Codebakery
#초음파 센서 소스 (2/2)
void loop(){ float duration, distance; digitalWrite(trigPin, HIGH); delay(10); digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH); distance = ((float)(340 * duration) / 10000) / 2;
Serial.print(distance); Serial.println("cm"); delay(500);}
Codebakery
#거리공식
거리 = 속력 X 시간 음파의 속력은 (약) 340m/s
#초음파 센서 소스 설명
void loop(){ float duration, distance; // duration:시간, distance:거리 digitalWrite(trigPin, HIGH); delay(10); // 10ms 동안 초음파를 내보낸다. digitalWrite(trigPin, LOW);
#초음파 센서 소스 설명
duration = pulseIn(echoPin, HIGH); // echoPin이 HIGH를 유지한 시간을 저장한다. distance = ((float)(340 * duration) / 10000) / 2; // 거리 = 속력X시간이다. // 여기서 음파(소리)의 속력은 340m/s로 일정하고 시간은 duration으로 계산한다. // 10000으로 나누는 것은 단위를 맞춰주기 위함이고 // 2로 나누는 것은 초음파가 왕복하기 때문에 편도의 거리를 구하기 위함이다.
Serial.print(distance); Serial.println("cm"); delay(500);}
초음파센서로
일정 범위 내에 들어왔을 때 불 켜지게 또는 소리나게
해보고싶은데...
#버튼이란?
Codebakery
Push Switch 라고도 부른다.
버튼을 누르면 두 개의 접촉 부분을 연결시켜 전기가 흐르게 된다.
#버튼 사용해 LED 끄고 켜기
#버튼 사용해보기
#버튼 예제 소스
Codebakery
int pushButton = 2;
void setup() { Serial.begin(9600); pinMode(pushButton,INPUT);}
void loop() { int buttonState = digitalRead(pushButton); Serial.println(buttonState); delay(10);}
#버튼 사용해 LED 끄고 켜기
int pushButton = 2;int ledPin = 13;
void setup() { pinMode(pushButton,INPUT); pinMode(ledPin,OUTPUT);}
void loop() { int buttonState = digitalRead(pushButton); digitalWrite(ledPin,buttonState);
// buttonState is LOW(0) or HIGH(1)}
;digitalRead (pushButton)=return
#함수의 개념 설명
;digitalRead (pushButton)=return
#함수의 개념 설명
;digitalRead (pushButton)함수명 매개변수
=return반환값
#함수의 개념 설명
;digitalRead (pushButton)함수명 매개변수
=return반환값
함수에 재료를 넣어서나온 결과
#함수의 개념 설명
#digitalRead란?
Codebakery
digitalWrite
전기를 흘려보내거나 (1)
흘려보내지 않음 (0)
digitalRead
전기가 들어왔으면 (1) 전기가 들어오지 않았으면 (0)