ご存知のとおり、RaspberryPiはARMマイクロプロセッサをベースにした素晴らしい開発プラットフォームです。その高い計算能力で、それは電子機器愛好家や学生の手で驚異を解決することができます。これはすべて、現実の世界と相互作用させる方法を知っている場合にのみ可能です。リアルタイムの世界から特定のパラメータを検出し、それをデジタルの世界に転送できるセンサーはたくさんあります。多くのセンサーで多くのRaspberryPiプロジェクトをカバーしてきました。Raspberry Piは、マイクロコントローラーの機能を備えたWi-Fiを内蔵したポケットサイズのコンピューターであるため、IoTプロジェクトにも恩恵をもたらします。
このチュートリアルでは、IRセンサーをRaspberrypiとインターフェースする方法を学習します。これらのセンサーは、ラインフォロワーロボット、エッジ回避ロボットなどの小型ロボットで最も一般的に使用されています。簡単に言えば、その前にある物体の存在を検出し、白色と黒色を区別することもできます。かっこいいですね。
それでは、このセンサーをRaspberryPiとインターフェースする方法を学びましょう。このプロジェクトでは、IRセンサーの前に物体がない場合、赤色LEDはオンのままであり、IRセンサーの前に何かを置くとすぐに、赤色LEDがオフになり、緑色LEDがオンになります。この回路は、セキュリティアラーム回路としても機能します。
必要な材料:
- Raspberry Pi 3(任意のモデル)
- IRセンサーモジュール
- 緑と赤のLEDライト
- ブレッドボード
- 接続線
IRセンサーモジュール:
IRセンサー(赤外線センサー)は、その前にある物体の存在を検出するモジュールです。オブジェクトが存在する場合は出力として3.3Vを提供し、存在しない場合は0ボルトを提供します。これは、IRペア(送信機と受信機)のペアを使用することで可能になります。送信機(IR LED)はIR光線を放射し、その前に物体が存在すると反射します。このIR光線は受信機(フォトダイオード)によって受信され、オペアンプリンクLM358を使用して増幅された後に出力がハイになります。 IRセンサーモジュール回路の詳細については、こちらをご覧ください。
このプロジェクトで使用されているIRセンサーは上に示されています。すべてのIRセンサーと同様に、それぞれ5V、Gnd、Outの3つのピンがあります。モジュールはRaspberryPiの5Vピンから給電され、出力ピンはRaspberryPiのGPIO14に接続されています。モジュール上部のポテンショメータを使用して、IRセンサーの範囲を調整できます。
回路図と説明:
RaspberryPiとIRセンサーを接続するための回路図を 以下に示します。ご覧のとおり、回路図は非常に単純です。RaspberryPiの5VおよびグランドピンからIRモジュールに直接電力を供給しています。IRモジュールの出力ピンはGPIO14に接続されています。また、オブジェクトのステータスを示すために2つのLED(緑と赤)を使用しました。これらの2つのLEDは、それぞれGPIO3とGPIO2に接続されています。
Raspberry PiのGPIOピンは3.3Vであるため、電流制限抵抗は必須ではありません。ただし、必要に応じて、LEDのグランドピンとRaspberryPiの間に470オームの値の抵抗を追加できます。回路全体は、RaspberrypiのマイクロUSBポートを介して5Vモバイル充電器から電力を供給されます。
注:センサーを接続するときは、センサーのアースがMCUまたはMPU(ここではRaspberry Pi)のアースに接続されていることを確認してください。そうして初めて、彼らはコミュニケーションをとることができるようになります。
Raspberry Piのプログラミング:
ここでは、RPiのプログラミングにPythonプログラミング言語を使用しています。RaspberryPiをプログラムする方法はたくさんあります。このチュートリアルでは、Python 3 IDEを使用しています。これは、Python 3IDEが最もよく使用されているためです。完全なPythonプログラムは、このチュートリアルの最後に与えられています。Raspberry Piでのプログラムと実行コードの詳細については、こちらをご覧ください。
PYHTONプログラムで使用するいくつかのコマンドについて説明します。
ライブラリからGPIOファイルをインポートします。以下の関数を使用すると、PIのGPIOピンをプログラムできます。また、「GPIO」の名前を「IO」に変更しているため、プログラムでGPIOピンを参照する場合は常に、「IO」という単語を使用します。
RPi.GPIOをIOとしてインポートします
時々、私たちが使おうとしているGPIOピンが他の機能をしているかもしれません。その場合、プログラムの実行中に警告が表示されます。以下のコマンドは、PIに警告を無視して、プログラムを続行するように指示します。
IO.setwarnings(False)
PIのGPIOピンは、ボード上のピン番号または機能番号のいずれかで参照できます。ボード上の「PIN29」のように「GPIO5」です。したがって、ここでは、ピンを「29」または「5」で表すことにします。
IO.setmode(IO.BCM)
入出力ピンとして3ピンを設定しています。2つの出力ピンがLEDを制御し、入力ピンがIRセンサーからの信号を読み取ります。
IO.setup(2、IO.OUT)#GPIO 2->出力として赤色LEDIO.setup(3、IO.OUT)#GPIO 3->出力として緑色LEDIO.setup(14、IO.IN)#GPIO 14->入力としてのIRセンサー
次に、オブジェクトが遠くにあるときに、緑色のLEDをオフにし、赤色のLEDをオンにする必要があります。これは、GPIO14ピンをチェックすることで実行できます。
if(IO.input(14)== True):#オブジェクトが遠く離れているIO.output(2、True)#赤のLEDがオンIO.output(3、False)#緑のLEDがオフ
同様に、オブジェクトが近くにある場合は、緑色のLEDをオンにし、赤色のLEDをオフにする必要があります。
if(IO.input(14)== False):#object is near IO.output(3、True)#Green led ON IO.output(2、False)#Red led OFF
以下のコマンドは永久ループとして使用され、このコマンドを使用すると、このループ内のステートメントが継続的に実行されます。
一方1:
ワーキング:
Pythonコードを作成したら、runコマンドを使用して実行します。プログラムがエラーなしで実行されると、次の画面が表示されます。
また、以下に示すように、センサーの前に物体がない場合は、赤色のLEDが点灯するはずです。
ここで、何かをIR LEDに近づけると、赤いLEDがオフになり、緑がオンになります。完全な作業は、以下のビデオで見つけることができます。
あなたがプロジェクトを理解し、それを使って何か役に立つものを作ることができたことを願っています。質問がある場合は、以下のコメントセクションまたはフォーラムに投稿してください。