はじめに
そろそろLチカ以外のことをやりたい!ということでサーボモーターを買いました!
新品価格 |
今回はこれを動かしたいと思います。
ラズパイは Raspberry Pi 3 Model B です。
その他必要なやつ
オスメスジャンバ線3本を使いました。
モーター動かすのは下記記事を参考にしました。
サーボモーターで自動エサやりマシーンを作る(前半)
準備
ラズパイに何入れてるか忘れたので Raspberry Pi OS をいれなおしました。
配線
- ジャンバ線1のオスをモーターの茶色に挿す。
- ジャンバ線1のメスをラズパイの 5V 横の GND に挿す。
- ジャンバ線2のオスをモーターの黄色に挿す。
- ジャンバ線2のメスをラズパイの GPIO14 に挿す。
- ジャンバ線3のオスをモーターの赤色に挿す。
- ジャンバ線3のメスをラズパイの 5V に挿す。
モーターを動かす
コードを書いていきます(なんとなく pipenv 使います)。
-
SSH 接続する。
-
必要なものを入れていく(vim がなければいれる
sudo apt-get install vim
)。1234567891011121314151617181920# pipenvをインストール$ sudo pip3 install pipenv# ディレクトリを作成$ mkdir servo# ディレクトリに移動$ cd servo# python3系でpipenv初期化$ pipenv --python 3# RPi.GPIOインストール$ pipenv install RPi.GPIO# servo.pyファイル作成$ touch servo.py# servo.pyファイル編集$ vim servo.py -
i と入力し入力モードにする。
-
下記ソースをコピペする。
12345678910111213141516171819# coding: utf-8import RPi.GPIO as GPIOimport time# GPIOピン14を出力として利用GPIO.setmode(GPIO.BCM)GPIO.setup(14, GPIO.OUT)servo = GPIO.PWM(14, 50)servo.start(0.0)# 回転servo.ChangeDutyCycle(2.5)time.sleep(0.6)servo.ChangeDutyCycle(10.0)time.sleep(0.6)GPIO.cleanup() -
モーターを動かす。
1$ pipenv run python3 servo.py
動いた!
おわりに
よくわからないままサーボモーターを買ったのでなにもわからなかったけど Twitter つぶやくと親切に教えてくれる方がいました。やさしい世界。
とりあえず配線するときはデータシートとかいうのを見ないといけないらしい。
「SG90 データシート」とかで検索すると出てきました。
動くだけだとさみしいので腕振ってみました。
とりあえず動いた🙌
近くにトランクスとロビンマスクの腕があったからとりあえず振ってみた🙄 pic.twitter.com/RxUjMqN6FI— am10 (@am103141592) March 17, 2021
コメント