
武蔵野個別指導塾の特徴
【情報I】IoT とセンサーを図解で総まとめ—計測・制御・フィードバック・身近な例|武蔵野個別指導塾

温度センサーと換気装置を例に、計測から制御までの流れを図でたどります。しきい値の判定、測定回数とデータ量、通信切断時の対応を例題で確かめ、IoTの安全とプライバシーを考える力を養えます。
よくあるのは、放課後の廊下の掲示板の前で、温度を測って換気装置を動かす仕組みの説明を読み、「センサーが考えて、風を出しているのですか」と手が止まる場面です。温度の数字、通信の矢印、装置の動作が同じ図にあると、どの部分が何を担当しているのか見えにくくなります。「インターネットにつながっているから自動で動く」と覚えるだけでは、通信が止まった場合や、温度が設定値と等しい場合を説明できません。
ここで必要なのは、機器の名前をたくさん覚えることではなく、現実の状態がデータになり、そのデータをもとに動作が決まる順序を追うことです。温度を測る役割、条件を判断する役割、実際に空気を動かす役割を分ければ、複雑に見えた図も読めます。さらに、動かした後にもう一度測る意味がわかると、フィードバック制御の考え方がつかめます。家庭の空調や照明を見たときにも、便利さと安全の両方から仕組みを説明できるようになりましょう。
この単元で身につけること
- センサーとアクチュエータを区別します。センサーは温度や明るさなどを検出し、アクチュエータは指令に応じて回転や開閉などの物理的な動作を生みます。
- 計測から制御までを順に説明します。値を得ることと、その値に応じて装置を動かすことを、入力・処理・出力に対応させます。
- フィードバックの戻り道を見つけます。動作の結果を測り、その結果を次の操作に反映することで、目標に近づける仕組みを読み取ります。
- IoTの通信の役割を説明します。離れた場所の測定値を集めたり、状態を確認したりする利点と、現場で処理を続ける必要性を結びつけます。
- 数値の判定と安全の条件を確かめます。しきい値と等しい場合、データが届かない場合、個人の行動が推測できる場合まで考えます。
前に学んだコンピュータの入力・処理・出力、プログラムの条件分岐、ネットワークによるデータ通信が、この単元で現実の装置の動作につながります。説明問題では「何を測り、どこで判断し、何を動かすか」を1組にすると、用語だけの解答から一歩進めます。
基本の考え方
センサーは測り、アクチュエータは働きかけます
センサーとは、温度、光、圧力、加速度などの物理的な量や状態を検出し、利用できる信号に変換する装置です。温度センサーなら温度、照度センサーなら明るさに対応した信号を得ます。対象の量を測り、数値などとして把握することが計測です。人が温度計を読むことも計測ですが、コンピュータと組み合わせると、一定の間隔で記録し続けたり、複数の地点を比較したりできます。
センサーが出す信号がアナログであれば、コンピュータが扱えるデジタルデータに変換する段階が必要です。時間を区切って値を取り出す標本化、値を有限の段階に対応させる量子化という、デジタル化の考え方が使われます。変換の回路を内部に持ち、デジタルの値を出すセンサーもあります。外から見た部品が1個でも、内部の役割が1個だけとは限りません。
一方、アクチュエータは、制御装置からの指令を受けて現実の対象に働きかける装置です。モーターによる回転、弁による流れの調節などが代表例です。換気装置なら、ファンを回すモーターがアクチュエータに当たります。温度センサーが自分で風を出すのではなく、センサーの値を読んだ制御装置がモーターへの指令を決めます。
「入力装置ならすべてセンサー」「出力装置ならすべてアクチュエータ」と機械的に置き換えるのは避けましょう。入力・出力はコンピュータから見た広い区分です。この単元では、現実の量を検出する部分と、現実に物理的な作用を及ぼす部分に注目します。画面に温度を表示するだけなら情報の提示であり、室温を調節する操作を行ったことにはなりません。
制御とフィードバックの違いを矢印で読みます
制御とは、目的に合うように対象の状態や動作を調節することです。例えば「温度が28℃以上なら換気を入れる」という規則では、温度という入力を条件と照らし合わせて、運転か停止かという出力を決めます。比較の基準となる値をしきい値と呼びます。しきい値は判定を切り替える境目であり、目標値と必ず同じとは限りません。
図1のように、制御装置がファンを動かし、その結果として変わった室内の温度を再び測って、次の判断に戻す流れがフィードバックです。フィードバック制御は、出力の結果を測定して入力側に戻し、目標や条件との違いをもとに操作を調節する制御です。矢印の輪は、電力が一周するという意味ではありません。指令、現実への作用、測定値という異なる種類のつながりを表しています。

