センサーとコンピュータで制御しよう

センサーで量をはかり、コンピュータが条件で判断して、照明や換気扇を動かします。センサーの値の読み方から、制御のルールづくり、プログラムまでを順に確かめましょう。

仮想のセンサーを選び、まわりのようすを変えて、コンピュータに届く値を見ます

センサー
420 lx
A/D変換のビット数

まわりの明るさ
–
本当の量
センサーの出力(アナログ)
–
連続的に変わる電圧
A/D変換(8ビット)
–
コンピュータが換算した値
–
段階の数(2n)
–
1段階の幅
–
換算した値と本当の量の差
–
記録した回数
0

時間の変化(0.25秒ごとに読み取り)

架空の教室で、照明と換気扇を動かすルールを決め、1日(8:00〜18:00)を早送りで動かします

💡 照明のルール

300 lx
+100 lx

🌀 換気扇のルール

1000 ppm
−200 ppm
センサーを読む間隔

教室・時間割・明るさ・人数はすべて架空です。CO2 の 1000 ppm は、建築物衛生法の建築物環境衛生管理基準(二酸化炭素の含有率 100万分の1000以下)の値です。学校の教室には、別に学校環境衛生基準(1500 ppm 以下であることが望ましい)があります。

時刻
8:00
登校前
人感センサー
0
0人
明るさセンサー
–
lx(窓からの光)
CO2 センサー
–
ppm
照明
OFF
換気扇
OFF

明るさと照明

明るさ(センサーの値)しきい値

CO2 と換気扇

CO2(センサーの値)しきい値
消費電力量(照明+換気扇)
–
照明のON時間
–
換気扇のON時間
–
照明の切りかえ回数
–
換気扇の切りかえ回数
–
人がいるのに CO2 が 1000 ppm 超
–
人がいて暗いのに照明OFF
–
だれもいないのに照明ON
–

ルールを変えて比べる

照明のルール換気扇のルール間隔電力量切りかえ
照明/換気扇
CO2超暗いのにOFF無人でON

シミュレーションの仮定:教室の容積 180 m³、生徒1人が出す CO2 は 1時間に 0.015 m³、外の空気の CO2 は 420 ppm、すきま風などによる換気は 1時間に部屋の空気1回分、換気扇はさらに6回分、照明は 400 W、換気扇は 40 W。センサーの値には小さなゆらぎがあります(毎回同じゆらぎを使うので、ルールどうしを公平に比べられます)。どれもこのページで決めた値で、実際の教室の測定値ではありません。

「条件で制御する」で決めたルールを、共通テスト用プログラム表記とフローチャートで表します

ルールを変えると、ここも書きかわります。センサーの値を読み、「もし〜ならば」で判断し、結果を照明と換気扇に送る、という処理を繰り返す形です。書き方の決まりは プログラム表記を動かす の「書き方の一覧」と同じです。

