発行済み 2026-02-24
スマートカー、自動ゲート、ロボットアームなどの動く作品を作りたいとき、最も厄介な疑問は「なぜステアリングが命令に従わないのか?」ということに気づいたことはありませんか?実際、これは通常、相手に「伝える」ための正しい方法を見つけていないことが原因です。赤外線センサーと組み合わせることで、サーボはこの制御問題を完全に解決し、創造的なプロジェクトを真に「生きた」ものにします。
赤外線コントロールで遊びたい場合、最初のステップはもちろん配線です。心配しないでください。思っているよりもずっと簡単です。ほとんどの赤外線センサー (一般的な赤外線障害物回避モジュールや追跡モジュールなど) には、VCC、GND、OUT の 3 つのピンがあります。 Dupont ワイヤを使用して、VCC を拡張ボードの 3.3V または 5V インターフェイスに接続し、GND を GND に接続し、最後に OUT 信号線をピン 0 などの任意のピンに接続するだけです。これは、「電源線」と「信号線」をセンサーに接続するようなもので、センサーが「認識している」情報を伝えることができます。
ワイヤーの接続は最初のステップにすぎません。次のステップは、センサーの「言語」を理解することです。センサーのOUT端子は通常時(「正常です」に相当)ハイレベルを出力し、障害物を検知するとローレベル(「異常です!」と叫ぶのに相当)を出力します。したがって、接続されたピンのステータスを継続的に読み取るには、プログラミング環境で「無限ループ」モジュールを使用する必要があります。ピンが低いことを読み取ると、赤外線が何かを「認識」したことを意味し、何かを行う時期が来たことがわかります。
センサーが信号を受信したら、次のステップは舵を作動させることです。ステアリングギアは通常のモーターではなく、指定した角度に正確に回転します。プログラミングでは拡張ライブラリを使用する必要があります。サーボ"。追加後、"サーボ「Write」ビルディングブロックが表示されます。その使用方法は非常に簡単です。たとえば、ピンP1を選択して数字90を入力すると、サーボはすぐに90度の位置に回転します。
サーボにもっとトリックをさせたい場合は、角度を変数として設定できます。たとえば、サーボを扇風機のように前後にスイングさせたい場合は、「for」ループを使用して角度を 0 から 180 までゆっくりと増加させ、その後 0 に戻します。このようにして、あなたは指揮官となり、ステアリング ギアにどこを指すかを正確に指示します。全体のプロセスはスムーズでシンプルです。
ここで、最初の 2 つのステップを接続します。これが最もエキサイティングな瞬間です。ロジック全体は実際には「if... then...」という文です。赤外線センサーが障害物を検出すると、サーボは特定の角度で回転します。このロジックは、「if...then...else」構成要素を使用して簡単に実装できます。 「if」の後に「デジタルピンの読み取り」のステータスを置き、「then」の後にサーボを制御する命令を置きます。
具体的な例を挙げると、自動的に開くゴミ箱を作ることができます。赤外線センサーをゴミ箱の前に置き、サーボを蓋に接続します。プログラミング時にこれを書きます。赤外線ピンの読み取り値が 0 (誰かが手を差し伸べていることを検出) の場合、サーボは 180 度回転します (蓋が開きます)。 2 秒待ってから、サーボを 0 度に戻します (蓋をします)。ほら、実用的なスマートホームモデルが誕生したばかりです。プロセス全体が自動で行われます。すごい達成感じゃないですか?
サーボが震えたり、まったく動かなくなっても、ハードウェアが壊れているとすぐに疑う必要はありません。 It's most likely a power supply problem.サーボは回転時に比較的大きな電流を必要とするため、サーボ自体のUSB電源では供給できない場合があります。それは空腹時に重労働をする人のようなもので、間違いなく震えるでしょう。 The solution is very simple.サーボには電池ボックスなどの外部電源を別途用意し、サーボの電源ラインとGNDを「共通グランド」にして信号を安定して伝送してください。
もう 1 つの一般的な理由は、コード ロジックの競合です。シングルスレッドです。プログラムに「一時停止」コマンドがある場合、マザーボード全体が停止して待機します。このとき新たな赤外線信号があった場合は反応できません。解決策は、長期にわたる「一時停止」命令を最小限に抑えて「ミリ秒単位の一時停止」に置き換えるか、より高度な「ステート マシン」プログラミング思考を使用して、プログラムがいつでも新しい割り込み信号を待機し応答できるようにすることです。
基本的なコントロールを習得すると、創造性が発揮されます。たとえば、赤外線センサーを使用して植木鉢内の土の高さを (単純な機械構造によって) 検出する、インテリジェントな花の水やりシステムを作成します。土壌中の検出棒が特定の位置に落ちると、赤外線が作動し、サーボが給水バルブを開き、数滴の水を滴下します。 Or make an interactive electronic doorbell.誰かが近づくと、赤外線トリガーサーボが漫画のキャラクターを駆動して銅鑼や太鼓を演奏させます。これは通常のドアベルよりもはるかに興味深いものです。
赤外線追跡ソーラーパネルの構築など、複雑なプロジェクトに取り組むこともできます。 2つの赤外線センサーを並べてどちらが先に強い光源を検知したかを比較し、サーボを制御してソーラーパネルの向きを調整し、常に最も強い光が当たる位置を狙います。これらのプロジェクトは楽しいだけでなく、物理学、プログラミング、問題解決のスキルを練習することもできます。完成させると本当に達成感があります。
作品を「おもちゃ」から「プロトタイプ」にアップグレードしたい場合、プログラムの安定性が鍵となります。実用的なテクニックは、「アンチバウンス」処理を追加することです。赤外線センサーの反応は非常に敏感であるため、一瞬誤信号を出力する場合があります。信号を検出した後、数十ミリ秒待ってから再度信号を検出し、それが有効な信号であることを確認してからサーボ動作を実行することができます。これにより、環境干渉による誤ったトリガーを効果的に防止できます。
信頼性を向上させるもう 1 つの方法は、プログラムに「ステータス インジケーター」を追加することです。たとえば、赤外線信号がトリガーされると、ドットマトリックス画面にスマイリーフェイスが表示されたり、オンボード LED ライトが点滅したりします。このようにして、センサーが信号を受信したかどうか、プログラムが正しく実行されているかどうかを直感的に知ることができます。この種の細かい詳細は、問題のトラブルシューティングを迅速に行うのに役立ちます。これにより、デバッグ中に目をそらす必要がなくなり、作業の安定性と信頼性が自然に高まります。
どのようなプロジェクトに取り組んでいますか?特に難しいバグに遭遇したことはありますか?コメント エリアにメッセージを残して、投げた経験を共有してください。アイデアを考えるのにみんなが協力してくれるかもしれません。この記事が役立つと思われた場合は、忘れずに「いいね!」を押して、創作好きな友達と共有してください。
更新時間:2026-02-24