注釈

こんにちは、SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Communityへようこそ!Facebook上で、仲間と一緒にRaspberry Pi、Arduino、ESP32をさらに深く探求しましょう。

なぜ参加するのか?

  • 専門的なサポート:購入後の問題や技術的な課題をコミュニティやチームの助けを借りて解決。

  • 学びと共有:スキルを向上させるためのヒントやチュートリアルを交換。

  • 限定プレビュー:新製品発表や予告編に早期アクセス。

  • 特別割引:最新製品の特別割引を楽しむ。

  • フェスティブプロモーションとプレゼント:プレゼントやホリデープロモーションに参加。

👉 私たちと一緒に探索と創造を始める準備はできましたか?[ここ]をクリックして、今すぐ参加しましょう!

レッスン07: 赤外線速度センサーモジュール

このレッスンでは、ESP32開発ボードと速度センサーモジュールを使用して障害物を検出する方法を学びます。センサーが障害物を検出すると高信号を送り、道がクリアになると低信号を送る仕組みを見ていきます。このプロジェクトは、ESP32プラットフォームを使用して、センサーの統合と基本的な入出力操作を実践的に理解するための理想的なものです。

必要な部品

このプロジェクトでは、以下の部品が必要です。

部品一式を購入するのが便利です。こちらのリンクをご利用ください。

Name

ITEMS IN THIS KIT

LINK

Universal Maker Sensor Kit

94

Universal Maker Sensor Kit

以下のリンクから個別に購入することもできます。

Component Introduction

Purchase Link

ESP32 & Development Board

購入

ブレッドボード

購入

赤外線速度センサーモジュール

購入

配線

../_images/Lesson_07_Speed_esp32_bb.png

コード

コード解析

  1. センサーピンの定義

    センサーピンは定数整数として宣言され、ESP32のピン番号25に設定されます。

    const int sensorPin = 25;
    
  2. セットアップ関数

    この関数はシリアル通信を9600ボーレートで初期化し、sensorPinを入力として設定します。

    void setup() {
      Serial.begin(9600);
      pinMode(sensorPin, INPUT);
    }
    
  3. ループ関数

    ループ関数はセンサーピンの状態を継続的にチェックします。 センサーピンがHIGHを読み取ると、シリアルモニタに「障害物検出」と表示します。 センサーピンがLOWの場合、「障害物なし」と表示します。

    void loop() {
      if (digitalRead(sensorPin) == HIGH) {
        Serial.println("Obstruction detected");
      } else {
        Serial.println("Unobstructed");
      }
    }
    
  4. さらに

    モーターにエンコーダーが取り付けられている場合、特定の期間内にセンサーを通過する障害物の回数を数えることで、モーターの回転速度を計算することができます。

    ../_images/Lesson_07_Encoder_Disk.png