0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ラズパイでサーボライブラリpiServoCtlを使う(ハードウェアPWM使用)

Last updated at Posted at 2020-10-18

ここではRaspberryPi4でPython3.7を使用しました。
DSC_0033.JPG
ホビー用サーボ(左からSG92RSG90

ライブラリをインストールする

piServoCtlライブラリを使用します。
Github: https://github.com/naoto64/piServoCtl
以下のコマンドを打ってインストールできます。

$ sudo pip3 install piServoCtl

使い方

このライブラリは、pigpioを使用しているため、pigpiodを起動する必要があります。コマンドsudo pigpiodを打つか、pigpiodを自動起動させておいてください。pigpiodの自動起動については、このサイトが参考になります。
https://hakengineer.xyz/2017/09/22/post-318/
サーボはSG92RやSG90を使用しましたが、他のサーボでも動くと思います。

example.py
from piservo import Servo # piservoモジュールをインポート(piServoCtlと間違えないように)
import time

myservo = Servo(12) # GPIO12にサーボをつなぐ

myservo.write(180)
time.sleep(3)
myservo.write(0)
time.sleep(3)
myservo.stop()

このプログラムを実行すると、サーボが180度、0度の位置に動きます。ですが、0度付近でサーボがガタガタ動きます。サーボモータに若干のズレがあるようで、少し修正が必要なようです。

myservo = Servo(12, min_pulse=0.61, max_pulse=2.34)

myservo = Servo(12)の部分を上のように変更すると、ほぼ正確に動くようになりました。サーボは個体差があるようなので、サーボに合わせてmin_pulse, max_pulseの部分を適宜書き換えて下さい。

実行結果

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?