図1では、上側に判断と動作、下側に室内の状態と計測を置いています。「測定値を記録して終わる」場合には、戻った値が次の操作に使われないので、対象を調節するフィードバック制御とはいえません。また、時刻だけで一定時間ファンを回し、結果の温度を見ない方法も、温度についてのフィードバック制御とは区別します。自動で動くことと、結果を戻して調節することは同じ意味ではありません。
実際の室温は、外気温、日射、人の数などにも影響されます。換気をすれば常に室温が下がるわけではなく、外が暑ければ室温が上がることもあります。後の例題では判定手順を学ぶために、与えられた温度から運転指令を求めます。その規則だけでどのような部屋でも温度を一定に保てる、と結論づけてはいけません。制御の規則が正しく実行されることと、現実の目的が達成されることは分けて確かめます。
IoTではモノのデータがネットワークを通ります
IoTはInternet of Thingsの略で、「モノのインターネット」と呼ばれます。さまざまなモノをインターネットに接続して、状態のデータを集めたり、離れた場所から確認や操作を行ったりする考え方です。温度や水分を測る農業設備、荷物の位置を知らせる機器、電力の使用状況を送る機器などがあります。データを集める用途も含まれるため、すべてのIoT機器がアクチュエータを備える必要はありません。
基本的な流れは「センサー→現場の機器→ネットワーク→サーバ→利用者の画面」です。制御も行うなら、サーバから現場へ指令を返す経路が加わる場合があります。機器が直接インターネットに接続する構成もあれば、複数の機器の通信をまとめるゲートウェイを経由する構成もあります。クラウドで記録を保管すると、多数の地点や長い期間のデータをまとめて扱いやすくなります。
ただし、すべての判断を遠くのサーバで行う必要はありません。現場に近い機器で処理することをエッジ処理と呼びます。例えば、温度に応じた運転の判断は現場で行い、記録の集計はサーバで行う、と役割を分けられます。通信の往復を待たずに対応できる一方、現場の機器にも処理能力や設定の管理が必要です。通信の便利さと、通信に頼らず保つべき機能を区別するのが設計の要点です。
例題で解き方を確かめる
例題1 温度に応じた運転指令を求める
温度センサーの測定値が27.5℃、28.0℃、28.5℃の順に得られました。「28.0℃以上なら運転、それ以外なら停止」という規則で換気装置を制御します。各測定値での指令を答え、センサーとアクチュエータも示しましょう。
- 入力・処理・出力を分けます。入力は温度、処理は28.0℃との比較、出力は換気装置への指令です。先に役割を分けると、測定と動作を取り違えません。
- 「以上」を等号を含む比較として読みます。28.0℃と等しいときも運転側に入るため、境界の値を独立に確認します。
- 各測定値を規則に当てはめます。27.5℃は基準未満、28.0℃と28.5℃は基準以上なので、停止、運転、運転の順になります。
Pythonでは、測定値のリストから1個ずつ値を取り出し、条件分岐で指令を決められます。ここでは機器を実際に接続せず、指令の文字を表示して、判定の結果を確かめます。
temperatures = [27.5, 28.0, 28.5]
for temperature in temperatures:
if temperature >= 28.0:
command = "運転"
else:
command = "停止"
print(temperature, command)
出力は次のとおりです。
27.5 停止
28.0 運転
28.5 運転
温度を検出するのがセンサーで、換気のためにファンを回すモーターがアクチュエータです。このプログラムは判定部分を表したもので、測定や物理的な駆動、故障への対処までは含んでいません。
答え:指令は停止・運転・運転、センサーは温度センサー、アクチュエータはファンを回すモーターです。
例題2 測定回数と記録のデータ量を求める
4台のセンサーが10秒ごとに測定し、各回に1件ずつ記録します。測定時刻は開始から0秒、10秒、20秒、…、590秒で、600秒ちょうどは含めません。1件を時刻や識別番号も含めて12バイトとすると、全体の記録数とデータ量はどれだけでしょうか。圧縮や通信の付加情報は考えません。
- どの時刻を含むか確認します。0秒を含み600秒を含まないので、区間の両端を二重に数えず、1台につき600 ÷ 10 = 60回です。
- 1台の回数に台数を掛けます。4台とも毎回1件を記録するため、60 × 4 = 240件になります。
- 記録数に1件の大きさを掛けます。単位が件からバイトに変わることを確認すると、240 × 12 = 2,880バイトです。
seconds = 600
interval = 10
sensors = 4
bytes_per_record = 12
count = len(range(0, seconds, interval))
records = count * sensors
print(count, records, records * bytes_per_record)
出力は次のとおりで、左から1台の測定回数、全体の記録数、バイト数です。
60 240 2880
図2のように、0秒から600秒までを等間隔に並べて両端の扱いを見ると、回数の誤りを防げます。図では60回のすべてを描かず、最初と最後の測定時刻を取り出しています。横軸上の位置は経過時間に比例しており、590秒と600秒の間隔も10秒分です。

