アカザはエサを探すために、夜間は活発に泳ぎ回るのですが、それが水流と関係しているみたいなのです。
そこで、アカザの活性と水流との関係を明らかにしたいなと思ったので、水流計測をやります。
やること・jetson nanoのgpioの使い方をマスター・水流計のデータをjetson nanoで表示
水流計はこちら。jetson nanoで計測します。接続にはjetson nanoのgpioピンを使います。参考にしたサイトはこちら
事前準備
ハードウェア
- 抵抗
- LED
- スイッチ
- ジャンパーピン
- ブレッドボード
gpioを使うためのコード(プログラム)を書く前に、必要なライブラリ?(アプリ的なもの)をインストールして、もろもろの設定をやります。下記のコードはjetson nanoのコマンドプロンプトみたいな黒い画面に一行ずつ書き込みます。(何をやっているかはわかってない)
pip install Jetson.GPIO sudo groupadd -f -r gpio sudo usermod -a -G gpio your_user_name(←ここに自分のユーザー名を入れる) sudo cp lib/python/Jetson/GPIO/99-gpio.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules && sudo udevadm trigger
これでpythonのプログラムからgpioピンを制御できるようになったので、プログラムを書いていく。
プログラムの参考はこちら(http://www.neko.ne.jp/~freewing/raspberry_pi/nvidia_jetson_nano_gpio_blink_led_switch/)このスクショの部分を参考にさせていただきます。
手順は①パソコンでLtika.txtファイルを作る②.txtを.pyに変える③コードをコピー④USBメモリに入れてjetson nanoにコピー
やることとしては、上のスクショ通り、スイッチのオンオフが入力されること、スイッチの入力によってLEDが変化することを確認します。コードは
import Jetson.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(13, GPIO.IN) GPIO.setup(15, GPIO.OUT) GPIO.output(15, GPIO.HIGH) GPIO.output(15, GPIO.LOW) def main(): while True: if GPIO.input(13) == 1: GPIO.output(15, GPIO.HIGH) else: GPIO.output(15, GPIO.LOW) if __name__ == "__main__": main() GPIO.cleanup()
これでスイッチとLEDの動作が連動してたらよし。次回は水流計を繋いでいきます。