2016年2月28日日曜日

Orange Pi PC の WiringPi でサーボ制御(その2)

WiringPi の softServo を使って無事サーボを動かすことが出来ました。
動かなかったのはパラメータ間違いという落ち orz

こんなソースで無事に動作しました。
試したのはサーボ1個だけですが、最大8個まで制御可能です。

WiringPiのsoftServo.cを見ていると、パルスの間隔は 8ms で制御しているようですが、古いサーボだと20ms程度(50Hz)のパルス間隔でないと上手く動作しない場合もあるかもしれません。
AMプロポの時代のサーボのパルスは確か50Hzだったと思いますので。

softServo.c のソースは小さなソースコードですが、他にも気になる部分はあるので、自分なりにオリジナルでコードを書いてみようかな?という気になっています。
 

2 件のコメント:

  1. 最近、orange pi zeroを手に入れservoを動かそうとしたのですが、7番が(PWMピンのように記載されている)制御できなかったためソフト制御しようとこちらのソースを使わせていただき無事に動きました。(ピン番号は変更しています)
    本当にありがとうございました。

    ただ、includeでsoftPwm.hが抜けていましたので、お礼と重ねて1年も前の記事で恐縮ですが報告させていただきます。

    返信削除
    返信
    1. お役に立てて何よりです。
      確かに softPwm.h 忘れてましたので追加しておきました。

      削除