You are here

USB経由のRCサーボ制御

PIC24F-MOD-GA002UにはUSB通信チップが実装されており、PCと簡単に通信することができます。ここでは、Windowsのハイパーターミナルなどを利用してキーボードから入力した数値でRCサーボの回転角を制御するプログラムを示します。

usbservo1.c: USB経由のRCサーボ制御



#include "picsys24.h" #include "stdlib.h" void setup() { pinMode(CN4, OUT_SERVO1) ; Serial1_begin(19200) ; // USBの初期化、COMポート的には19200ボーに設定 } int ang1 = 0 ; int idx = 0 ; char buf[20] ; void loop() { char c ; if (Serial1_available()) { c = Serial1_getc(); Serial1_putc(c); if (c == '\r') { // 行の最後でサーボの操作 Serial1_putc('\n') ; buf[idx] = '\0' ; ang1 = atol(buf) ; // 文字列を数値に変換 digitalWrite(CN4, ang1) ; idx = 0 ; } else { // 文字の蓄積 buf[idx++] = c ; } } }

ハイパーターミナルなどでの通信線の設定は、19200ボー、8ビット、パリティなし、ハンドシェイクなしで設定してください。

開発ソフト: 
チップファミリー: 
MCUチップ: