Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

スイッチON

2008-10-31 | RoboCup2009

明日は、都立高専の高専祭です。(そのハズです。)

昨年、行ったときに大変楽しかったので、今年も行こうと思っています。

電子工作の師匠に、宿題を出されたMYですが・・・なんとかこなしています。

で、Mですが・・・突然、本日(何かの)スイッチが入ったらしく、また熱心にNQCをやっていました。 

今日は、坂道と2階のプログラムです。 

いつも寝る時刻になってもがんばっていました。 

(なにか、不吉なことが起こらなければ良いけれど・・・。)

このスイッチ・・・必要なときに入れば、私が大会前にいらいらすることも無いのですが・・・。

なにせ、365日のうち、3日くらいしか入らないスイッチなので・・・。

コメント

AVRねた その14 eeprom

2008-10-30 | AVRねた

とりあえずLCDの接続ができたので、センサーの値を測ることができるようになりました。

ただ、LCDを接続してしまうと、ポート数が減ってしまうので・・・どうしようかな。

とりあえず、次の実験としてデータをeepromに書き込んでみました。

といっても、結構簡単でした。

#include <avr/eeprom.h>

このヘッダを付けると、eepromへの読み書きの関数が使えるようになりました。

ただ、eepromの読み書きの前には、アクセス可能になるまで待つ必要があるようです。

これで、データを保存して、あとでパソコンに読み出すことができました。

ところが、プログラムを書く込むと、さっきeepromに書いたデータが消えています。

なんで?

と不思議に思っていたら・・・書き込む設定のところに

Erace device before flash programing

という設定になっていました。 (うん納得)

コメント

重大発表

2008-10-29 | ブログ

本日、仕事から帰ってきたら

Mから重大発表があります。」というので、聞いていたら

「我が家にドイツ人が来ます。」ということでした。

Mの学校では、海外の学校の生徒とお互いにホームステイをしたり、させたりしています。

Mも夏休みの間にニュ-ジーランドの牧場でショートステイしてきました。)

が、ホストファミリーになってくれる家庭がとても少ないようです。

受け入れ先が無いと、我が家にお願いが来るんだよなぁ。

まあ、一週間だから・・・。

どんな子が来るか知りませんが、日本語ができる人を希望します。

「で、いつから?」

「11月4日から。」

「来週じゃない。」

「部屋はどうするの?」

「奥の部屋を空ける。」

ということで、奥の部屋(現在物置になっている部屋)の荷物の片付けを、この3連休にすることになりそうです。

コメント (2)

自作 初号機

2008-10-28 | うんちく・小ネタ

AVRマイコンの研究をしてきましたが・・・とうとう初号機が完成しました。

Img_0577がロボデザイナーのプラスチックボディを切って削って、つなげて・・・やっと形になりました。

ボディ以外は

・ギアはタミヤのダブルギアボックス

・タイヤはタミヤのオフロードタイヤ

・前輪(?)はやっぱりタミヤのボールキャスター

というごく、ありきたりの構成です。

電源は単三4本を3端子レギュレータで5Vにしています。

で、肝心のコントローラはブレッドボードに組んだAVRマイコンで、まだセンサー類は一切ありません。 (ここのところ、ブレッドボードは大活躍です。)

Img_0593Img_0590  それでも、ただ単に動くだけでも・・・長かった日々が走馬灯のように・・・ガクッ

まあ、プログラムはまだ私が作ったものなので、あくまでも初号機(TEST TYPE)ということで・・・。

といっても、いまのところ、自作機でやっていく意思は無いようです。

あくまでも、研究ということで・・・。

コメント

AVRねた その13 光センサー

2008-10-27 | AVRねた

とうとうAVRの研究も、入力系に移ってきました。

今回は、ジュニアレスキューロボットの要となる、光センサーです。

ATMEGA88のPC0(ADC0)にフォトトランジスタを接続して、アナログポートとして読み出しを開始!

・・・あれ、値が1023から変化しない。 まったく変化しない。 なんで?

このAVRマイコン壊れてるのかな? (すぐに、他人のせいにする奴)

いろいろやっても変化無いので、その日は終了しました。(がっくし)

翌日、すっきりしない頭で再度挑戦です。

でも、結局わからないので、困ったときのインターネット・・・いろいろ回路図などを確認したところ、AVCCポートの配線忘れという単純なミスであることが分かりました。