図2の600秒の白抜きの点は、この区間に含めない端を表します。もし600秒ちょうども測定すると条件が変わり、1台61回になります。また、2,880バイトは記録そのものの量です。実際の通信では宛先などの情報が加わるので、そのまま回線を流れる総量だとはいえません。測定間隔を短くすると変化を細かく追えますが、記録量や通信量、電力消費への影響も考える必要があります。
答え:1台60回、全体240件、記録のデータ量は2,880バイトです。
例題3 2つのしきい値で状態を引き継ぐ
換気装置は初め停止しています。停止中に28.0℃以上になったら運転し、運転中に27.0℃以下になったら停止します。その間の温度では直前の状態を保ちます。測定値が27.5℃、28.0℃、27.8℃、27.2℃、27.0℃の順なら、各回の状態はどうなるでしょうか。
- 初期状態を「停止」と書きます。今回の規則は温度だけでなく直前の状態にも依存するので、初期状態を省くと最初の判断が定まりません。
- 停止中は28.0℃以上かどうかを調べます。27.5℃では停止を保ち、28.0℃で運転に切り替わります。
- 運転中は27.0℃以下かどうかを調べます。27.8℃と27.2℃では運転を続け、27.0℃で停止します。
running = False
for temperature in [27.5, 28.0, 27.8, 27.2, 27.0]:
if not running and temperature >= 28.0:
running = True
elif running and temperature <= 27.0:
running = False
print(temperature, "運転" if running else "停止")
出力は次のとおりです。27.8℃の行を読むときに、28.0℃の行で状態が変わったことを引き継ぐのが要点です。
27.5 停止
28.0 運転
27.8 運転
27.2 運転
27.0 停止
運転へ切り替える基準と停止へ切り替える基準を分けることで、境界付近の小さな変動による頻繁な切り替えを抑えられます。このように、それまでの状態によって応答が変わる性質をヒステリシスといいます。少し発展的な用語ですが、「前の状態を覚えておく必要がある」と読めれば手順を追えます。これだけで急な変化や故障のすべてに対応できるわけではなく、操作の速さや測定間隔も別に検討します。
答え:状態は停止・運転・運転・運転・停止の順です。
つまずきやすいところと直し方
誤り1 ネット接続そのものをフィードバックと呼ぶ
誤った書き方は「温度をインターネットに送っているので、フィードバック制御である」です。どこが違うかというと、送信先から結果が操作の判断へ戻るかを確認していません。温度を記録するだけの仕組みもIoTに含まれるので、ネット接続の有無だけでは制御の種類は決まりません。
正しい書き方は「測った結果を次の操作に反映しているので、フィードバック制御である」です。逆に、インターネットにつながらない機器でも、結果を測って調節すればフィードバック制御を行えます。図の問題では、通信の矢印に印を付ける前に、動かした対象から判断部分へ戻る経路を探しましょう。自動、遠隔操作、フィードバックは、それぞれ別の観点の言葉です。
誤り2 届かない値を0として扱う
誤った書き方は「センサーから値が届かなかったので、温度を0℃として停止と判定する」です。どこが違うかというと、測定できていない状態を実際の測定値と混ぜています。通信切断、電池切れ、センサー故障などで欠けたデータは、0℃を測ったという意味ではありません。前回の値が残っている場合も、現在の値として扱うには古さの確認が必要です。
正しい書き方は「欠測や時刻の古さを検知し、通常の温度判定とは別の対応に進む」です。例えば、通知を出し、あらかじめ定めた現場側の運転方式へ移る設計が考えられます。停止が安全な装置もあれば、運転を継続する方が安全な装置もあります。安全のための動作は、何を守る設備なのかに応じて決めるので、「異常なら必ず停止」と一律には書けません。
図3のように、現場の制御装置と遠隔の記録先を分けて考えます。橙の破線と斜線は通信経路の切断、紺の実線の矢印は現場に残る経路を示します。図は測定値と指令の経路に絞り、換気によって室温が変わる過程は省略しています。

