2012年2月28日火曜日

沖縄ブロック大会終了

ロボカップジュニア沖縄ブロック大会 
平成24年2月26日(日)
牧志駅前ほしぞら公民館

参加チームは5チームで熱戦10試合が行われ
最終結果は、次のとおりでした。
1位 ウォーリーズ・メタンハイドレート:Xe
2位 スターシャイン
3位 ちーむむーちー
4位 てっぱん
5位 SIロボ

1位ウォーリーズ・メタンハイドレート:Xeは尼崎大会出場が決定。
2位スターシャインは各ブロックとの調整後出場の可否決定。
3位ちーむむーちーはさらに出場枠があれば出場。
のようです。

四輪が2台、二輪が8台です。ライトウエイトは、重量制限がさらに
厳しくなるので4輪は、ますます出場が難しくなりそうです。
選手の皆さん、メンターの皆さん、今井沖縄ブロック長お疲れ様でした。
以上、ロボカップ沖縄ブロック大会の結果報告でした。

ウォーリーズ、優勝おめでとう。全国大会でも入賞を目指そう。
スターシャイン、果報は寝て待て。
ちーむむーちー、全国大会いけたらいいな。
前から読んでも後ろから読んでも、ちーむむーちー。
てっぱん、SIロボもがんばったね。是非来年も参加して下さい。

2012年2月27日月曜日

ヴイストン社より新型ロボット発売だ

プログラミング不要、ライントレースロボット 1,575円
http://www.vstone.co.jp/products/robotkit/linetrace.html
本体はアナログ回路のため、PCを使ったプログラミングなどをせずに、組み立ててすぐライントレースの動作をさせることが出来ます。

えっ。
ビュート レーサーの後継機種で値段半額かと思いましたよ。
シリーズのようですので今後も楽しみです。
FETにセンサ直結試して見ましょう。

TJ3BのCPUに不具合

ダイセン電子工業からのお知らせに次のようなものがありました。
TJ3BのCPU不具合について
TJ3Bをお買い上げのお客様へTJ3Bに使用しておりますマイコンPIC18F26K22に不具合があることが判明致しましたので、ご連絡申し上げます。
不具合内容としましては、動作中にリセットが発生してしまい、スタートボタン待ち状態となってしまうことがあります。 調査の結果ハードウエア上の問題と判明、CPUを交換することで解消することを確認しております。 つきましては、PIC18F2620へのお取替えを致しますので、お手元のTJ3Bに搭載している
CPUがPIC18F26K22の場合は弊社までご連絡頂きますようお願い申し上げます。
該当されるお客様につきましては大変ご迷惑をおかけいたしますが、よろしくお願い申し上げます。

無料でPIC18F2620を送ってくれるのかな。
eDESシリーズはそのままなのでPWMとか足回りの関係の不具合でしょうか。
PIC18F2620もPWMおかしいとどこかで聞いたような・・・。
秋月のPIC18F26K22は大丈夫かな。
PIC18F26K22は、返さないでもよいのなら、I2C接続のセンサI/O作りましょう。

2012年2月22日水曜日

e-GadgetやTJ3だけでHMC6352を使う方法 その5

e-GadgetやTJ3だけでHMC6352を使う方法 その5
まだ動かしてません。ビルドしてもエラーは出ませんでした。

デジタル・コンパスセンサー・モジュールをキャリブレーションするには、
次のように中身を書き換えてビルドしたらいかがでしょうか?。
誰か60と(-5, 5)と(1000)を最適化してみて下さい。
ビルドしたら「あなたの付けた名前.HEX」というHex拡張子のファイルが出来るので
次からはダウンロードボタン、ファイルを開くで指定、ロボット接続実行で
キャリブレーション出来ます。

//------------------------------------------------------------------------------
// dno:0(dir), 1(pitch), 2(roll)
UINT get_dir(BYTE dno)
{
U_UINT d;
BYTE adrs = 0x42;
BYTE n = 0;
int n1;

d.W = 999;

gI2C_Buf[n++] = 0x43; //"C"
if (i2c_send(adrs, n) == false) return(d.W);

for (n1 = 0; n1 < 60; n1++) {
motor(-5, 5);
wait_ms(1000);
motor(0, 0);
}
set_Led(0, LED_ON);

gI2C_Buf[n++] = 0x45; //"E"
i2c_send(adrs, n);

if (i2c_recv(adrs, 2) == false) return(d.W);
n = 0;
d.H = gI2C_Buf[n++];
d.L = gI2C_Buf[n++];
if (0 < dno){
d.W += 90;
}
d.W /= 10;
return(d.W);
}
//------------------------------------------------------------------------------
以上。動くかな?

