IoTとは何かを問いただすため、まずは薪ストーブに熱電対センサーを取り付ける:注目デバイスで組み込み開発をアップグレード(33)(2/2 ページ)
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回から、IoTとは何かを問いただすことを目的に「センサーの値を遠くまで届ける」をテーマにした新シリーズを始める。そのモデルケースとして、まずは薪ストーブに熱電対センサーを取り付けるところから始める。
Arduinoで動作する温度測定プログラム
リスト1はArduinoで動作する温度測定プログラムです。MAX6675モジュールから温度の値を取得して、見やすく加工し、仮想シリアルポートでPCに10進数として送り出す内容になっています。
#include <SPI.h>
int temp;
void setup() {
SPI.setBitOrder(MSBFIRST);
SPI.setClockDivider(SPI_CLOCK_DIV4);
SPI.setDataMode(SPI_MODE0);
SPI.begin();
Serial.begin(9600);
}
void loop() {
delay(500);
digitalWrite(SS, LOW);
temp = SPI.transfer(0x00) << 8;
temp |= SPI.transfer(0x00);
digitalWrite(SS, HIGH);
Serial.println((temp >> 3) * 0.25);
}
setup()関数では、SPIの設定とSPIの動作を有効にします。その後仮想シリアルポートを同様に有効にします。loop()関数では0.5秒間隔で温度データを取得し、見やすく整形した後で仮想シリアルポートに数値データを送ります。
SPI.transferで8ビットの値を2回取得しています。最初に読み出したのが上位バイト、2回目が下位バイトです。tempに格納された16ビットのうち、温度データは上位12ビットなので下位に3ビット分シフトさせています。
それに分解能である0.25をかけて、セ氏の温度表示にしています。
実験
図3は、熱電対センサーキットとArduinoによって実測した、薪ストーブに着火してから1分以内の温度変化のグラフです。
縦軸が温度で、横軸が時間です。時間の単位は0.5秒なので、グラフの左端から右端までの時間は24.5秒になります。着火前は24℃台だったので、24.5秒で5℃以上温度が上昇していることが分かります。
温度測定プログラムの設定に基づき0.5秒ごとに測定していますが、熱電対センサーを取り付けた金属製の金具自体がそれなりの熱容量を持っていると思いますので、約5秒ごとでも十分なのではないかと思っています。そのあたりは、運用しながら最適値を見つけられればと思っています。
おわりに
本シリーズでは、この熱電対センサーを取り付けた薪ストーブをモデルケースとして、センサーが取得した値をさまざまな方法でなるべく遠くに届ける工夫を展開していきたいと思います。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- ≫連載「空間伝送で学ぶ光通信入門」バックナンバー
USBシリアル変換モジュールが必要なら、代わりにArduinoを使えばいいじゃない
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、USBシリアル変換モジュールの代わりに、Arduinoに搭載されているシリアル変換チップを単独で使う方法を紹介する。
忘年会に最適!? 使い捨てライターで離れた場所にあるLEDを点灯するガジェット
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、忘年会シーズンにぴったりの、使い捨てライターで離れた場所にあるLEDを点灯するガジェット「リモートキャンドル」を紹介する。
ロシア製ガイガーミューラー管の実力はいかに
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。前回から自作ガイガーカウンターのつぶやきbot「imaocande」をよみがえらせる取り組みをスタートさせたが、今回は新たに作製する「imaocande2」に使用する予定の新たに入手したガイガーミュラー管の特性と動作原理について深掘りする。
加湿器トランスデューサの水中通信実験で「ロバチャン」が進化する【後編】
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、連載第21回で紹介したコンテスト「ロバチャン」の進化に向けて行った、加湿器のトランスデューサを用いた水中通信実験の構想と結果について紹介する。
