Sensor module for temperature, air pressure, and humidity
Dependencies: DHT11 LM75B mpl115a2
SensorModule.cpp
- Committer:
- yukari_hinata
- Date:
- 2015-02-13
- Revision:
- 0:98946a466ef8
- Child:
- 1:3d6d2ff7ff8a
File content as of revision 0:98946a466ef8:
#include "SensorModule.hpp" // コンストラクタ SensorModule::SensorModule(int n_sample) { // サンプリング回数, ログファイル名の初期化 this->n_sample = n_sample; this->temperture_sensor = new AnalogIn(p15); this->humidity_sensor = new DHT11(p10); } // デストラクタ SensorModule::~SensorModule(void) { delete temperture_sensor; delete humidity_sensor; } // 全センサーからn_sample回読み出し, 平均値で更新する. void SensorModule::read_all_sensor(void) { register float sum_temp = 0, sum_humid = 0, sum_pres = 0; // AnalogInを用いる場合は,n_samle回センサーから読み出す. for (int count = 0; count < n_sample; count++ ) { // LM61CIZの温度読み取り sum_temp += (temperture_sensor->read()-(0.6/3.3))/(0.01/3.3); wait(0.1); } new_temperture = sum_temp / n_sample; new_pressure = sum_pres / n_sample; // 更新. // DHT11の湿度読み取り if (humidity_sensor->readData() != DHT11::OK) { fprintf( stderr, "Error in Humidity Sensor \r\n"); } else { new_humidity = float(humidity_sensor->readHumidity()); } }