Arduino Practice-3 - Laboratory of Intelligent Networks

Download Report

Transcript Arduino Practice-3 - Laboratory of Intelligent Networks

Ubiquitous Computing Practice
(Humidity Sensor)
Youn-Hee Han, In-Seok Kang
{yhhan, iseka}@koreatech.ac.kr
Laboratory of Intelligent Networks
Advanced Technology Research Center
Korea University of Technology
http://link.koreatech.ac.kr
.
Contents
Introduntion
Humidity Sensor
Print Humidity
TMP36 + Humidity Sensor
Fritzing
2 / 28
Arduino Pin
Digital Pin


14개의 Digital Input / Output Pin
6개의 PWM Pin 사용가능
 (3, 5, 6, 9, 10, 11 pin)
digitalWrite() - LED
digitalRead() - pushbutton
3 / 28
analogWrite()

ex) analogWrite(PinNumber, value);
4 / 28
Analog Pin


6개의 Analog Input Pin
analogRead()
 ex) analogRead(PinNumber)

센서의 값을 읽기 위해 사용
5 / 28
Introduction
6 / 28
Humidity Sensor
Features :
- Near linear, analog output
- 4-5.8VDC voltage supply
- All pins broken out to a 0.1" pitch header
- Laser trimmed interchangeability
- Low power design, typical current draw of only 200μA
- Enhanced accuracy
- Fast response time
- Stable, low drift performance
Humidity Sensor - HIH-4030 Breakout
7 / 28
습도
상대습도

상대습도는, 특정한 온도의 대기 중에 포함되어 있는 수증기의
압력을 그 온도의 포화 수증기 압력으로 나눈 것을 말한다. 다시
말해, 특정한 온도의 대기 중에 포함되어 있는 수증기의 양(중량
절대습도)을 그 온도의 포화 수증기량(중량 절대습도)으로 나눈
것이다.
절대습도

공기 1㎥ 중에 포함된 수증기의 양을 g으로 나타낸다. 수증기밀
도 또는 수증기농도라고도 하는데, 공기 중의 수증기의 포화정
도를 나타내는 상대습도와는 의미가 다르다.
8 / 28
schematic
9 / 28
Data sheet
10 / 28
PRINT HUMIDITY
11 / 28
Humidity
Voltage output

Vout =(Vsupply)0.0062(sensorRH) + 0.16)

sensorRH =(Vout/Vsupply)×(1/0.0062)- 0.16 ×(1/0.0062)
센서의 출력 전압

Vout = Vsupply × (아날로그 입력 값 /1024)

Vout / Vsupply = (아날로그 입력 값 / 1024)
SensorRH = (아날로그 입력 값/1024) X (1/0.0062) – 0.16 X (1/0.0062)
12 / 28
Humidity
13 / 28
Humidity
14 / 28
schematic
15 / 28
Sketch
float vdd = 5.0;
int indata;
float sRH;
void setup() {
Serial.begin(9600);
}
void loop() {
indata = analogRead(0); // pin number 0
sRH = (indata/1024.0)/0.0062-0.16/0.0062;
Serial.println(sRH);
delay(1000);
}
16 / 28
Result
17 / 28
TEMPERATURE + HUMIDITY
18 / 28
Temperature + humidity
Temperature compensation


RH= sensorRH /(1.0546 - 0.00216 × T)
T = Temperature
19 / 28
Temperature + humidity
20 / 28
schematic
21 / 28
Sketch
float vdd = 5.0;
int indata0, indata1;
float sRH;
float RH;
float voltage;
float temperatureC;
void setup() {
Serial.begin(9600);
}
22 / 28
Sketch
void loop() {
indata0 = analogRead(0); // pin number 0 (analog)
sRH = (indata0/1024.0)/0.0062-0.16/0.0062;
indata1 = analogRead(1); // pin number 1 (analog)
voltage = indata1*5.0/1024.0;
temperatureC = (voltage - 0.5) * 100;
Serial.print(temperatureC); Serial.println(" 'C");
}
RH=sRH/(1.0546-0.00216*temperatureC);
Serial.print(RH);
Serial.println(" RH");
Serial.println("----");
delay(1000);
23 / 28
Result
24 / 28
도전과제
25 / 28
도전과제
온도, 조도, 습도 센서의 값을 출력해보자.
26 / 28
FRITZING
27 / 28
Fritzing
http://fritzing.org/
28 / 28
Thank You
29 / 28