【Python/Arduino】サーボモータの角度制御

この記事では、Arduinoマイコン、パソコン(Python)、シリアル通信用いて、RCサーボの角度制御を行う方法をソースコード付きで解説します。

スポンサーリンク

シリアル通信でRCサーボの制御(Python版)

RCサーボを制御するにはPWM波と呼ばれる信号を送る必要があります。
この方式をPWM制御といいます。
前回はシリアルモニターでシリアル通信をおこないましたが、
今回はPythonでシリアル通信をおこない、RCサーボの制御をしました。

スポンサーリンク

回路構成(配線図)

Arduinoと電子部品の構成・配線は下記の通りです。

【電子部品】
・Arduino UNO (1個)
・RCサーボ S03R 2BBMG (1個)
・ジャンパワイヤー(数本)

スポンサーリンク

処理手順

実装したプログラムの処理手順は下記の通りです。

【Arduino側】
①Servoオブジェクトを宣言する(servo1)
②PWM制御信号を送る出力ピンを設定する(9番ピン)
③シリアルポートを9600 bps[ビット/秒]で初期化する
④シリアル通信で受信したデータを数値に変換する
⑤取得した数値だけRCサーボを回転させる
⑥3~5の処理を繰り返す

【Python側】
①Arduinoと接続しているCOMポート番号を指定する(ここでは7)
②シリアルポートを9600 bps[ビット/秒]で初期化する
③回転角の入力待機をする
④得られた回転角と終端文字をシリアル通信でArduinoに送信する
⑤eが入力されるまで3~4の処理を繰り返す

スポンサーリンク

ソースコード

サンプルプログラムのソースコードは下記の通りです。
【Arduino側】


【パソコン側(Python)】


スポンサーリンク

実行結果

サンプルプログラムの実行結果は下記の通りです。

【Arduino入門】サンプル集
このページでは、Arduinoで電子工作する方法やサンプルプログラム(ソースコード)を入門者向けに解説しています。
【Kotlin】コメントの書き方
このページでは、Kotlinでコメントを記述する方法をサンプルコード付きで紹介します。
Arduino
スポンサーリンク

コメント

  1. 匿名 より:

    すみません、サンプルのソースコードが見れないんのですが。対応していただけませんでしょうか。