Help us understand the problem. What is going on with this article?

Raspberry Piでサーボモーターを回す

More than 1 year has passed since last update.

このエントリは「Raspberry Piでスマートロックつくった」の解説2つめになります。
サムターンを回してカギを開閉するためにサーボモーターSG92Rを使います。Pythonでサーボを簡単に扱うライブラリはいくつかありますが、今回はRaspbianに最初から入っているRPi.GPIOを使って動かします。

GPIOピンに接続

秋月電子通商の商品紹介ページによると、
動作電圧:4.8~6V、
配線:茶=GND、赤=電源[+]、橙=制御信号
だそうです。
M-08914 (1).jpg
なので茶色をGND、赤を5V、黄色を4番あたりに繋いで制御パルス用に用います。

プログラム

import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)

#GPIO4を制御パルスの出力に設定
gp_out = 4
GPIO.setup(gp_out, GPIO.OUT)

#「GPIO4出力」でPWMインスタンスを作成する。
#GPIO.PWM( [ピン番号] , [周波数Hz] )
#SG92RはPWMサイクル:20ms(=50Hz), 制御パルス:0.5ms〜2.4ms, (=2.5%〜12%)。
servo = GPIO.PWM(gp_out, 50)

#パルス出力開始。 servo.start( [デューティサイクル 0~100%] )
#とりあえずゼロ指定だとサイクルが生まれないので特に動かないっぽい?
servo.start(0)
#time.sleep(1)

for i in range(3):
    #デューティサイクルの値を変更することでサーボが回って角度が変わる。
    servo.ChangeDutyCycle(2.5)
    time.sleep(0.5)

    servo.ChangeDutyCycle(7.25)
    time.sleep(0.5)

    servo.ChangeDutyCycle(12)
    time.sleep(0.5)

    servo.ChangeDutyCycle(7.25)
    time.sleep(0.5)

servo.stop()
GPIO.cleanup()

実行結果

ちなみに

ラズパイでサーボっていうとよくSG90が紹介されていますが今回はSG92Rを使っています。カギを回すために一応トルクがちょっと強めなSG92Rを採用したのが理由ですが、結果としては十分すぎるくらい強かったのでSG90でも問題なく回せると思います。サイズ感で好みの方を使えば良いでしょう。
Next:Raspberry PiにNFCリーダを接続してSuicaを読み取る

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした