GClue

赤外線距離測定機と今日の活動

インターン生の森本望(学部1年)です。

昨日の段階で釣り糸を巻き上げることができているので、
本日もインターン生各々が一つの目標のため様々な内容の作業を行いました。

<作業内容>
・センサーで取得したデータのグラフ化
・Raspberry Piのアクセスポイント化
・モーターの改良、センサーの取り付け
・Raspberry Pi Imageの作成、セットアップ
・機械学習のデータ取得
・赤外線を使用し距離測定

今回、特に手間取ったのは赤外線での距離測定です。

赤外線距離測定機はI2Cを用いて距離を算出します。
Pythonでメモリを扱いや、I2Cの入出力の方法が慣れていなかったため手間取りました。
リファレンスを読みsmbusと言うシステムのバスを扱えるライブラリを用いて解決しました。

SONY DSC

<サンプルコード>

# coding: utf-8
#lider lite v3
import smbus
import time
bus = smbus.SMBus(1) #I2Cのバス番号
address = 0x62 #Lider Lite v3のアドレス
ACQ_COMMAND = 0x00
STATUS = 0x01
FULL_DELAY_HIGH = 0x0f
FULL_DELAY_LOW = 0x10
while True:
     #0x00に0x04の内容を書き込む 
     bus.write_block_data(address,ACQ_COMMAND,[0x04])
     #0x01を読み込んで、最下位bitが0になるまで読み込む
     value = bus.read_byte_data(address, STATUS)
     while value & 0x01==1:
         value = bus.read_byte_data(address, STATUS)
     #0x8fから2バイト読み込んで16bitの測定距離をcm単位で取得する
     high = bus.read_byte_data(address, FULL_DELAY_HIGH)
     low = bus.read_byte_data(address,FULL_DELAY_LOW)
     val = (high << 8) + low
     dist = val
     print "Dist = {0} cm , {1} m".format(dist,dist/100)
     #cmを100倍してmに直す。
     time.sleep(1)
     #time.sleep(1)で1秒ごとに距離を出力する。

今後I2Cでの装置を作ることに強くなった気がします。

Related post

  1. GClue

    圧力センサを使ったワカサギ判定

    インターン生の並木(学部1年)です。現在AIワカサギ釣竿を製作…

  2. GClue

    桧原湖へワカサギを釣りに行ってきました

    インターン生の森本望です。本日は目標であった自動でのワカサ…

  3. GClue

    圧力センサでワカサギの引きを検知する

    インターン生の会津大学 学部一年 芳賀(はが)です。先日の桧原…

  4. GClue

    釣竿について考える

    インターン生の会津大学 学部一年 芳賀(はが)です。昨日の会津…

  5. GClue

    ラジコンカーの作成

    インターン生の深谷です。数日前から作成していたラジコンカーを試…

Comment

  1. No comments yet.

  1. No trackbacks yet.

最近の記事

  1. TensorFlow

    TFUG Aizu 第二回ハンズオン(2/4開催)
  2. GClue

    回転数と回転方向の取得
  3. OpenData

    会津若松市でOpenDataで公開されている走行データ(10万件)を解析 その2…
  4. GClue

    赤外線距離測定機と今日の活動
  5. GClue

    アメリカ短期留学
PAGE TOP