4-1 GPIO 入門
学習目標
本章では、学習者がPandoraプラットフォーム上でのGPIO操作を理解し、その入力と出力の基本的な制御原理を習得することを目的としています。 学習者は、GPIOサブシステムやlibgpiodを使用してGPIOピンの設定と操作を行い、簡単なGPIO入出力機能を実装し、組込みシステムにおけるその応用シーンを理解します。
1. GPIOとは?
GPIOはGeneral Purpose Input/Outputの略で、「汎用入出力」を意味します。簡単に言えば、Jetsonボードにはいくつかの小さなピン(ソケットのようなもの)があり、これらを設定することで以下のことができます。
- 入力 (Input): ボタンが押されたか読み取ったり、センサーが何かを検知したか確認したりします。
- 出力 (Output): LEDライトを点灯させたり、モーターを始動させたり、ブザーを鳴らしたりします。
これらのピンは、あなたが外の世界と通信するための架け橋のようなものです!
2. JetsonでのGPIOの使い方
Jetsonでは、GPIOはボード上の「番号付きソケット」のようなものですが、その番号の付け方は少し特殊です。NVIDIAは各ピンに GPIO3_PAA.01 や PQ.05 といった固有の識別子(コード)を割り当てています。これらのコードはLinuxシステム内のGPIO番号に対応しており、プログラムを通じて制御することができます。
JetsonのGPIOを制御するには、主に2つの方法があります。
- Pythonプログラム:
Jetson.GPIOというPythonライブラリを使用して、ピンを制御するプログラムを書きます。 - Linuxコマンド: Linuxシステムのツールを直接使用して操作します。
ここでは主に、Linuxコマンドを使用してPandoraのGPIOを制御する方法を学びます。
3. PandoraのGPIOピン番号
Pandoraには40本のピンヘッダーがあり、各ピンには独自の識別コードがあります。例えば:
- GPIO01はPQ.05に対応
- GPIO07はPG.06に対応
- GPIO09はPAC.06に対応
- GPIO11はPQ.06に対応
- GPIO12はPH.00に対応
- GPIO13はPN.01に対応
これらのコードはピンの「身分証明書」のようなもので、どのピンがどれであるかを教えてくれます。これらのコードを使用して、ピンの機能(入力または出力)を設定できます。
4. 注意事項
- 安全第一: 配線を行う際は、ボードや部品の破損を防ぐため、必ずJetsonボードの電源が切れていることを確認してください。
- ドキュメントの確認: ピンの番号や機能が確信できない場合は、NVIDIAの公式ドキュメントやボードのユーザーマニュアルを確認してください。