Home Made Garbage

Raspberry Pi Zero W と Blynk で サーボモータ制御

ホーム
電子工作
Raspberry Pi
WordPress
IOT

Raspberry Pi Zero Wを手に入れたので、これまでなんとなく避けていたラズパイでの電子工作にトライしてみました。

ここではスマホアプリ Blynk とラズパイで2軸のカメラマウンタ(サーボモータ2個)をコントロールします。

構成

部品

blynk設定

ここではblynk のジョイスティックで2個のサーボモータを制御できるようにします。

新規プロジェクトを作成します。ハードウェアはラズパイ zeroがまだないのでとりあえずRaspberry Pi 3Bを選択。Conection TypeにはWiFiを指定します。
AUTH TOKENはコードコンパイル時に使用しますのでメール送信してメモしておきます。

ウィジェットとしてジョイスティックを配置します。

ジョイスティックの設定はヴァーチャルピンV0, V1にそれぞれの軸の数値を出力します。x, yの値はそれぞれ25~0としました。

プログラム

ラズパイのプログラムはpythonやnode.jsなど色々あって軽く迷走した結果、C++を採用しました。Arduinoで親しみも深い言語ですので。。。

Blynkライブラリインストール

ラズパイにBlynkライブラリをインストールします。
詳細は https://github.com/blynkkk/blynk-library/tree/master/linux 通りでターミナルを起動して

$ git clone https://github.com/blynkkk/blynk-library.git

でOK

C++プログラミング

Blynkライブラリがインストールされるとホームにblynk-library/linuxフォルダが生成されます。linuxフォルダをコピーするなどして、その中のmain.cppを以下のように書き換えます。

BlynkのV0, V1で値を受けてサーボの角度として制御しています。

wiringPiのSoftware PWMライブラリを使用してどのGPIOでもPWM出力できると思っていたのですが、ハードウェアPWMに対応したGPIO12, GPIO18でしか動作しませんでした。。。なぜだろう。。。(´;ω;`)ウッ…

コンパイル

main.cppのあるフォルダに移動して以下を実行。

$ make clean all target=raspberry 

Blynk実行

つづいて以下を実行

$ sudo ./blynk --token=Blynkアプリで取得したAuthToken 

上図のようにReadyで準備OK!

動作

Blynkアプリを実行すると以下のようにラズパイ単体でサーボを制御できます。

 

Raspberry Pi Zero W と #blynk で サーボモータ制御

Home Made Garbageさん(@homemadegarbage)がシェアした投稿 –

でも。。。何かしら動かすならマイコンはさんだほうがいいかなぁ(´・ω・`)
不具合起きた際の復帰も遅いし。。。

コメントを残す

メールアドレスが公開されることはありません。コメントのみでもOKです。

TOP