--/--/--  --:--    スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2008/10/12  00:21    大会前日
タイトルが大会前日ですが、更新が大会当日なのは気にしない方向で・・・。

本日は、大会の準備日です。
明日の午後から実際にロボコンの大会がはじまります。
今日を振り返って思うのは、多忙な一日だと思いました。

回路班のプログラムはほぼ完成していましたので、ずっと機構班のお手伝いでした。

真っ先にサイズ計測にロボットを持って行ったところ、見事にミスが発覚!
実は飛び出してはいけない場所にまでロボットの一部が飛び出していたのが原因です。
時間という壁に追いかけられ、問題に突き当たった時、
挟まれた人間は通常は出しえないようなアイディアが思いつき、回避できたりします。
今回もそんな感じでとっさにみんなで話し合い、解決策を見出し問題を解決しました。
このスリルがロボコンのある意味醍醐味な気もしなくもないです。
(問題であるのに醍醐味ってのも変だけれど・・・)

明日は本番。
精一杯がんばりたいと思います。
立ちくらみには負けないぞ!

PS
本日の一枚
破断
アルミの角材が見事に破断。
2008/09/08  00:55    いつの間にか・・・
いつの間にか土日が終わってるΣ(゚д゚lll)ガーン
土曜日から考えてみると、
起床→朝食→床屋→学校へ→昼食→部活→帰宅→夕食→風呂→プログラミング→就寝
→起床→朝食→学校へ→部活→昼食→部活→帰宅→夕食→風呂→今ココ!
気のせいか部活しかしてないぞ・・・。
えぇ、たぶん気のせいですね。そう信じたい・・・。

Chlorisですが、とりあえずの所できたので、無理に変更せずに放置してます。
暇があったらGUIも搭載を考えてみます。
正直、GUIを使う必要なんてほとんどないプログラムなので、ドラックアンドドロップでいい気がしてならないのですが・・・。
まぁ時間しだいですね。

AVRのほうのプログラムですが、こっちもとりあえずの所できてます。
これも実機つかって試さないと、実際どうなのか分からない状態です。
たぶんバグはなさそうなので、あとはできるだけ分岐などを省いて、できる限り実行の高速化を図りたいです。

一番の問題なのが、回路のほうですね。
あの36ピンのフレキシブルコネクタの線が細いこと。
これを基板削り器で削ったらパターン残るかどうか・・・。
困りましたねぇ・・・。
とりあえず基板のデータもEAGLEで製作中ですが、これは結構かかりそうです。
正直、手で単線を飛ばしたほうが楽な気がしてならない。
たぶん一部はそうなりそうです。


