fuRo 千葉工業大学 未来ロボット技術研究センター

体験演習(PiccoloB)

新規でプログラムを作りたいと思う方

正直全くの新規でプログラムを書きだそうとするとかなり大変な思いをします。ここにあるプログラムをベースにして改良していくのが良いでしょう。

※[Release]モードでビルドしてください。

ベースプログラム

base_overview

上記のようにこのプログラムではDCモータ3個、スピーカ1個、サーボモータ2個、センサ4つ(写真では2個ですが)、LCD1個接続することができます。

baseport

上記のポートが接続ポートとして使用することができます。コネクタ名がそのままプログラムに使われるので良く基板のシルクを見ながらプログラムをしていってください。

ベースプログラムのカスタマイズ

s6m2-00

この上記ベースプログラムはカスタマイズすることでモータ構成を変更することができます。

サーボモータが4個、DCモータが3個、センサが4個、スピーカ1個

◎接続方法

前記ベースプログラム構成にサーボを二個追加接続します。ただし、ledFlash(),LED3,LED4は使用できなくなります。

conect00

ピンヘッダを若干加工してピンが両方向に刺さるようにします。またサーボのコネクタから信号線(オレンジまたは白)だけ引き抜きます。

conect01

そのままサーボの電源ラインに差しこみます。

s6m2-02

s6m2-03

s6m2-03

上記のように、ヘッダピンをさしたサーボモータの電源ラインをIOボードの空きコネクタに差しこみます。赤がVINへ茶色がGNDになります。良く確認をして接続してください。サーボのコネクタから引き抜いて準備していた信号線(オレンジ)はJP3の1PIN,JP4の1PINにジャンパーを引き抜いて差しこみます。

左右の逆刺しに注意!!一発でサーボが壊れます。

◎プログラム

1. NolibM.h(line10)を書き換えます。

8:// プログラムタイプを指定
9://#define DUAL_DRIVE //モータドライバ二枚ざし
10://#define ENABLE_JP34 //JP3/4 PWM7A/Bをサーボとして無理くり使用する有効にするとLED3/4は使用不可
11:#define ENABLE_BEEPCN11 //有効にするとMotCN5/RMotCN5使用不可

//#define ENABLE_JP34のコメントアウトを消して有効にしてください。

8:// プログラムタイプを指定
9://#define DUAL_DRIVE //モータドライバ二枚ざし
10:#define ENABLE_JP34 //JP3/4 PWM7A/Bをサーボとして無理くり使用する有効にするとLED3/4は使用不可
11:#define ENABLE_BEEPCN11 //有効にするとMotCN5/RMotCN5使用不可

2. プログラム中にてservo(角度,JP3);servo(角度,JP4);と指定すればJP3,JP4に接続したサーボが動きます。

サーボモータが5個、DCモータが3個、センサが4個、スピーカは無し

CN11のスピーカが使用できなくなります。

◎接続方法

普通にCN11に向きを間違わないように、サーボを接続してください。

◎プログラム

1. NolibM.h(line11)を書き換えます。

8:// プログラムタイプを指定
9://#define DUAL_DRIVE //モータドライバ二枚ざし
10:#define ENABLE_JP34 //JP3/4 PWM7A/Bをサーボとして無理くり使用する有効にするとLED3/4は使用不可
11:#define ENABLE_BEEPCN11 //有効にするとMotCN5/RMotCN5使用不可

#define ENABLE_BEEPCN11をコメントアウト//#define ENABLE_BEEPCN11してください。

8:// プログラムタイプを指定
9://#define DUAL_DRIVE //モータドライバ二枚ざし
10:#define ENABLE_JP34 //JP3/4 PWM7A/Bをサーボとして無理くり使用する有効にするとLED3/4は使用不可
11://#define ENABLE_BEEPCN11 //有効にするとMotCN5/RMotCN5使用不可

2. servo(角度,CN11);の命令にてサーボモータが動きます。

サーボモータが6個、DCモータが2個、センサが4個、スピーカは無し

MotCN4が使用できなくなります。

◎接続方法

普通にCN13に向きを間違わないように、サーボを接続してください。

◎プログラム

2. servo(角度,CN13);の命令にてサーボモータが動きます。

フラッシュロム(電源を消してプログラムが消えない)への書き込み方法

例題:マイコンのLED(GPIO.39)が500msecおきに点灯する(フラッシュROMメモリ、RAMメモリ切り替えバージョン)
Blink_Flashプログラム

1. [C/C++ Projects]->Example_2803xLEDBlink_flashを右クリック

2. [Active Build Configuration]-> Debug/Releaseを選択。DebugにするとRAM(電源を消すと消えてしまう)に書き込まれるプログラムがビルドされる設定になります。Releaseを選択するとFlashROM(プログラムは消えない。しかし書き込みは時間はかかるし書き込み寿命がある)に書き込まれるプログラムがビルド される設定になります。

writting flash

3. ふつうにビルドを行ってください

4. いつもと同じように、ロードを行えばプログラムが自動判別してFlashに書き込むかRAMに書き込むか、決定してプログラムが送り込まれます

基本サンプルプログラム

体験演習授業中に用いたプログラム

IO基板上のLEDとSwitchを使う
LED_SWITCHプログラ ム

圧電スピーカを使って音を出す
Speakerプログラム

PWM機能を使ってモータを回す
Motorプログラム

ADC機能を使ってセンサを使う
Sensorプログラム

センサとモータを使って扇風機を作成する
Fanプログラム

問い合わせ |  千葉工業大学   未来ロボティックス学科 |