PICSYS18-SPでRCサーボを動かそう

PICSYS18では、4個までのRCサーボを簡単に制御することができます。また、PICSYS18-SPには、RCサーボの接続を想定したコネクタ/ピンヘッダーを2個用意しています。ただし、PICSYS18-SPでRCサーボをご利用の際には、以下の点にご注意ください。

  • PICSYS18-SPは大きな動作電流をRCサーボに供給することを想定して作られていませんので、実験には、動作電流の少ない小さめのRCサーボをご利用ください。特にUSBパワーでの利用時には、RCサーボの動作電流に十分ご注意ください。また、動作電流の大きなRCサーボを利用する場合には、RCサーボ用の電源を別途確保し、そこからRCサーボに電力を供給してください。

PICSYS18でのRCサーボの制御はきわめて簡単で、以下の2ステップで利用できます。

  • pinMode関数を利用してI/OピンにRCサーボの制御機能を割り当てる。
  • digitalWrite関数を利用して、RCサーボに割り当てられたピンに、-100から100の数値を書き込む。

PICSYS18-SPでのRCサーボの利用例



#include "picsys18.h" void setup() {     pinMode(CN7, OUT_SERVO1) ; // RCサーボ制御出力の割り付け     pinMode(SW4, INPUT) ;     pinMode(SW5, INPUT) ;     pinMode(SW6, INPUT) ;     SEG7_initDefault() ; } int pos = 0 ; void loop() {     if (digitalRead(SW4) == LOW)         pos = 0 ;     if (digitalRead(SW5) == LOW)         pos += 1 ;     if (digitalRead(SW6) == LOW)         pos -= 1 ;     /* 値は-100(%)から100(%) */     if (pos > 100)         pos = 100 ;     if (pos < -100)         pos = -100 ;     digitalWrite(CN7, pos) ; // サーボの回転制御値の設定     SEG7_write(pos, SEG7_INT) ; // サーボの制御地を表示     delayMilliseconds(20) ; }

この例では、RCサーボの制御地を7セグメントLEDに表示して確認できるようにしています。