うーん、最近やることはいっぱいあるけど、時間がないというか、疲れが溜まってるというか。
テストもだんだん近づいてきましたしね。
ゆっくり休みたいな・・・。
2008/09/06  02:08    C#はじめました
暇な間を縫って、早速画像の変換ソフト作り出しました。
Windowsアプリケーションをまじめに作る日が来ることになるとは思ってなかったです。
昔からHSPはいじってましたけど、どぉでもいいプログラムばっかりしか組んだことなかったですし。
変換ソフトのことを某先輩に話したところ、C#が楽でいいよとのこと。
というわけでC#をはじめてみました。
最初は仕様の違いに驚きました。
確かに前にCとC#は違うということだけは知っていましたが、かなり違うんですね。
C#はいろんな言語のいいとこ取りだってよく聞きます。
確かに慣れるまではある程度戸惑いましたが、慣れると結構かけるようになりました。
VC#では、名前の空間を指定して.を入力するとクラスの一覧が表示されるので、
あとは自分の使用したいクラスを指定するだけです。
まぁそんな感じで、変換ソフトを作り始めて、3日ぐらいでできちゃいました。
なんというか予想GUYすぎる・・・。
まぁまだバグがあるかもしれなかったり、とりあえずな機能なので、まぁ回路ができてからだんだんバージョンアップしていきたいと思います。
変換ソフトの名前は、いろいろな気まぐれやら、ランダム関数やらで、「Chloris」(クロリス)になりました。
名前の元は星の名前です。別に深い意味とかないです。ランダム関数に理由は聞いてください(ぁ
とりあえず、回路ができないと試すにも試せないので、早く作りたいですね。
ちなみに、AVRのほうのプログラムも作ってしまいました。
なんというか、ソフトのほうが先にできるなんて・・・。
まぁ、画像表示までの流れを説明すると・・・

・400*96のサイズのBMP?画像を用意する。
・減色ソフトを使って、パレットデータを128に絞る。(私はYukariという減色ソフトを使っています)
・減色されたBMPファイルをChlorisにドラックアンドドロップする。
・元のBMPファイルがあるディレクトリに、BMPと同じ名前の、*.pal , *.pix , *.infoの3つのデータが出力される。
・AVRのプログラムでこれらのファイルを適切な場所にincludeする。
・書き込む。
・画面に画像が表示される

たぶんこんな流れになりそう。
後は、回路があれば動きますね。
今必要なのは、インバーター・±9Vの出力IC・フレキケーブル・フレキケーブル用コネクタ・ATMEGA128ぐらいあればいけるかな?

そのうち、秋月とDigikeyあたりに注文かけようと思います。
さて、夜も遅いので今日はこの辺で・・・
2008/09/02  01:41    秋月液晶
ついに学校が始まって初日から水泳とか、大変すぎですよ(>ω<*)
宿題も何とかしてるけど、この一週間は大変そうです。

さて、昨日書いた秋月液晶についていろいろ考えて見ました。
某先輩のアドバイスもあって、先人の人たちがやっている方法とは別の画像のフォーマットでやってみたいと思います。
ROMから各色の6bitデータを読み込んで、それを表示していくのではROMの領域を食ってしまいます。
なので、それとは別の方式で画像をROMに保存しておいて、マイコンで表示して行こうと思います。
今回注目したのは、元の画像を減色し、パレットカラーを使用することです。
ROMに保存する際に、まず画像の先頭にパレットカラー128個の色データを書いておきます。
128個という数の意味は後で説明します。
このパレットカラー128個を読み込んで配列などに保存しておきます。
これで、準備は完了です。
パレットカラーデータの後に、画像データを保存していくわけですが、画像の保存するフォーマットを独自に製作します。
1つのバイトがあったとして、ビット7に連続するかのフラグを、残りのビット6~0に指定するパレットカラーの番号を記述します。
このとき7bitの数でパレットカラーを指定するので、2^7=128となるわけです。これが先ほど記述したパレットカラーの数に相当します。
もし連続のフラグが1だった場合、次のバイトには連続する回数を記述します。
これだけです。
分りやすく、実際に例えて書くとするならば、
1バイト目0b10110100  2バイト目0b00110111  だとしたら、
まず、1バイト目で、ビット7が1なので、連続することが確定します。
色データはパレットナンバー52番を使用します。
次に2バイト目で、何回その色データを繰り返すかを見ます。
この場合は55回その色データを繰り返すといったような感じです。
このシステムでいくと、たった2バイトで55個の画素の色を決定することができます。
なので、同じ色が連続すればするほど画像の容量が減少していくわけです。
これで、400*96の大きさの画像でも表示できますね。
減色が入っているので、少しは画像が劣化しますが、人間が見る上ではそこまで支障はないと思います。

まぁこのシステムを導入するにあたって、問題は画像データをそのフォーマットに変換するプログラムを作らなくてはいけないところですが・・・。
ロボコン終わったらゆっくり勉強して変換プログラムは作りたいと思います。
うーん、時間がほしぃ・・・
2008/08/31  14:04    ロボコンの試走会が終わって
ロボコンの試走会が終わりました。
試走会は、夏休み中どれぐらいロボットが完成したか、実際のコースを体育館で作って、試走してみるというものです。
とりあえず、私のチームのロボットは結構動いてたかな?
まあ動いていて何よりです。
とりあえず、送信基板のほうもちゃんと動いているようで、何より。(*-ω-)
これで本格的に回路班のやる仕事が少なくなってきて、
後はロボットの機構的な改善点の修正などが主になってくると思います。
回路班のあとやることといえば、いろんな回路の予備作り?でしょうか(´・ω・)?
あと今年のバッテリーもまだ購入してないので、そろそろ購入しないとダメですね。(´・ω・`)
予備を含めると結構な値段になりそうで怖いですが、まあなんとかなるかなぁ?

試走会も終わって、後残るは夏休みは今日のみとなりました。
長いようで短いやっぱりそんな夏休みでした。
宿題という名の壁にそろそろ激突しそうな時期です。
なんとかしないと・・・。

そういえば、ある先輩が夏休みの終わりで帰ってきたときに、噂の秋月300円液晶を買ってきていました。
3個も買ってきたとか。
秋月300円液晶

なので、頼んでお一つ譲っていただきました。アイス3個分の我慢と思えば300円は安いです。
ニコニコとかでFPGAで液晶を動かしている方もいるみたいで、最近話題の液晶ですが、
結構解析が進んでおり、実用できるレベルみたいです。
液晶の解像度は400*96だとか。
これをAVRあたりで駆動させてみたいですね。
で、考えてみたとことの問題点は・・・

・液晶自体はあるが、インバーターがない。これではバックライトがつかないため、追加購入の余地あり。

・ケーブルがフレキケーブル36ピンでの接続となっている。もちろんうちの部活では使っていないので、追加購入または、コネクタをはずして直で単線を半田付けしなくてはならない。

・この液晶はRGB各6bitで指定が可能である。このことから、液晶にフルサイズの画像を表示させるには、400*96*6*3=86.4KBです。
実際は関数の作りやすさから考えて、色データを一つのバイトに格納することになると思われるので、
6で計算するよりも8で計算したほうがよさそうです。結局115.2KBになるみたい。
この液晶に画像を表示するだけで、ATMEGA128を使うのはめんどくさい・・・。
先人のHPを見てみると、画像データを1/2の大きさで保存しておいて、マイコンで2倍の大きさにして表示している方もいらっしゃいます。
そこらへんはやってみるしかないかも?

とこんな感じ。
まぁ、すぐにはできそうにもないので、とりあえずは保留ですが、そのうちやってみたいですね。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。