JetsonでLチカする
ハードウェア
今回利用するハードウェアはJetson Nano 2GB モデルです。
点灯に利用するLEDは 3v で点灯できるものであれば何でもOKです。電流制限用の抵抗は200Ω~1KΩ程度であればLED点灯が確認出来ると思います。
*最大輝度で光らせるには適切な抵抗値を計算する必要がありますが、Lチカは点灯が確認できればOKなのである程度の範囲なら何でも良いです。
|
|
|
ライブラリのインストール
ライブラリを利用しますが、すでに自分の場合はなにかのパッケージインストール時にインストールされていたため必要ありませんでした。
以下のコマンドを実行します。
sudo pip3 install Jetson.GPIO
パーミッションの設定
JetsonでGPIOの利用にはパーミッション設定が必要となるようなので以下のコマンドを実行し、現在ログインしているユーザーに権限を与えます。
2行目の最後のパラメーターは現在ログインしているユーザー名に適宜置き換えてください。自分の場合はユーザー名としてkotaを利用しています。
sudo groupadd -f -r gpio
sudo usermod -a -G gpio kota
配線
今回はブレッドボードを利用して配線します。特にGPIOは何番でもかまわないのですがGNDの隣で便利なので GPIO 23番を利用します。
GPIOピン配列を確認
GPIOヘッダーはラズベリーパイと同じ40ピンです。基板側にもピン番号がシルク印刷されているのでわかりやすいですね。
ケーブルは以下のようなデュポンケーブルを利用します。
|
面倒くさがらず電源をOFFにしてから接続しましょう。意図せず本体や他のピンと短絡させてしまうと故障の原因になります。
GNDに赤色のケーブル、そしてGPIO 23に青色のケーブルを接続しました。
ケーブルの反対側をブレッドボードの適当箇所に挿し、LEDと接続していきます。
GPIO23 をオンにするとプラス側になるので、LEDの足の長い方に接続します。
LEDの足の短い方は抵抗と接続し、抵抗の反対側をGNDから伸ばしたケーブルに接続して完了です。
基本的に抵抗はLEDのプラス・マイナスどちら側に接続しても同じように動作します。
プログラム
以下のような適当なコードを作成し、保存します。ファイル名は何でもOKですが、この記事では gpio.py という名前にしました。
import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(23, GPIO.OUT)
GPIO.output(23, GPIO.HIGH)
GPIO.cleanup()
では実行は以下のコマンドです。
python3 gpio.py
恐ろしく簡単にONになってしまいましたね。ラズベリーパイと同様にすごく簡単です。
なんせコード5行しか書いてませんからね!
OFFにするコード
次はOFFにするコードです。GPIO.HIGH でオン, GPIO.LOW でオフになります。
import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(23, GPIO.OUT)
GPIO.output(23, GPIO.LOW)
GPIO.cleanup()
GPIOをまとめて初期化するコード
このライブラリは結構気の利いた作りになっていて、このようにまとめて初期化する事もできます。便利ですね。
import Jetson.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
channels = [18, 12, 23]
GPIO.setup(channels, GPIO.OUT)
GPIO.output(23, GPIO.LOW)
GPIO.cleanup()
まとめ
ラズベリーパイ等でやったことがある方なら一瞬で出来ると思います。
References
- Jetson Nano 2GB Developer Kit User Guide https://developer.nvidia.com/embedded/learn/jetson-nano-2gb-devkit-user-guide