PIC18F-MOD-2553には小さなモジュール基板上に、タクトスイッチ、LED、外部装置の接続端子などが実装されているため、ブレッドボードなどを使用しなくても、いろいろな実験を行うことができます。
PICSYS18では、4個までのRCサーボを任意のI/Oピンに接続し、制御することができます。
RCサーボの制御は、基本的に2つの操作で行います。例えばRB0ポートにRCサーボを接続した場合、以下の2つの操作を行います。
RCサーボの制御に必要な継続的なPWMパルスの出力処理は、PICSYS18が自動的に行います。
exservo1.c: 1個のRCサーボの制御
#include "picsys18.h"
void setup()
{
pinMode(CN4, OUT_SERVO1) ; // RCサーボ制御出力の割り付け
pinMode(SW2, INPUT) ;
pinMode(SW3, INPUT) ;
}
int pos = 0 ;
void loop()
{
delayMilliseconds(20) ;
if (digitalRead(SW2) == LOW)
pos += 1 ;
if (digitalRead(SW3) == LOW)
pos -= 1 ;
/* 値は-100(%)から100(%) */
if (pos > 100)
pos = 100 ;
if (pos < -100)
pos = -100 ;
digitalWrite(CN4, pos) ; // サーボの回転制御値の設定
}
CN4はPIC18F-MOD-2553のRCサーボ用のコネクタで、具体的にはpic18f-mod-2553.hで、#defineによりRB(3)と定義されています。
サーボモータが要求する電流容量などに注意する必要がありますが、PIC18F-MOD-2553ではブレッドボードなどを用いずモジュール基板だけで、CN3に2個、CN4に1個の計3個のRCサーボを接続して制御することができます。