追記
動かしてみました。
D_I2C.cという名のファイルの中身の一部をキャリブレーション用に書き換えました。
上書き保存をしてメモ帳を閉じます。
次にC-Styleでプログラムを作ります。
セットアップコマンド Dir SensorをチェックOK
ifコマンド 条件選択 方向チェックOK
これで4行のプログラムが出来たのでビルド、ダウンロード。
床に置いて、機体の電源スイッチを入れなおしてスタートボタンを
押してプログラムを実行。機体が回り出します。30秒ぐらいで
LEDが点いて停止したら終わり。機体の電源スイッチを切ります。
注意・ここまでの間センサーモニターは起動させてはいけません。
D_I2C.cという名のファイルをHMC6352常用用に戻します。
C-Styleでまた4行のプログラムを作ってビルド、ダウンロード。
センサーモニターで表示を確認してみましょう。
途中でリセットしたりするとモードがおかしくなって動かない場合があるので
前回説明したようにD_I2C.cという名のファイルをHMC6352モード変更用にして
プロクラムを実行すれば元に戻ります。
これでは30秒程度で何周するかわからないので
もっとゆっくり3分程度まわるように
誰か60と(-5, 5)と(1000)を最適化してみて下さい。
60回、旋回、1秒です。
motor(0, 0);のあとにもwait_ms(1000);を入れましょうか。

一度ビルドしてHex拡張子のファイルとして持ち運びすれば
D_I2C.cを何度も書き換えてビルドし直すこともないですね。

2012年2月17日金曜日

★那覇市公民館まつりのご案内★

★那覇市公民館まつりのご案内(チラシ)★ 
http://naha-kouminkan.city.naha.okinawa.jp/cyu-kou/h24%20zenkan%20maturi%20tirasi.pdf

那覇市の公民館では、毎年、公民館利用団体による生涯学習活動の1年間の成果の発表の場として
「公民館まつり」を開催しており、今年も、2月~3月にかけて開催します。
 多彩な催し物が満載ですので、ぜひお気軽にお越しください♪

平成24年3月10日(土)~11日(日) 牧志駅前ほしぞら公民館


牧志駅前ほしぞら公民館の移転後、初の公民館まつりです。
私たちもロボット関係活動で無料で使わせていただいております
いつも誠にありがとうございます。

ロボカップジュニアのレスキュー部門に参加可能です。

フィッシャーテクニックの商品シリーズ
探査ロボット組立キット (型番CP-22)
価格 29,400円(税込)
http://www.goscience.jp/spec/cp22.html
http://www.goscience.jp/spec/cp03.html


ロボカップジュニアのレスキュー部門に参加可能らしいです。
このデザイン好きだな。

沖縄ブロック大会が沖縄電子さんでご紹介

沖縄電子さんのホームページで
「ロボカップジュニア沖縄ブロック大会」
開催をご紹介いただきました。

ロボコン魂
http://www.robosoul.jp/
ごっぱち沿いに「沖縄の秋葉原」
http://okinawadenshi.ti-da.net/

沖縄電子さん、ありがとう。
みんなも
電子部品なら大抵何でもそろう、沖縄の秋葉原
沖縄電子をよろしくね。

2012年2月11日土曜日

沖縄ブロック予選の申込

エントリーのWEBサイトは、
http://e-kagaku.com/okinawa/
です。
忘れずに申し込もう。
開催日は、平成24年2月26日(日)だよ。

2012年2月7日火曜日

ロボロボ杯の試合結果が発表されました。

沖縄ブロックの練習会2012/02/05
ロボロボ杯試合結果発表

<1人制試合結果>
第1位:みりこさん(5勝0敗1分、総得点22点、失点8点)
第2位:しょう君(4勝1敗1分、総得点17点、失点13点)
第3位:よしき君(3勝3敗、総得点15点、失点17点)

<チーム制試合結果>
第1位:スターシャイン(4勝0敗0分、総得点24点、失点12点)
第2位:ウォリーズⅢ+Ⅰ(2勝2敗0分、総得点24点、失点14点)
第3位:スターロボ(2勝2敗、総得点13点、失点16点)
第4位:ロボロボ(1勝3敗、総得点7点、失点16点)
第5位:ファイヤーロボ(1勝3敗、総得点11点、失点21点)

http://robonokai.blogspot.com/
みんながんばっています。ブロック大会に向けて気合いが入りました。

2012年2月1日水曜日

e-GadgetやTJ3だけで方位センサーHMC6352を使う方法4

TeamReverseの徒然さんのところに
http://teamreverse.blog3.fc2.com/blog-entry-79.html
e-GadgetやTJ3でHMC6352を使う方法が書かれています。
C-StyleのD_I2C.cのget_dir関数の中身を少々書き換えると書いてあります。
購入したので試してみます。
今回は、Arduinoは使いません。

用意するもの
e-GadgetやTJ3
C-Style(最新のC-Styleをご用意下さい。)
HMC6352モジュール  1個 1,764円(税込)
http://strawberry-linux.com/catalog/items?code=12106
ピンヘッダを半田付けする。
ストロベリー・リナックスの緑のコンパスモジュールも
スパークファンの赤のコンパスモジュールも電源や信号線の繋ぎ方の並びが独自のもので
それぞれ違っています。間違えないようにe-GadgetやTJ3の本体の記述とコンパスモジュールの記述を何度も確認して同じ名前のものを結線して下さい。
e-Gadgetのコネクタとハーネスが抜き差しが楽で便利です。