なんで、こんなところではまっていたのでしょうか?

だって、いままで実験していたATtiny26には、そんなポート無かったんだもん。

いや単に、知識不足なだけでした。

これで、光センサーの値が読めるようになりました。

コメント

お祭り

2008-10-26 | ブログ

今日は地元の商店街のお祭りです。

Img_0568 普段は交通量の多い道路を、隣の駅までの途中まで通行止めにして延々と出店やフリーマーケットが続きます。


Yはこの日をとても楽しみにしていました。

普段はあまり買えないカードゲームのカードを手に入れる少ないチャンスだからです。

フリーマーケットでカードが売られている店で、ずっと座って真剣にカード選びをしています。 あの店、この店に寄ってあれこれ買えたようです。

「お父さんそろそろ帰ろうか。」

「えっもういいの?」

「ここにいると、自分が怖くなる。」

「なっ、なんで。」

「見ると、どんどん買いたくなっちゃう。 でも、もう満足!」

ということで、ホドホドにして帰ってきました。


Img_0570 このお祭り・・・最初にも書いた通り、道路を全面通行止めにしてしまいます。 ここは路線バスの通路なのです。 ですので、路線バスはこの日だけ別の道を迂回していきます。 迂回路には、臨時のバス停が設置されます。

毎年、臨時のバス停を見るたびに、感心します。

コメント

NQC がんばる

2008-10-26 | RoboCup2009

Mは今日も午前中だけですけどNQCの勉強をしていました。 (まだ三日目ですけどね)

これまで、作成したプログラムを見ると・・・ムダが多い!

「ここって、何をしてるの?」

という部分が多すぎて、わけが分からないプログラムになっています。


まあ、それはそれとして。

今日のメニューは「1階のイベントをクリア」です。

ハ~イ 本日の作業は

・障害物の回避

・直角のクリア

・ギャップのクリア

の3本です。(サザエさんか?)

文句を言いながらも、一つ一つクリアしていきます。

「while( true )にしたら、どうやって終わるの?」

「これは無限ループだから、終わらないよ。」

「じゃあどうするの?」

「whileの括弧のなかに、ちゃんと終了の条件を入れれば。」

「それができれば苦労は無いよ。」

「じゃあ、break で抜ければ?」

「break って何?」

「何って、どっかに書いてないの?」

「無いから聞いてるんだよ。」

「ここにあるじゃない。」

「あっ、本当だ!」

という、漫才を繰り返し・・・なんとか、全イベントをクリアです。

憑かれた いやっ 疲れた!

NQCは、複数の条件を一行で表現できるのが、良いですね。

「右のセンサーが銀 または 左のセンサーが銀 なら 銀の被災者発見」とかっ。

相変わらず、コンパイルでエラー出まくりです。 

ほとんど、セミコロンの有無か括弧の付け忘れですねぇ。

とりあえず、1階のイベントはなんとかこなしたので、次は傾斜路と2階だな。

コメント

センサーの値がマイナス!

2008-10-25 | RoboCup2009

なんだか、急にNQCの勉強を始めた?Mですが・・・

ライントレースと被災者の発見までは、なんとかできた模様です。

さあ、次はタッチセンサーを使って障害物の回避だ! ということで、タッチセンサーを使ったプログラムの研究をしていたようです。

ところが、作業の途中で「RCXが壊れてしまった」とのことでした。

何がどう壊れたのか、RCXの光センサーが接続されているポートのVIEWで値を LCDに表示すると・・・

Img_0574「-1.8」・・・マイナス!

何故、マイナス!

きっと、ファームが壊れたのだろう、と考えて、ファームの再転送・・・そして、再度プログラムを実行し、VIEWで値を確認すると、やっぱりマイナス表示!になります。

う~む、やっぱりRCXが壊れたのかな?

などと悩んでいて、Mが作成したNQCのプログラムをなんとなく見ていたら、そのポートの定義に

SetSensor(SENSOR_1,SENSOR_LIGHT+SENSOR_TOUCH);

という見慣れない記述がありました。

確かに、ポート1に光センサーとタッチセンサーを重ねて接続してるけど・・・

ということで、ポート1の定義を光センサーだけに修正して、解決となりました。

本当にRCXが壊れたかと思ってあせりました。

高い、おもちゃなので・・・

コメント

AVRねた その12 LCD

2008-10-25 | AVRねた

