iOS/iPhone/iPad/watchOS/tvOS/MacOSX/Android プログラミング, Objective-C, Cocoa, Swiftなど
クラウド温度計の開発を考えている。
今回は、Arduinoで温度を計測するに挑戦だ。
まずは、Arduino。今、入手するとしたらArduino Uno R3ということになるだろう。
次にIDEを入手する。
温度計は、Virtuabotix DHT11。Amazonで探せば色々と見つかると思う。
この温度計には、GNDとNC、DTA、VDDの足が出ていると思うが、ブレッドボードを使うなどして、DHT11のGNDをArduinoのGNDに、VDDを5Vに、DTAをデジタル・ピン2に接続する。
VirtuabotixのサイトからDHT11のライブラリを入手し、IDEに組み込む。
するとサンプルも組み込まれる。IDEの「ファイル > スケッチブック > libraries dht11_functions」を選択して、サンプルを開く。これを実行する。
#include
dht11 DHT11;
void setup()
{
DHT11.attach(2);
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
}
void loop()
{
Serial.println("\n");
int chk = DHT11.read();
Serial.print("Read sensor: ");
switch (chk)
{
case 0: Serial.println("OK"); break;
case -1: Serial.println("Checksum error"); break;
case -2: Serial.println("Time out error"); break;
default: Serial.println("Unknown error"); break;
}
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, DEC);
Serial.print("Temperature (°C): ");
Serial.println((float)DHT11.temperature, DEC);
Serial.print("Temperature (°F): ");
Serial.println(DHT11.fahrenheit(), DEC);
Serial.print("Temperature (°K): ");
Serial.println(DHT11.kelvin(), DEC);
Serial.print("Dew Point (°C): ");
Serial.println(DHT11.dewPoint(), DEC);
Serial.print("Dew PointFast (°C): ");
Serial.println(DHT11.dewPointFast(), DEC);
delay(2000);
}
IDEのシリアルモニタを開くと、温度が計測されていることがわかるはずだ。