RaspberryPiでサーボモータを動かす

0pt   2018-09-15 09:40
IT技術情報局

概要

Raspberry Piを使ってサーボモータを動かしてみる

サーボモータについて
68747470733a2f2f71696974612d696d6167652d
役割ごとにケーブルが色分けされているので間違えないように配線
以下と異なる場合もあるので購入したサーボのデータシートを確認
GND:黒/茶
VCC:赤
信号:白/黄/橙 準備するもの
  • Raspberry Pi(今回は Raspberry Pi 3を使用)
  • Raspberry Pi用電源(今回はACアダプタ[5V3A microB]を使用)
  • microSD(OS:Raspbian)
  • ディスプレイ(HDMI接続)
  • キーボード
  • ブレットボード
  • ジャンプワイヤ[メス-オス]
  • サーボモータ[SG-90]
回路

回路図が読めない方はブレットボード配線図を参考にしてください。
68747470733a2f2f71696974612d696d6167652d    68747470733a2f2f71696974612d696d6167652d

ソースコード servo_test.py import RPi.GPIO as GPIO import time i=0 pin=18 GPIO.setmode(GPIO.BCM) GPIO.setup(pin,GPIO.OUT) servo=GPIO.PWM(pin,50) servo.start(2.5) while i<5: servo.ChangeDutyCycle(5) time.sleep(0.5) servo.ChangeDutyCycle(7.5) time.sleep(0.5) servo.ChangeDutyCycle(10) time.sleep(0.5) servo.ChangeDutyCycle(12.5) time.sleep(0.5) servo.ChangeDutyCycle(10) time.sleep(0.5) servo.ChangeDutyCycle(7.5) time.sleep(0.5) i+=1 servo.stop() GPIO.cleanup() 解説
Raspberry PiのGPIOを操作するために”RPi.GPIO”のパッケージをインストール。 sudo apt-get install python-rpi.gpio
・ポート番号の指定
GPIO.setMode(“GPIO.BCM/GPIO.BOARD”)
GPIO.BCM:GPIO番号で指定
GPIO.BOARD:PIN番号で指定
・GPIOの入出力設定
GPIO.setup(“GPIO番号”,“GPIO.OUT/GPIO.IN”)
GPIO.OUT:出力で設定
GPIO.IN:入力で設定
・PWMの設定
GPIO.PWM(“GPIO番号”,“周波数”)
・PWMの開始
servo.start(“デューティー比”)
・PWMのデューティー比変更
servo.ChangeDutyCycle(“デューティー比”)
・実行時間(s)
time.sleep(“時間(s)”)
・PWMの終了
servo.stop()
・ポートのクリア
GPIO.cleanup()
実行 python servo_test.py 動画

pic.twitter.com/vrZX4SjNKA

— DRM (@DoubleRunMaster) 2018年9月15日

https://platform.twitter.com/widgets.js
Source: python tag

   ITアンテナトップページへ
情報処理/ITの話題が沢山。