Raspberry Piで自動監視システム(5)


カメラスタンドの制御キットの縦方向、横方向の可動域のテストをしてみました。
IMG_20140120_192549


今回テスト用に作成したPythonのソースです。
import time
import os, sys
import pipan
 
p = pipan.PiPan()
 
p.neutral_pan()
x = 150
y = 150
 
while 1:
    #pan
    # move head to right
    while x < 240:
        p.do_pan (int(x))
        time.sleep(0.005)
        x += 1
 
    # move head to left
    while x > 60:
        p.do_pan (int(x))
        time.sleep(0.005)
        x -= 1
 
    # move head to neutral
    while x < 150:
        p.do_pan (int(x))
        time.sleep(0.005)
        x += 1
 
    #tilt
    # move head down
    while y < 220:
        p.do_tilt (int(y))
        time.sleep(0.005)
        y += 1
 
    # move head up
    while y > 80:
        p.do_tilt (int(y))
        time.sleep(0.005)
        y -= 1
 
    # move head neutral
    while y < 150:
        p.do_tilt (int(y))
        time.sleep(0.005)
        y += 1
 
    time.sleep(5)

Pythonライブラリで横方向(パン)はdo_pan、縦方向(チルト)はdo_tiltという関数がそれぞれ用意されていて、そこにパラメータとして位置を指定するだけです。 とても簡単です。

あとはpwmという関数を使うとサーボの出力チャンネルと位置を指定することで、6つまでサーボモーターを使用できます。
PWM回路はハードウェアで実装されていますので6台同時に制御可能です。

動作時の動画を撮影しました。


横方向はもう少し可動域が広いのですが、カメラモジュールのケーブルの長さがギリギリだったので若干狭くパラメータを設定しました。 縦方向はメーカーが公開しているリファレンスにある最大値を設定しています。
これだけ広ければ実用的には十分だと思います。


これからPythonでGUIを作成してPCやスマホから操作できるようにしていきたいと思います。


Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です