事業内容
- DX推進/IoT開発事業
- AI/ROBOTICS開発事業
IoTの技術を使えば、業務の効率化を図れます。しかし、「IoTという言葉は最近よく耳にするけれど、IoTを使うとどんなことができるの?」といった疑問を持つ方も少なくありません。
今回はそのような疑問のなかでも、「温度管理もIoTで可能なのか」という疑問に応えるための記事となっております。
この記事では、IoT技術の仕組みを解説するとともに、IoTを使った温度管理は何ができるのかを、実際に手を動かし、画像付きで解説していきます。
今回は、以下の写真のような簡易的な装置を作ります。これによって、温度を管理することができます。
IoTを使えば温度管理を効率的に行うことができます。例えば、離れた場所の温度管理をまとめて操作することができます。
食品を扱う倉庫では、開閉が多い冷蔵庫内の温度を一定に保つために、IoTの温度管理技術を活用しています。その他にも、建設現場では各作業員に配布された装置からデータを取得、分析することで、熱中症対策に役立てられています。
このように、センサーで取得した気温に対して処理を行うことで温度管理をすることができます。
IoTデバイスを構成する要素は主に3つあります。
要素 | 役割 | 具体例 |
入力デバイス | 周囲の環境からデータを取得する | 温度センサー、加速度センサー、照度センサー、測距センサー |
マイコンボード | 取得したデータに対して処理を行う | Arduino、Raspberry Pi、ESPrDeveloper |
出力デバイス | 処理を行ったデータを出力する | ブザー、モニター、LED照明 |
また、上記に加えてセンサーで取得したデータを分析するために「インターネット」でクラウドと通信する必要があります。
温度管理をするには、入力デバイスから温度をセンシングし、マイコンボードで出力デバイスに対して何かしらの指示を出す、という流れになります。
「一定温度に達するとブザーを鳴らす」といった仕組みの装置を実際に作ってみました。
装置を作るにあたり、以下のものを用意しました。
※上記にはGrove-Starter Kit v3 (スターターキット)の一部が含まれています
スターターキットとは:各メーカーから発売している自作工作向けのキットがあり、簡易装置をつくるための一通りの道具が揃っています。
温度管理以外にも様々な工作をしてみたい、仕組みを詳しく知りたい、という方はこちらのキットから始めることをおすすめします。購入はこちら ⇒ Grove – Arduino初心者向けキット
プログラムを作るために、Arduinoの開発環境を構築していきます。
USBケーブルでPCとArduinoを接続します。
プログラムを動かすためには、マイコンボードと、シリアルポート、を指定しなければいけません。今回使用するものをそれぞれ選びましょう。
シリアルポートとは:1度に1bitずつのデータを送受信するための、ケーブルの接続口のことをいいます。「Arduino」と表示されているポートを指定していれば問題ありません。
マイコンボードの選択
シリアルポートの選択
通称 Lチカ(LEDをチカチカさせる) と呼ばれるプログラムの動作確認を行います。
この確認をすることで、プログラムが正常に動いているかの確認を簡易的に行うことができます。開いたエディタの上部メニューから ファイル → スケッチ例 → 01.Basics → Blink を選択します。
スケッチとは:Arduinoにおけるプログラムのことを指します。そのため、スケッチ例とは元々導入されてあるサンプルプログラムのことを指しています。
「Blink」というLEDを点滅させるプログラムが開きました。
「→」のボタンをクリックすることで、このファイルをマイコンボードに書き込みます。
プログラムはマイコンに書き込んだ直後から、電源を抜くまで動作し続けます。
ファイルへの書き込み
ArduinoUNOのLEDが点滅したため、無事PCとマイコンボードが正常に接続されていることを確認できました。
また「delay(1000)」 の数字を変更することで点滅時間を調整できます。
正常に動作できたことが確認できたので、いよいよ温度を測定していきます。
Arduinoとベースシールドを接続します。このベースシールドに各パーツを繋ぎます。
温度を検知するためのセンサー「Grove – 温度センサー 」と、
音を出力するためのパーツ「Grove-ブザー」をベースシールドに繋げます。
その際、接続するピンを正しいピンに入れてください。
※ピンの位置によって異なる信号を受信、または送信するため、意図しないピンに挿した場合、正しいデータを取得することができません。
Grove – 温度センサー
Grove-ブザー
接続ポート
Groveのセンサーを利用した場合、Seeedstudioの公式からサンプルプログラムが提供されています。今回はそちらを参考にし、プログラムを作成しました。
参考:温度センサー:Grove_Temperature_Sensor.ino / ブザー:Grove_Buzzer.ino
const int buzzerPin = 3; // Buzzerの接続ピンを指定(D3)
const int temperaturePin = A0; // Temperatureセンサーの接続ピンを指定(A0)
void setup()
{
Serial.begin(9600); // シリアルモニタに表示する為の設定
pinMode(temperaturePin, INPUT); // Temperatureセンサーからデータを取得
pinMode(buzzerPin, OUTPUT); // Buzzerでブザー音を出力
}
void loop()
{
int temperature = getTemperature(temperaturePin);
int threshold = 28.0; // 設定温度
if (threshold <= temperature)
{
// 閾値を超えていればブザーを鳴らす
buzzer(buzzerPin, 1000);
}
else
{
// 閾値を超えていないので、何もしない
}
delay(1000);
}
int getTemperature(int temperaturePin) //温度の読み取りと摂氏への変換式
{
int B = 3975;
int val = analogRead(temperaturePin); // ピンからの値を取得
float resistance = (float)(1023 - val) * 10000 / val;
float temperature = 1 / (log(resistance / 10000) / B + 1 / 298.15) - 273.15;
Serial.println(temperature);
return temperature;
}
int buzzer(int buzzerPin,int tone) //ブザーを鳴らす設定
{
digitalWrite(buzzerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(buzzerPin, LOW);
delayMicroseconds(tone);
}
C/C++を元に開発されたArduino言語で記述しています。
こちらのプログラムを元に装置を動かしてみましょう。
現在の気温は約26.0℃とちょうどいい気温です。多少の誤差はありますが、表示している温度も同じくらいです。
実際に手で握って温度を上げてみました。28.0℃を設定値にしているので、28℃を超えるとブザーが鳴ります。
動画の通り、市販の温度計は26℃を指しているのに対して、システムは28℃以上を超えています。
28.0℃を超えた 時点で音が鳴り始めました。設定温度を超えると音がなる装置を作ることができました。
画面に出力される数字が実際の温度と合わない場合や、装置が動かない場合は下記の点を確認してください。
自身の場合、スイッチがあることに気が付かず数時間ほど悩みました。
今回の装置はサンプルを元に作成したため、比較的容易に作ることができましたが、一から作るとなると膨大な時間と労力が必要になります。自身も専門的な知識を持つ方々からアドバイスをいただきながら作りましたが、より複雑な装置を計画するとなれば、1人で作ることは難しいため、ソフトウェアエンジニアだけでなく、エレキエンジニア、メカエンジニアなどの専門的な知識を持つ方との協力が必要だと感じました。
直近では、温度センサの活用で現場の改善を図る企業も増えてきています。
以下の記事で活用例を紹介しています。
今回は、IoTの技術を活かした、簡易的な温度管理システムを構築しました。これらの技術を応用すれば、これまで行なっていた温度管理という業務を効率化でき、よりビジネスを加速させることが可能です。
食品や製品、または装置の温度管理や、従業員の体調面を見守るためのシステムを構築など、さまざまなビジネスシーンで役立てることができるでしょう。
IoTに精通したASTINAであれば、温度管理に関するソリューションのご提供が可能です。システム開発・ネットワークおよびデバイスの開発まで一気通貫してご対応いたします。
開発実績としては、屋外環境に対応した、気温・湿度・照度を図るロガーや、農業用デバイスがございます。農業用デバイスについては、日照量・土壌水分量・土壌温度の管理にも対応いたしました。
食品や室内温度だけではなく、屋外環境の計測など、農業のDX・アグリテックに関するご相談も承っています。弊社は、IoTだけではなく、メカ装置のスペシャリストやAIエンジニアも在籍しておりますので、幅広く対応いたします。