jetson nanoで水流の計測 その1

シェアする

アカザはエサを探すために、夜間は活発に泳ぎ回るのですが、それが水流と関係しているみたいなのです。

そこで、アカザの活性と水流との関係を明らかにしたいなと思ったので、水流計測をやります。

やること・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の動作が連動してたらよし。次回は水流計を繋いでいきます。