この記事の結論
- センサー・モーターを扱う前に押さえておきたい言葉は「デジタル出力とアナログ出力」「PWM」「動作電圧」の3つ
- 光センサー(CdSセル)や可変抵抗のように段階的な値を扱うセンサーはアナログ入力(0〜1023)で読み取る、人感センサーやDHT11・DHT22(ワンワイヤー通信)のように信号としてやり取りするセンサーはデジタル出力が中心
- サーボモーターの角度制御やLEDの明るさ調整は、PWM(パルス幅変調)という仕組みで実現している
- 配線前に必ず確認したいのは動作電圧(5V系か3.3V系か)、モーター系は電源不足によるArduino本体の誤作動にも注意が必要
この記事は、センサー・モーターの個別記事を読む前に知っておくと理解が早くなる基礎知識をまとめたものです。
すでにはじめてのLチカを試した人であれば、LEDをONにするかOFFにするかという単純な仕組みはすでに体験済みのはずです。
センサーやモーターを扱うようになると、そこに「アナログ」「PWM」「動作電圧」という新しい言葉が登場します。
難しく感じる言葉かもしれませんが、実際に使う場面はそれぞれ限られているので、1つずつ順番に見ていきましょう。
センサー・モーターを動かす前に知っておきたい3つの言葉
デジタル出力とアナログ入力の違い
デジタル出力は、ON(5V)かOFF(0V)の2択しかない値の出し方です。
LチカのLEDの点灯・消灯や、人感センサーの「検知した/していない」は、このデジタル出力の代表例です。
一方でセンサー側のアナログ入力は、「analogRead()」という命令でピンの電圧を読み取り、Arduino Uno R3など10bitのADC(アナログ-デジタル変換回路)を持つボードの場合は0〜1023の範囲で段階的な値を返す仕組みです。
光センサー(CdSセル)や可変抵抗、サーミスタのようになめらかに変化する量を扱うセンサーは、このアナログ入力(analogRead)で値を読み取ります。

PWM(疑似アナログ)とは
Uno R3をはじめ、多くのArduinoボードは正確な意味でのアナログ出力(電圧を連続的に変化させる出力)が苦手です。
そこで使われるのが、ON/OFFを高速に繰り返して疑似的にアナログのような効果を出す「PWM(パルス幅変調)」という仕組みです。
「analogWrite()」という命令を使い、0〜255の範囲で指定した比率でON/OFFを繰り返します。
サーボモーターの角度制御やLEDの明るさ調整は、このPWMのパルス幅(ONにしている時間の長さ)を変えることで実現しています。
PWMは「Pulse Width Modulation」の略ですが、名前を覚える必要はありません。
「素早くON/OFFを繰り返すことで中間の値を作り出している」というイメージだけ持っておけば、各記事のコード例は問題なく読み進められます。
通信方式は名前だけ知っておけば十分
一部のセンサーは、1本の信号線だけでデータをやり取りする「ワンワイヤー通信」という方式を使っています。
温湿度センサーのDHT11・DHT22は、この方式の代表例です。
通信方式の中身まで理解する必要はなく、対応するライブラリを使えば、難しい部分はライブラリ側がまとめて処理してくれます。
動作電圧のチェックが最重要
5V系と3.3V系
Arduino Unoは5Vで動作するマイコンボードです。
入門用として販売されているセンサーモジュールの多くも5V対応ですが、一部には3.3V専用の製品もあります。
説明書や商品ページに書かれた動作電圧は、配線を始める前に必ず確認してください。
3.3V専用のセンサーに5Vをそのまま流すと、センサーが故障する原因になります。
逆に3.3V系のボードに5V出力のセンサーをつなぐと、信号を正しく読み取れないことがあるため、組み合わせるボードとセンサーの電圧は必ず揃えるようにしてください。
電源不足で起きるトラブル
LEDやセンサーは消費する電流が小さいため、Arduino本体からの給電だけで足りることがほとんどです。
一方でサーボモーターやステッピングモーターは、動くときにまとまった電流を必要とします。
Arduino本体だけで賄おうとすると電圧が一瞬下がり、Arduino自体が誤作動することもあります。
この対処法については、モーターを扱う記事で具体的に説明します。

配線・確認の基本動作
ブレッドボードでの仮組み
センサー・モーターは、はんだ付けする前にまずブレッドボードで仮組みして動作を確認するのが基本です。
内部配線の仕組みを理解しないまま差し込むと、意図せずショートさせてしまうことがあります。

テスターでの導通確認
配線したのに反応しないときは、まずテスターの導通チェック機能で配線が正しくつながっているか確認します。
見た目では分からない断線や接触不良も、テスターがあれば数秒で見つけられます。
このカテゴリで扱うセンサー・モーターの全体像
ここから先は、実際のセンサー・モーターを1つずつ具体的に見ていきます。
まず温湿度センサー(DHT11・DHT22)の使い方から、配線とコードの基本パターンを確認します。
続いて人感センサー・超音波距離センサーの使い方、サーボモーターの使い方と進みます。
最後にセンサー・モーター選びの早見表で、目的別にどれを選べばいいかを一覧できるようにまとめています。
まとめ:個別記事に進む前のセルフチェック
個別センサー・モーターの記事に進む前に、以下の点がなんとなくつかめているか確認してみてください。
- デジタル出力(2値)、アナログ入力(analogRead、0〜1023)、PWM出力(analogWrite、0〜255)の3つが、なんとなく区別できている
- ワンワイヤー通信のような専門用語が出てきても、対応するライブラリに任せれば大丈夫だと思える
- 配線前に動作電圧(5V系か3.3V系か)を確認する習慣が身についている
- モーターを動かすときは電源不足でArduino本体が誤作動することがある、という点の見当がついている
デジタル/アナログ・PWM・動作電圧の3点さえ押さえておけば、この先の個別記事はつまずかずに読み進められます。
配線図やコードに知らない言葉が出てきたら、この記事に戻って確認してください。


コメント