PICSYS18では、4個までのRCサーボを簡単に制御することができます。また、PICSYS18-XBEEには、RCサーボの接続を想定したコネクタ/ピンヘッダーを2個用意しています。ただし、PICSYS18-XBEEでRCサーボをご利用の際には、以下の点にご注意ください。
PICSYS18でのRCサーボの制御はきわめて簡単で、以下の2ステップで利用できます。
#include "picsys18.h"
void
setup()
{
pinMode(CN4, OUT_SERVO1) ; // RCサーボ制御出力の割り付け
pinMode(SW2, INPUT) ; // 左
pinMode(SW3, INPUT) ; // 右
pinMode(SW4, INPUT) ; // 下:ニュートラルへ
pinMode(SW5, INPUT) ; // 選択:動作確認用にLEDを光らせる
pinMode(LED1, OUTPUT) ;
}
int pos = 0 ;
void loop()
{
if (digitalRead(SW4) == LOW)
pos = 0 ;
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) ; // サーボの回転制御値の設定
digitalWrite(LED1, !digitalRead(SW5)) ; // 動いているよ
delayMilliseconds(20) ;
}