図3のような構成なら、サーバとの通信が途切れても、現場の電源やセンサーが正常で、必要な規則が保存されていれば温度に応じた制御を続けられます。しかし、図に現場制御と書くだけで安全が保証されるわけではありません。測定値の範囲外、古い指令の再送、手動操作への切り替えなど、正常時以外の動作も設計しておく必要があります。
誤り3 名前がなければプライバシーと無関係と考える
誤った書き方は「記録に名前がないので、いつまでも誰にでも公開してよい」です。どこが違うかというと、別の情報との組み合わせや、時刻の連なりからわかることを考慮していません。照明の点灯時刻、室内の人の有無、位置の履歴などから、生活時間や不在の時間帯を推測できる場合があります。
正しい書き方は「目的に必要な項目と期間に絞り、閲覧できる人や利用方法を決める」です。部屋全体の環境を知りたいだけなら、個人ごとの位置の履歴まで集める必要があるかを問い直します。保存期間を決めて不要なデータを削除することや、集計結果で目的を満たせないか考えることも、機器の導入と同時に検討します。
安全とプライバシーを支える技術面では、機器の認証、通信の暗号化、ソフトウェアの更新、操作権限の制限が関係します。初期設定の認証情報を放置したり、必要のない機能を外部に公開したりすると、不正な閲覧や操作の入口になり得ます。ただし、暗号化は収集しすぎを解消しません。通信を守る対策と、そもそも何を集めるかという判断は、両方が必要です。
練習問題
練習1 役割と制御の種類を説明する
鉢の土の水分をセンサーで測り、乾燥していれば電動ポンプで水を送り、その後の水分を測って送水を続けるか決めます。センサーとアクチュエータを答え、フィードバック制御といえる理由を説明しましょう。この装置がインターネットを使わず、その場だけで動く場合も考えてください。
練習2 端の時刻を含めて数える
3台のセンサーが、開始から0秒、15秒、30秒、…、120秒のすべての時刻に1件ずつ記録します。1件は8バイトです。1台の測定回数、全体の記録数、全体のデータ量を求めましょう。圧縮や通信の付加情報は考えません。例題2との違いを1か所、言葉でも示してください。
練習3 直前の状態と欠測を扱う
例題3と同じ規則で、初めは運転中です。温度が27.4℃、27.0℃、27.6℃、28.1℃と変化するとき、状態を順に答えましょう。その次の測定値が通信の不具合で届かなかった場合、0℃を代入して通常の判定に進めてよいか、理由も説明してください。
答えと解説
練習1の答えは、センサーが土の水分を測るセンサー、アクチュエータが電動ポンプの駆動部分です。送水した結果を再び測り、その結果を次の送水の判断に使っているので、フィードバック制御です。ネット接続がなくてもこの説明は成立します。一方、インターネットによるデータの収集などがなければ、その条件だけでIoTとは呼びません。
練習2の答えは、1台9回、全体27件、216バイトです。120 ÷ 15 = 8は測定時刻どうしの間隔の個数なので、0秒と120秒の両方を含む測定点は8 + 1 = 9個です。9 × 3 = 27件、27 × 8 = 216バイトとなります。例題2は区間の終わりを含めませんでしたが、この問題は終わりの120秒を含みます。
練習3の答えは、運転・停止・停止・運転です。27.4℃では運転を保ち、27.0℃で停止し、27.6℃では停止を保ち、28.1℃で運転に戻ります。欠測を0℃として扱ってはいけません。0℃という測定事実はないため、欠測を知らせる処理や、用途に応じて定めた安全のための動作を選びます。数値の計算だけでなく、入力が有効かどうかも判定の前提です。
次の単元へのつながりと家庭での確かめ方
この単元は、データを収集し、課題を発見し、対策の効果を測る問題解決の学習につながります。例えば「室内が暑い」という問題でも、測定位置や時間が異なるデータをそのまま比較すると、対策の効果を読み違えます。センサーの設置場所、測定間隔、欠測の扱いを記録しておくことが、その後の分析を支えます。
家庭で5分でできる確かめ方の1つ目は、身近な機器を1つ選び、触ったり設定を変えたりせずに「測るもの・判断する条件・動く部分」を紙に書くことです。内部の仕組みを外見だけで決めつけず、読み取れない部分は疑問として残します。2つ目は、例題3の温度を紙に並べ、初めが停止の場合と運転の場合を別々にたどることです。最初の27.5℃で状態が異なる理由を説明できれば、状態を引き継ぐ意味を理解できています。
個別指導では、条件の読み違いなら「以上・以下」の数直線まで、役割の混同なら入力・処理・出力の区別まで戻って確かめます。保護者の方がお子さまの説明を聞くときは、「その値は何を測ったの」「動かした後は何を確かめるの」という2つの問いで、理解のつながりを見られます。
まとめ
掲示板の説明図に戻ったら、矢印を1本選び、そこを通るものが測定値なのか、指令なのか、現実への作用なのかを言葉にしてみましょう。その区別ができると、「つながっているから動く」という曖昧な理解を、動作を追って確かめられる説明に変えられます。通信切断や欠測も同じ図に書き込めば、便利な機能がどの条件で成り立つかが見えてきます。
自動化の確かさは、動かす指令だけでなく、動かした結果を確かめる戻り道に表れます。
本気になった日が、入塾の日。
お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。
電話は年中無休。365日、24時間、お電話可能。