実験でLCD接続はできたのはできたのですが・・・いろいろ不具合がありました。

・使用したのが、Attiny26だったので、容量不足で printf( ) が使用できなかった。

・LCDをPIC-BASICのキットから使いまわしたので、バックライトも無いし、なんか使いにくい。

という状況でした。

そこで、またまた秋月電子に行って、物色したところ、オレンジ色のバックライトが付いたLCDを購入しました。 これは、端子が一列に並んでいるので、ブレッドボードにも直接刺せそうです。 (PIC-BASICのキットに付いていたLCDは端子が7×2ピン構成になっていました。)

このLCDを使って、さらにATMEGA88を使い、ブレッドボ-ドに配線しました。 もう、ブレッドボードの配線にも慣れてきました。 プログラムを作成し、AVRマイコンに転送すると、LCDに文字が表示されました。 (最初は、LCD全体に四角が並ぶだけで、文字が表示されないのであせりましたが、LCDのVCL端子に接続したVRを調整することで、文字が浮き出てきました。)

printf( ) も使用できました。

さあ、やっとこれで、入力系の研究に移れそうです。

コメント

ロボット杉並21

2008-10-24 | RoboCup2009

先日、杉並区立科学館に行ったときに、次回の「ロボット杉並21」の開催案内をもらってきました。

日時:平成21年2月8日(日)

    午前9時~午後4時

前回と同じように規定競技と自由演技の2種類があるようです。

規定競技:被災者を発見するレスキュー競技

自由演技:自由な発想と工夫でダンス演技を競う

となっています。

Yは今回はダンスに参加しようか、などと話をしていますが・・・どうなることやら。

コメント (2)

AVRねた その11 フィットしない?

2008-10-23 | AVRねた

今度の「M&Y研究所」の研究課題はAVRマイコンでLCDに表示をする方法の研究です。

かつて、買ってきたままお蔵入りしているPIC-BASICに付いてきたLCD(16文字×2行)を引っぺがして、なんとかブレッドボ-ド上のATtiny26に接続しました。

「AVRマイコン活用ブック」に掲載されている例を参考にプログラムも作りました。

さあ、いざ書き込み・・・という時にエラーメッセージが出ました。

「The contents of the HEX file does not fit in the selected device」

??? これは何??? 選択したデバイスにフィットしない?

作成したファイルがATtiny26用じゃないってこと?

よくよく調べたら、ATtiny26のプログラムエリアの大きさを超えてしまった。(いわゆる容量オーバー)ということみたいです。 こんな短いプログラムが入らないなんて情けないぞ、ATtiny26!

その前に、エラーメッセージの意味が分からなかった自分が情けない。

巨大な容量を食うのは、汎用の出力関数である printf( ) のようです。

問題の printf( ) を使わなければ容量的にはOKのようです。

とりあえず、指定した文字列をLCDに出力することはできました。

これくらいならATTiny26で十分だろうと思っていましたが、やっぱり、ATMEGA88で組みなおしが必要ですね。

コメント

エレキジャック

2008-10-22 | うんちく・小ネタ

何かないかな?と本屋をうろうろしていたら、「エレキジャック特別号」というのを見つけました。 「1冊まるごとマイコン入門だ!」という副題があり、おまけ(付録)に小さなブレッドボードとマイコンがいくつか、温度センサが付いていました。

ちょうど、AVRの研究もやってることだし、他のメーカーのマイコンの特徴を確認するだけでも役に立ちそうです。

そして、なんといっても、後半の部分にI2Cを使った応用編があったので思わず買ってしまいました。 

結構、おもしろいぞ!

第2章にHCS08マイコンについて掲載されていますが、「フリースケール社?知らないなぁ?」と思ったら、かつて68系マイコンを作っていたモトローラ系列だそうです。

私が高校生のとき、初めてマイコンなるものを買ってもらいました。

当時は、80系のインテル、68系のモトローラ、6502系のどこだっけ?(モステクノロジーだったかな)の3系列がメジャーだったように記憶しています。 そこにザイログがZ80を発表して、Z80の時代になりました。(あくまでも私の思いです。)

私もZ80で結構遊びました。 ちなみに、「ぜっとはちじゅう」と言ったら、先輩に馬鹿にされて「ゼィエィティ」と発音する練習をしましたよ! このZ80ですが、いまだに秋月で互換CPUが売られています。 息が長いですねぇ。 我が家の本棚に、「Z80プログラミング実習」という本が眠っています。