D_I2C.cという名のファイルの中にコンパスセンサーからデータを取ってくる
プログラムが書かれているのでこのファイルの中身をHMC6352用に書き換えます。
書き換えは、自己責任で。
Daisen>C-Styleなんとか>EG-Core>V3.09みたいなフォルダとか
Daisen>C-Styleなんとか>TJ3>V3.09みたいなフォルダとかから
D_I2C.cという名のファイルを捜します。
まずD_I2C.cという名のファイルをどこかにコピーしておきます。
ファイルのバックアップを取っておいて間違えてもすぐに戻せるようにします。
ファイルをメモ帳で開きます。
get_dirと書かれている場所を探します。
e-Gadget用のC-StyleにもTJ3用のC-Styleにも全く同じ記述がありました。

//------------------------------------------------------------------------------
// dno:0(dir), 1(pitch), 2(roll)
UINT get_dir(BYTE dno)
{
U_UINT d;
BYTE adrs = DIR_ADRS;
BYTE n = 0;

d.W = 999;
gI2C_Buf[n++] = 0x20 + dno * 2; // Register 0x20:AZIMUTH(MSB-LSB), 0x22:PITCH(MSB-LSB), 0x24:ROLL(MSB-LSB)
if (i2c_send(adrs, n) == false) return(d.W);
if (i2c_recv(adrs, 2) == false) return(d.W);
n = 0;
d.H = gI2C_Buf[n++];
d.L = gI2C_Buf[n++];
if (0 < dno){
d.W += 90;
}
return(d.W);
}
//------------------------------------------------------------------------------

ファイルの該当する部分を書き換えます。
書き換えは、モード変更用と常用用の2回行います。

まずD_I2C.cという名のファイルの中身の一部を次のように書き換えます。

//------------------------------------------------------------------------------
// dno:0(dir), 1(pitch), 2(roll)
UINT get_dir(BYTE dno)
{
U_UINT d;
BYTE adrs = 0x42;
BYTE n = 0;

d.W = 999;

gI2C_Buf[n++] = 0x47; //"G"
if (i2c_send(adrs, n) == false) return(d.W);

gI2C_Buf[n++] = 0x74;
i2c_send(adrs, n);

gI2C_Buf[n++] = 0x72;
i2c_send(adrs, n);

gI2C_Buf[n++] = 0x4C; //"L"
i2c_send(adrs, n);

if (i2c_recv(adrs, 2) == false) return(d.W);
n = 0;
d.H = gI2C_Buf[n++];
d.L = gI2C_Buf[n++];
if (0 < dno){
d.W += 90;
}
d.W /= 10;
return(d.W);
}
//------------------------------------------------------------------------------

D_I2C.cという名のファイルの中身の一部をHMC6352モード変更用に書き換えました。
上書き保存をしてメモ帳を閉じます。

次にC-Styleでプログラムを作ります。このプログラムは1回しか動かしません。
セットアップコマンド Dir SensorをチェックOK
ifコマンド 条件選択 方向チェックOK
LED制御コマンド Green On OK
これで5行のプログラムが出来たので
ビルド、ダウンロード。
機体のスタートボタンを押してプログラムを実行。
LEDが点いたら終わり。機体の電源スイッチを切ります。
慌てて切らなくても大丈夫です。
ここまでは、1回しか行いません。2度も3度もモード変更する必要はありません。
もちろん、機体とセンサーをケーブルで接続してからプログラムを実行します。
ここまでで、Arduinoが無くてもHMC6352のモードを変更できました。
一度モードを書き換えたらスイッチを入れれば次からはそのモードで動きます。

つぎにC-Styleの通常のプロクラムで使えるように
また、D_I2C.cという名のファイルの中身の一部をHMC6352常用用に書き換えます。

//------------------------------------------------------------------------------
// dno:0(dir), 1(pitch), 2(roll)
UINT get_dir(BYTE dno)
{
U_UINT d;
BYTE adrs = 0x42; // HMC6352のI2Cアドレス(デフォルト)は0x42
BYTE n = 0;

d.W = 999;
if (i2c_recv(adrs, 2) == false) return(d.W);
n = 0;
d.H = gI2C_Buf[n++];
d.L = gI2C_Buf[n++];
if (0 < dno){
d.W += 90;
}
d.W /= 10; // HMC6352は,0~3600(0.1度単位)で送ってくるので,10で割って360度にする
return(d.W);
}
//------------------------------------------------------------------------------

上書き保存をしてメモ帳を閉じます。
これでe-GadgetやTJ3のC-Styleで方位センサーHMC6352を使える様になりました。
セットアップコマンドでDir SensorをチェックOK、プログラムを作ってビルド、ダウンロード。
C-Styleをバージョンアップすると消えるので、また探し出して常用用に書き換えて下さい。
バックアップを取るのを忘れずに。
みんな、がんばれ。

おわり