290 likes | 393 Vues
This document presents the integration of a humidity sensor using Arduino for ubiquitous computing. It explores the features of the HIH-4030 sensor, emphasizing its near-linear output, low power consumption, and enhanced accuracy in measuring humidity. The guide covers schematic representations, code for reading sensor values, and temperature compensation calculations, allowing users to effectively utilize temperature and humidity data in their projects. Ideal for both beginners and experienced developers in the field of smart technology and sensor applications.
E N D
Ubiquitous Computing Practice(Humidity Sensor) Youn-Hee Han, In-Seok Kang {yhhan, iseka}@koreatech.ac.kr Laboratory of Intelligent NetworksAdvanced Technology Research CenterKorea University of Technology http://link.koreatech.ac.kr
. Contents • Introduntion • Humidity Sensor • Print Humidity • TMP36 + Humidity Sensor • Fritzing
Arduino Pin • Digital Pin • 14개의 Digital Input / Output Pin • 6개의 PWM Pin 사용가능 • (3, 5, 6, 9, 10, 11 pin) • digitalWrite() - LED • digitalRead() - pushbutton
analogWrite() • ex) analogWrite(PinNumber, value);
Analog Pin • 6개의 Analog Input Pin • analogRead() • ex) analogRead(PinNumber) • 센서의 값을 읽기 위해 사용
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
습도 • 상대습도 • 상대습도는, 특정한 온도의 대기 중에 포함되어 있는 수증기의 압력을 그 온도의 포화 수증기 압력으로 나눈 것을 말한다. 다시 말해, 특정한 온도의 대기 중에 포함되어 있는 수증기의 양(중량 절대습도)을 그 온도의 포화 수증기량(중량 절대습도)으로 나눈 것이다. • 절대습도 • 공기 1㎥ 중에 포함된 수증기의 양을 g으로 나타낸다. 수증기밀도 또는 수증기농도라고도 하는데, 공기 중의 수증기의 포화정도를 나타내는 상대습도와는 의미가 다르다.
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)
Sketch float vdd = 5.0; intindata; float sRH; void setup() { Serial.begin(9600); } void loop() { indata= analogRead(0); // pin number 0sRH= (indata/1024.0)/0.0062-0.16/0.0062; Serial.println(sRH); delay(1000); }
Temperature + humidity • Temperature compensation • RH= sensorRH/(1.0546 - 0.00216 × T) • T = Temperature
Sketch float vdd = 5.0; int indata0, indata1; float sRH; float RH; float voltage; float temperatureC; void setup() { Serial.begin(9600); }
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); }
도전과제 • 온도, 조도, 습도 센서의 값을 출력해보자.
Fritzing http://fritzing.org/