【Arduino】シリアル通信でサーボモータの回転制御

この記事では、Arduinoマイコンとシリアル通信でRCサーボモータの角度制御をする方法をソースコード付きで解説します。

シリアル通信でRCサーボの制御

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

回路構成(配線図)

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

※本当はLEDとピンの間に1kΩ程度の抵抗を入れた方がいいです。
※LEDをさす際はアノードとカソードの向きに注意してください。

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

処理手順

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

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

ソースコード

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

【関連記事】
Arduino入門 基本的な使い方

関連記事