以前購入したサーボモーター。
カメラマウントの組み立て時に使っていたが、実際にはまだ動かしていなかった。
よって今回はいよいよサーボモーターを動かしていく。
なお、今回参考にさせていただいたのは、こちらのサイト。
Blue-black.ink
Raspberry Piの記録とかいろいろ
http://blue-black.ink/?p=2946
殆ど記載どおりでいけたのだが、ちょっと違う所もあったりする。
よって今回も備忘録をかねて記載していく。
■必要なもの
サーボモーターを動かすので、当然サーボモーターが必要。
今回は以前購入した物を動かすが、実際に購入したものは、こちら。
デジタル・マイクロサーボ SG90 (5個) |
||||
|
で、これをラズパイの GPIO に接続する。
この際、以下のようなオス-メスのジャンパワイヤが必要となる。
ブレッドボード・ジャンパーワイヤ(メス-オス)(20cm)40本 |
||||
|
これらを準備したら、ラズパイと接続していく。
■ラズパイとの接続
まずはサーボ側の線の意味。
・茶色 :GND(グランド)
・赤 :電源(5V)
・オレンジ :角度制御のパルス入力
となっている。なのでこれをラズパイ側にうまく接続すればいい。
そのためには、まず先ほどのジャンパーワイヤを準備。
オス部分をサーボモーターに、メス側をラズパイの GPIO に差し込む。
この際、当然のことながら、サーボモータの、
赤を電源、
茶色を GND、
オレンジを GPIO
という形でつなげないといけない。
なので、ラズパイ側の GPIO ピン配置を確認する。
今回はこちらのサイトを参考にさせて頂いた。
https://www.qoosky.io/techs/25c2e558f3
私の場合、GPIO 18 にパルス入力を接続。
実際に接続すると、この様な形になる。
無事接続できれば、続いて実際の操作に入っていく。
■ラズパイの設定
接続完了後は、ラズパイ側で GPIO を使えるようにしないといけない。
そのため、まずは raspi-config で GPIO を enable にする。
root@raspi-03# raspi-config
そうするといつもの通り以下のような画面がでてくる。
ここでは、5 Interfacing Option を選択する。
GPIO server へのアクセスを許可するか?と聞かれるので、はい、を選択。
enable にしたよ、と言われるので、これで設定は完了。
永続的に設定する方法はもうちょっと調べようと思う。
■サーボモータの操作
続いて python で GPIO に信号を送って動かす。
まずは以下の通り python を起動。
root@raspi-03# python3
なお、python3 がインストールされていない場合は、
root@raspi-03# apt-get install python3 -y
でインストールすればよい。
続いて、pigpio の初期化。
>>> import pigpio >>> pi = pigpio.pi()
ここでエラーが出る場合、先ほどの GPIO 有効化ができていない場合がある。
その場合は、今一度 GPIO の有効化を実施すればよい。
で、いよいよサーボモーターを動かす。
まずは位置を初期化する。
>>> pi.set_servo_pulsewidth(18, 1500)
引数の 18 は GPIO の pin 番号。
なので、これはちゃんと挿した GIPO の pin 番号を設定する必要がある。
*でないと動かない。
1500 はサーボに送るパルスの幅。
1500±1000 が基準±90度に相当するとのこと。
ただし、個体差があるようなので、どこまで動かせるかは要確認。
私の場合、
・550 から 10 ずつ値を減らす
・2100 から 100 ずつ値を増やす
とやって、大体 540 — 2300 あたりが可動範囲であることが分かった。
とりあえず、これでサーボモーターが動かせた!
■まとめ
今回はようやくサーボモーターを動かすことができた。
最初は、
・GPIO の Pin 配置が分からない
・変に設定して壊したらどうしよう?
・操作ちゃんとできるのかな?
などというのもあって、結構躊躇していた。
が、実際に動かしてみると、超簡単。
参考にさせて頂いたサイトに感謝。
しかも、やっぱり実際に動くのを見ると超感動。
ようやく電子工作らしくなってきた。
とはいえ、まだ何もできていないのだが、やる気は俄然沸いてきている。
次は Node.js を勉強して、いよいよライブカメラにしていきたい。
Copyright (c) 2017 Webmaster of this site All Rights Reserved.