8:00

    この時刻の変数の値(黄色はこの1回で変わったもの)

    このプログラムで使う関数

    人感センサーの値()人がいれば 1、いなければ 0 を返す
    明るさセンサーの値()明るさ(lx)を整数で返す
    CO2センサーの値()CO2 の濃度(ppm)を整数で返す
    照明に送る(x)x が 1 なら照明をつけ、0 なら消す
    換気扇に送る(x)x が 1 なら換気扇を回し、0 なら止める
    待つ(m)m 分間、何もしないで待つ

    共通テストでは、このような関数は問題文で説明されます。ここでは、この表の説明に従います。

    ひし形は分岐、上下の角を落とした形は繰り返しの始まりと終わり、平行四辺形は入力と出力です。黄色は、選んだ時刻の1回分で通った記号です。

    身の回りの機器を「センサー → 処理 → アクチュエータ(動かすもの・出力)」の組で整理します

    センサーまわりの量をはかり、電気の信号にする
    処理(コンピュータ)しきい値や目標と比べて、どう動かすかを決める
    アクチュエータ・出力モーターなどを動かしたり、表示したりする

    それぞれの機器で、使われているセンサーと、動かすもの(出力)を選んでください。2つとも選ぶと、処理の説明が出ます。

    正解
    0
    答えた数
    0 / 12
    6つの機器を整理しましょう
    どの機器も、センサーで「いまの状態」をはかり、コンピュータが判断して、アクチュエータを動かしています。

    計測と制御とは

    センサーなどの装置を使って、明るさや温度などの量をはかることを計測といいます。そして、ある目的の状態にするために、モーターなどの装置を動かすことを制御といいます。たとえばエアコンは、室温を計測し、設定した温度に近づくように運転を制御しています。

    コンピュータを使った計測では、センサーから得たデータを入力ポート(入力端子)からコンピュータに取りこみます。制御では、コンピュータが判断した結果を出力ポート(出力端子)から送り、アクチュエータを動かします。この「センサー → 処理 → アクチュエータ」の流れの中で、データはプログラムによって処理されています。プログラムは、順次・分岐・反復の3つの基本構造の組み合わせでできています。

    センサーとアクチュエータ

    センサー(センサとも書きます)は、光・温度・動き・距離などの自然界の量を、人間や装置が扱いやすい電気の信号に置きかえる装置です。アクチュエータは、コンピュータが決めた内容を、動きなどの物理的なはたらきに変える装置で、さまざまなモーターが代表です。

    センサーはかるもの使われている例
    温度センサー温度冷蔵庫、エアコン
    湿度センサー空気の湿り気エアコン
    加速度センサー傾きや動きスマートフォン
    赤外線センサー赤外線の信号リモコン(テレビなどが信号を受け取る部分)
    カメラ・レーダーなど前や後ろの障害物自動車

    アクチュエータの動きは、まっすぐ動く直進運動と、回る回転運動に分けられます。DCモーターは車輪のように回り続ける動きに、サーボモーターはロボットの関節のように決めた角度まで回す動きに使われます。動力には電気のほか、油圧(建設機械のシリンダなど)や空気圧もあります。

    デジタル型とアナログ型

    人感センサーのように「いる・いない」の2つの状態だけを返すセンサーはデジタル型で、その信号をそのまま 1 と 0 として入力できます。一方、明るさや温度のように連続的に変わる量を、電圧の大きさで表すセンサーはアナログ型です。アナログの信号をコンピュータが扱うには、次の A/D 変換が必要です。

    A/D変換とD/A変換

    A/D変換(アナログ・デジタル変換)は、連続的に変わる電圧を、決まった数の段階に区切り、どの段階に入るかを整数で表す処理です。区切る段階の数はビット数で決まり、n ビットなら 2n 段階になります。

    1段階の幅 = 測れる範囲 ÷ 2n   デジタル値 = 切り捨て(電圧 ÷ 基準の電圧 × 2n)

    このページの仮想の明るさセンサーは、0〜1000 lx(ルクス、明るさの単位)を 0〜3.3 V の電圧に変えると決めています。これを 4 ビットで読むと 16 段階で、1段階は 62.5 lx です。8 ビットなら 256 段階で約 3.9 lx、10 ビットなら 1024 段階で約 0.98 lx になります。1段階より小さな変化は同じ値になってしまうので、ビット数が多いほど細かく計測できます。「センサーの値を読む」で 4 ビットを選ぶと、グラフが階段のようになるのはこのためです。

    これは、音のデジタル化で学ぶ量子化と同じ考え方です。音では量子化ビット数が音質を決めましたが、計測ではビット数がはかれる細かさ(分解能)を決めます。また、決まった時間ごとに値を読む「記録の間隔」は、音の標本化にあたります。

    センサーから入力した値は、そのままでは「何段階目か」を表す整数です。プログラムの中で、センサーの特性に合わせた計算式を使って、温度などの量に換算する必要があります。ただし教育用のプログラミング言語には、温度などを直接得られる命令が用意されていることもあります。

    反対に、コンピュータが出した数値を電圧に戻す処理がD/A変換です。モーターの回る速さを少しずつ変えるなど、アナログ型のアクチュエータを動かすときに使います。

    条件で制御する:しきい値と論理演算

    「明るさが 300 lx より小さければ暗い」のように、判断の境目にする値をしきい値といいます。複数の条件は、and(かつ)や or(または)で組み合わせます。

    人がいる暗い人がいる かつ 暗い人がいる または 暗い
    いる暗いONON
    いる明るいOFFON
    いない暗いOFFON
    いない明るいOFFOFF

    この表は、論理回路の AND と OR の真理値表と同じ形です。「または」にすると、だれもいない夕方の教室でも照明がつき、電力のむだになります。「かつ」にすると、必要なときだけつけられます。「条件で制御する」で、だれもいないのに照明がついていた時間を比べてください。

    ON/OFF がばたつく問題とヒステリシス

    しきい値を1つだけにすると、センサーの値がしきい値の近くで小さく上下するたびに、ON と OFF が細かく切りかわります。これをばたつき(チャタリング)といいます。雲が出たり消えたりする日の照明や、CO2 がしきい値の近くにある換気扇がそうなります。何度も切りかわると、使う人にとってわずらわしいだけでなく、機器の負担にもなります。

    そこで、ONにするしきい値と OFF にするしきい値を分けます。たとえば「CO2 が 1000 ppm を超えたら換気扇をつけ、800 ppm より下がったら止める」とすると、800〜1000 ppm の間では前の状態を続けるので、切りかえの回数が大きく減ります。このように、状態によって切りかえの境目を変えるしくみをヒステリシスといいます。センサーを読む間隔を長くしても切りかえは減りますが、その間は変化に気づけないので、反応がおそくなります。

    フィードバック制御

    換気扇を回すと CO2 が減り、減った値をまたセンサーがはかって、次に換気扇をどうするかを決めます。このように、制御した結果を計測し、目標とのずれをもとに次の操作を決めるやり方をフィードバック制御といいます。

    ON/OFF 制御と比例制御

    このページの照明や換気扇は、つけるか消すかの2通りだけを選ぶ ON/OFF 制御です。しくみが簡単な反面、値が目標の上下を行ったり来たりします。これに対して、目標とのずれの大きさに応じて操作の強さを変えるのが比例制御です。

    操作の強さ = 比例の係数 ×(目標の値 − 計測した値)

    たとえば換気扇の回る速さを、CO2 がしきい値をどれだけ超えたかに比例させれば、ずれが大きいときは強く、目標に近づくと弱く運転できます。速さを少しずつ変えるには、D/A変換のような、連続的な出力が必要になります。実際の機器では、これにさらに工夫を加えた制御が使われることもあります。

    プログラムで書く

    「プログラムで制御する」では、決めたルールを共通テスト用プログラム表記で表しています。センサーの値を読む → もし〜ならば で判断する → 照明と換気扇に送る → 少し待つ、という処理を繰り返す形です。ヒステリシスを入れると「そうでなくもし」が加わり、どちらの条件にも当てはまらないときは変数を変えない(前の状態を続ける)ことが、プログラムの形からも読み取れます。時刻を選ぶと、その1回でどの行を実行したかが黄色で表示されます。トレース表で変数の動きを追う練習は、プログラム表記を動かすでもできます。

    マイコンボードでの実習につなげる

    実際にセンサーを使ってみるには、教育用のマイコンボードが便利です。マイコンボードは、小さなコンピュータ(マイクロコントローラ)にセンサーや入出力の端子を付けた板です。たとえば micro:bit は、イギリスで教育用に作られたマイコンボードで、ボタン、明るさのセンサー(LED の表示部を光センサーとして使う)、温度センサー、加速度センサー、方位(コンパス)のセンサーを持ち、新しい版(V2)にはマイクも付いています。出力には 5×5 の LED 表示があり、V2 にはスピーカーもあります。

    micro:bit のプログラムを作れる Microsoft MakeCode では、明るさを 0(暗い)から 255(明るい)の数で得られます。256 段階なので、8 ビットで表せる範囲です。また、端子につないだアナログのセンサーは 0 から 1023 の数で読み取れます。1024 段階なので、10 ビットで表せる範囲です。「センサーの値を読む」の 8 ビットと 10 ビットは、この段階の数にあたります。

    実習では、たとえば「暗くなったら LED を光らせる」「温度がしきい値を超えたら音を鳴らす」といったプログラムを作り、しきい値を1つにした場合とヒステリシスを入れた場合で、手で光をさえぎったときのふるまいを比べると、このページの体験とつながります。

    IoT(モノのインターネット)

    さまざまなモノが、センサーと無線通信を通してインターネットの一部になることを IoT(Internet of Things、モノのインターネット)といいます。センサーの値をインターネットに送れば、離れた場所から教室の CO2 の変化を見たり、たくさんの部屋のデータを集めて分析したりできます。一方で、インターネットにつながる機器は不正アクセスのねらいにもなるので、初期のパスワードを変える、ソフトウェアを更新するなどの対策が欠かせません。

    センサーの限界を知る

    制御は、センサーが正しく計測できる範囲でしか働きません。国土交通省は、自動車の衝突被害軽減ブレーキについて、カメラやレーダーで周囲を監視し、衝突のおそれがあれば警報で運転者にブレーキ操作をうながし、それでも衝突を避けられないと判断したときに自動でブレーキをかける装置だと説明しています。そのうえで、機能には限界があり、故障していなくても状況によっては作動しないことがあると注意をうながしています。計測と制御のしくみを知ることは、こうした機器を正しく使うことにもつながります。

    CO2 の基準について補足します。建築物衛生法(建築物における衛生的環境の確保に関する法律)の建築物環境衛生管理基準では、空気調和設備のある居室の二酸化炭素の含有率を 100万分の1000以下(1000 ppm 以下)としています。学校の教室については、学校保健安全法にもとづく学校環境衛生基準で、換気の基準として二酸化炭素は 1500 ppm 以下であることが望ましいとされています。このページでは、しきい値の初めの値と評価の目安に 1000 ppm を使っています。

    使い方

    この教材を使う授業

    情報Ⅰ 授業の進め方ガイドでは、この教材を次の授業で使います。ねらい・導入の問い・50分の流れ・確認問題をまとめています。

    出典

    © 2026 情報ラボ ホーム カリキュラム対応表 授業の進め方ガイド 問題解決の手法 画像のデジタル化 音のデジタル化 ラスタとベクタ 画像のビット演算 色の表し方 情報デザイン HTMLとCSS 2進数・16進数 数の表し方と計算の誤差 文字コード データはすべて0と1 パリティマジック コンピュータのしくみ 論理回路 計測と制御 アルゴリズム プログラム表記を動かす ネットワークのしくみ Webページが表示されるまで 電子メールのしくみ 情報システムとデータの流れ 表計算のしくみ データベースとSQL シミュレーション データの分析 テキストマイニング 機械学習 回帰と予測 クラスタリング 統計的推測 著作権と知的財産 個人情報とプライバシー パスワードの強さ 暗号のしくみ ハッシュと電子署名 あやしいメールを見分ける データ量の計算 データ圧縮 JPEGのくり返し保存 RFID(電子タグ) 運営者情報・お問い合わせ プライバシーポリシー 更新履歴