KHR-2HVに新発売のKCB-1を早速搭載してみました!
今日はROBO-ONEに向け、予選デモ用にスイッチを2個増やし、
それぞれのスイッチを押した場合にモーションやシナリオを
再生させるデモを作成しました。
下記、サンプルプログラムです。
※実機にてテストをおこなっておりますが、
下記プログラムを使用される際には自己責任にてお願い致します。
●AD1,2にそれぞれスイッチ(プッシュ式)を接続しています。
/*******************************************
/* */
/* FILE :KHR_demo.c */
/* DATE :Sun, Feb 24, 2008 */
/* DESCRIPTION :main program file. */
/* CPU GROUP :26 */
/* */
/* This file is generated by Renesas Project Generator (Ver.4.8). */
/* */
/*******************************************/
//
// KHR-2HVにデモさせます。
//
// STAGE 1) AD1に接続されたスイッチがオンになるまでひたすら待ちます
// STAGE 2) モーション1を再生
// STAGE 3) モーション2を再生
// STAGE 4) モーション3を再生
// STAGE 5) AD2のスイッチが押されるまで待ちます
// 押されたら、シナリオ1を再生
#include <ad.h>
#include <rcb3.h>
#include <led.h>
#define SW1_TH 500 // SW1の閾値です。AD値は0~1024までなので、半分の500としています
#define SW2_TH 500
#define SW3_TH 500
void main(void)
{
cpu_init (); // CPUを初期化します
ledgrn_on (); // 電源ON
rcb3_open (); // RCB3と非同期通信開始
ad_repeat_sweep0 (); // 初期設定
ad_start (); // モード開始します
// ---------- STAGE 1 -----------
while (ad1 < SW1_TH) { // SW1が閾値より小さい間
// 何もしないで待つ
}
// ---------- STAGE 2 -----------
rcb3_motion_play (1); // モーション1を再生
// ---------- STAGE 3 -----------
rcb3_motion_play (2); // モーション2を再生
// ---------- STAGE 4 -----------
rcb3_motion_play (3); // モーション3を再生
// ---------- STAGE 5 -----------
while (1) {
if (ad2 > SW2_TH) { //SW2が入ったら
rcb3_motion_play (81); // シナリオ1を再生
break; // 再生したら終了
}
}
}
// 終わり
このプログラムは下記の「この記事のURL」を押し、
ひとつの記事で見て頂くと見やすくなっています。
このように非常にシンプルなC言語プログラムにてRCB-3と
通信することができます。
また、RCB-3と通信するためにはHeartToHeart3のオプションウィンドウで
『モーション再生終了時に返事をもらう』にチェックを入れて下さい。
ここにチェックが入っていない場合、ひとつ目のモーションしか
再生されません。
このボードで色々なことが出来そうだなぁーと考えているこの頃です。