16ビットCPUの時代になり、8086のアセンブラで掛算命令があることに感動した覚えがあります。(掛算がアセンブラの一命令でできるよ! たしか割算もあったよね)

と、思い出話を書いてもしょうがないのですが・・・

いま、通勤の電車の中で一生懸命読んでいます。

コメント

AVRねた その10 次は入力だ

2008-10-21 | AVRねた

やっと、AVRマイコンでモーター制御がなんとかできる目処が付きました。

いろいろな方から、マイコンとモーターの電源は分けたほうが良いとの意見をいただきました。 ご指摘ありがとうございます。

ここまで、なんと長い道のりであったことでしょう。


出力側の目処が立ったので、今度は入力側の研究です。

レスキューの基本は

黒ラインをたどる ⇒ 光センサー

障害物の回避 ⇒ タッチセンサー(まあ、単純にスイッチ)

傾斜路の検知 ⇒ 水銀スイッチや加速度センサー

といったところだと思います。


まあ、どれもこれまでに実験したものばかりなので、簡単だ・・・などと思っていたのですが・・・あれっ、光センサーの値ってどうやって計るの?(どうやって知るの?)

「AVRマイコン活用ブック」に掲載されているロボットなどでは、シリアルケーブルでパソコンと接続して、光センサーの値をパソコン上に表示して値を計測するみたいです。(TJ3とかと同じですね。)

やっぱり、そういう仕組みが必要なのか。

今考えている案は

案1 王道?の通り。 パソコンとシリアルケーブルで接続してパソコンの画面で確認する。

   ⇒TJ3もこの方法ですね。 できればやりたくないなぁ。 単にパソコン側にプログラムを用意するのが面倒なだけですが・・・

案2 AVRマイコンにLEDをたくさん付けて、光センサーで読み取った値を2進数で表示する。 

   ⇒これならできるかもしれないなぁ。 でもポートがもったいない。

案3 AVRマイコンにブザーを付けて、モールス信号とかで表現する。

   ⇒これもできるかも! でも、不便。

案4 AVRマイコンにLCDを付けて光センサーの値を表示する。

   ⇒やっぱりこれが一番現実的か? LEGO方式ですね。

あと、もうひとつ。

案5 光センサーの値をEEPROMに格納する。

   ⇒これも、実現可能かも? EEPROMに格納しておいて、あとでパソコンに接続したときにISP経由で読み込めば値が分かるのではないでしょうか。

まだまだ先は長そうだ・・・ふぅ~っ。

コメント (4)

デザイン変更

2008-10-21 | ブログ

久しぶりに気分を変えて、デザイン変更でも・・・と思って、秋らしく栗のデザインに変更してみましたが、なんかギラギラして読みにくいぞ!

ということで、元に戻しました。

やっぱり、こっちのほうが、ナチュラルな色で読みやすい・・・と、自己満足してます。

では、また。

コメント (4)

TJ3ねた その16 測距センサー

2008-10-20 | TJ3ねた

ここのところ、お世話になっている(というか、良く行く)秋月電子に超音波センサーのユニットがありました。

と思っていたら、これは赤外線センサーだよ、というご指摘をいただきました。 ちゃんと見たら、まさにその通りでした。(お恥ずかしいかぎりです。)

400円という、とてもリーズナブルな値段で・・・吸い寄せられるように買ってました。 

はっ! やばい、また無駄なものを買ってしまった。

この測距超音波センサーですが、簡単にTJ3に接続できました。

まあどれも似たようなものだと思いますが、最小検知距離が10cmなので、レスキューの競技で使用するには・・・どうでしょう?

ロボットの先端から5cm奥まったところに配置すれば、ロボットの先端から5cmのものを発見できるかなぁ?

2008年の蘇州世界大会でも超音波センサーを使用していたチームがいくつかありました。(隣にいた香港のチームも使っていました。)でも、本当に機能していたかどうか(役に立っていたかどうか)疑問です。 現時点では、タッチセンサーの方が安全で確実なように思います。

NXTにも超音波センサーが付属しています。 この超音波センサーはロボットによく使われていました・・・顔として。

じゃあ、この買ってきた測距超音波センサーはどうするの?

どうしよう?

きっと、いつか使うときが来るさ。 はっ はっ はっ。

コメント (2)