最終更新:2006.3.8
まとまっていなくてすいません。研究ネタ以外で、秋田の個人的の野望系の ネタのキューに入っているものです。 個人的には上のほうが優先度が高いつもりなのですが、さて・・・でもそれだけなんだろうか?
コンピュータが速くなると、人間はシアワセになれるのか?
社会学者が言うように、日々がせわしくなって、ココロを失っていないか?
コンピュータは小さくもなった。安くもなった。
高性能だけじゃなく、小さく安くなったことで、 いままでのコンピュータの使い方とは違った使い方で、 人間がシアワセになれる方法があるんじゃないだろうか?
そんなことを、日々考えています。
考えるだけでもナンなので、まずは作ってみました。
LEDを1秒程度の周期で点滅させるだけのものですが、
右側は、いわゆる555を使った、RC発振回路を使ったもの。
オーソドックスな電子回路です。
555のほかに、外付け部品が、LED電流制限抵抗以外に、
抵抗2本とコンデンサ。
当然点滅周期は固定、変えるためには可変抵抗が必要。
一方左側は、マイコン(PIC12F629)を使ったもの。 内蔵オシレータを使っているので、外付け部品は LED電流制限抵抗のみ。 しかもスイッチ1個をつけて、ソフトウエア的に 点滅周期を変えられるようにしてみました。
たかがLED1個の点滅に、パソコンを使う気にはなれませんが、 これぐらいのマイコンだったら、サイズも同じ(DIP8ピン)だし 値段もほとんど同じ(1個100円くらい)だし、 たしかにコンピュータなんだけど、たったこれだけのために コンピュータ(マイコン)を使う、という使い方は、アリですよね。
こういうマイコンは、コンピュータがただ小型になっただけ、といえば それまでなんですが、ここまで小さく安くなったことで、 それまでのコンピュータの使い方とはまったく異なる コンピュータの新しい使い方、というのが生まれると思うんですよね。
こういう、ある意味おもちゃみたいに使える、 小型で安価なLSIのことを、"ToyChips"と名づけてみました。
LSIの技術という面でみると、既存の枯れた技術の組合せかもしれないけど、 こういう"ToyChips"になると、まったく新しい使い方が 生まれる可能性があるように思うんですよね。
たしかにLSI自体の高性能化という技術も必要だけど、 半導体産業が巨大な装置産業・投資産業になりつつある現在、 個人や大学の小規模グループでの研究レベルでは、なかなかLSI大企業には 性能だけではかなわない。
だから、性能勝負、ではなく、面白い使い方(と、それを実装する能力)勝負、 でいきたい。
その使い方のねらうとことは、いわゆる自動化によって人間から仕事を 奪うだけの科学技術の進歩だけではなく、 もっと人間が主体的にかかわれる、シアワセになれる科学技術。
そういうものを、わたしは作って行きたい。
(2002.7.22)
とりあえず、ってんで、TrevaとPICとシリアルEEPROMをつなげて、
「なんちゃってデジカメ」をつくってみました。
使ったのはPIC16F628とAT24C1024で、8枚分記録、
画像転送はRS232C。
うーん。なんかヒネリがほしいなあ・・・
(2002.7.30)
5個集めて軍手につけてみました。
「指キタス・カメラ」。
だからなに、ってのは言わないお約束・・・
(取り込みはPIC16F628でやってるんですが、PicCがおかしなコードをはくので
ファームウエアはもう少しあとで・・・)
(2002.9.10)
CCSのPIC用のCコンパイラ(PCM)が届いたので、
早速コンパイルしてみました。
ちょっとバグとりがありましたが、
無事5枚の絵がとれました。
こんな感じにして使います。
けっこうカメラの向きがビミョーなので、指がつりそうになるのを
ぐっとこらえて撮った画像がこんな感じです。
006Pの乾電池をとってみました。
あとはこれをくっつける作業がいりますね・・・
(2002.9.19)
いまさら、という気もするのですが、PICを基板に差し込んだままで書き込む
ICSP (In-Circuit Serial Programming)というのを試してみました。
コネクタの形状と配置は、
IPI方式に
準拠してみました。
いやー、しかしいいですねー、いやほんと。
書き込みのたびにPICを抜かなくていい、というのが
こんなに楽チンだとは思いませんでした。
(2002.9.19) この指カメ、動画像をとってみたくなって、USB化をしようかと画策しています。 やっぱEZ-USBですかね。
(2002.10.16)
EZ-USB(AN2131)に5個のTrevaをつないで指キタスカメラver2を作ってみました。
(2001.2.5)
いしかわきょーすけさんが、無線LANのPCカードをAVRマイコンから
使っておられる(使おうとされている)、という話を聞いて、
なんだか面白そうな気がしてきてしまいました。
しばらく前に買ったInterface1999.12号のPCカード関係の記事を、
あらためて読み返してみて、だいぶわかったような気がしてきました。
個人的に、H8ぐらいの マイコンを使って、LANをやってみたいなぁ、と思っていたところだったので、 PICNICを使う代わりに、 いっそのことH8とPCカードをつないでしまって、PCカードとして有線LANカードや 無線LANカードを使うことで、両方ともできるようにしようかな・・・ (野望的な優先度は高いんですが、あとは時間との兼ね合いですね)
で、実はなにをやってみたいかというと、
なんていうあたりを考えています。
(2001.2.6)とりあず、PCMCIAソケットを、転がっていたジャンク基板から取り外し、2.54mmピンヘッダへの変換基板を、大学にあるNCマシンで彫ってみました。(拡大図)
(2001.2.7)続いて、H8とPCカードをつなぐ信号配置を考えてみました。とりあえず作ってみましょうかね。
(2001.2.9)とりあえず、NE2000互換っぽい有線LANのPCカード(メルコのLPC2-T)を買ってきました。これとH8をつないで、まずはpingが通るようにしてみましょうかね。
(2001.2.12)やっぱりH8とPCMCIAは16ビットで接続することにしました。H8が読み出すときにワードかバイトかがわからないので、とりあえず読み出しはワード読み出しになるようにPCMCIAカードに伝えて、H8側で必要な上下バイトorワードを読み取るようにしました。書き込みは、LWRとHWRの組み合わせで、上下バイト書き込みかワード書き込みかが区別できるので、それを伝えるようにしました。ただ、D[15:8]とD[7:0]を入れ替えてつなげないような気が、どうしてもするんですが、これで正しいのかちょっと心配。これだけややこしいデコード論理だと、くやしいけどGAL(GAL16V8B)を1個つけるのがよさそうです
(2001.2.27)このまえ秋葉原に行ったとき、PCカードのソケットをいろいろ仕入れてきました。鈴商ではソケットだけ(300円)、ソケット+カードホルダ(500円)、お店を忘れましたが、カードホルダだけ100円、秋葉帝で表面実装コネクタのついたPCカード2枚用ソケット+カードホルダ(500円)。あと、日米通商で、正体不明のLANカードを、CIS読み出し用に買ってみました。(NE2000互換だといいなぁ)
(2001.3.7)先日出張で大阪に行った折、日本橋に行って、バスアンドタグでNE2000互換とおぼしきI/OデータのPCカードのLANカードと、テクノベースでPCMCIAソケットを買ってきました。バスアンドタグは、ジャンク屋っぽくていい感じ。なんだか最近PCMCIAソケットのマニアになっているなぁ・・・
(2001.8.21) H8との接続をよく考えてみたら、ちょっと違ってました。Ver1.2に変更。 とりあえず基板を作ってみました。(正しくは、 作ってもらいました)
(2001.3.7)函館の地元で、お天気観測マシンをばらまいて、ネットワークできめの細かいお天気観測をしてみよう、というプロジェクトが動きそうな気配です。
PCベースの高いものものいいのですが、精度はともかく安価なものを作ろうと思って、EcoLogというお天気観測モジュールとPICNICをくみあわせてみました。EcoLogはRS232C(なんと2400bps)でデータを送受信するので、PICNICのシリアルポートにつないで、外からUDPでPICNIC経由でEcoLogを直接つつくことをやってみました。(とりあえずCGIとperlの勉強をしてみました)
次のステップとして、PICNICのアナログポートにセンサを直接つけるため、気温・湿度・気圧のセンサをつないでみようと思っています。
将来的な野望としては、H8+無線LANかなぁ。
(2001.3.10)む。PHSを使って、無線通信をする、というてもあるのか。
(2001.3.12)PHSを使う、ってことは、PCカードのPHS通信カード(あるいは611Sなど)を直接つつけばいい、ってことですよね。(PHSの拡張コネクタに直接つっこんでもいいんでしょうが、配線とプロトコルがわからない・・・)てことは、H8なんか+PCカードでいけるのかな?
(2001.10.23)データをEEPROMに記録しようとして、27LC256みたいな シリアルEEPROMを使おうとしていたんですが、5分間隔でデータをとると、 実は1週間分ぐらいしかとれないんですよね・・・ CFをPICにつなぐのもピン数がたりないので、ちょっと探してみたら、 MMC(MultiMediaCard)というのが、プロトコルが公開されていて シリアル(SPI)でアクセスできていい感じ。 とりあえずメディアとサンハヤトの変換基板を買ってみました。 (メモリースティックはプロトコルが非公開なんだな・・・)
PICNICのファームウエアを書き換えてみました。 こちら。 (PICNICのファームウエアをベースに改造したんですが、 これって公開していいんでしょうか? 特に条件は書いてなかったので公開してしまいました。 もし問題があればご指摘ください) ブラウザでこんな感じの画面が 表示できます。 ちなみにセンサは以下のものを自前で用意して、PICNIC単体で 使えるようになりました。
(2001.12.24)PICNICを、ケーブルテレビのインターネット網につないでみました。 で、不思議な現象にめぐりあいました。 PICNICと同一のケーブルモデム(CM)につながったPCからは、pingがとおります。 PICNICと違うセグメントにつながったPCからも、pingがとおります。 またこのPCから、PICNICと同一ケーブルモデムにつながったPCにもpingがとおります。 しかしPICNICと同一セグメントで違うケーブルモデムにつながったPCから、 PICNICに対してpingが通らない、という現象にであいました。
+--GW---+-CM----PC1, PICNIC | | [CATV] +-CM----PC2 | +--GW-----CM----PC3つまり、PC1→PICNIC・PC3→PICNIC、PC2→PC1はOKで、PC2→PICNICのみNG、 ということです。 ちなみにPC1をPICNICと同様のIPアドレス・ネットマスク・GWの設定にすると PC2→PC1もOKですので、ゲートウエイの設定等は大丈夫のはずです。 いったいなんなんでしょうね???
(2001.2.5)以前から、RoboCup小型をやっていて、せっかく小型リーグなんだから、カメラ系とメカ系と思考系を分けてしまったらどうかな・・・なんてことを考えていました。つまり、順番としては、
とわけて考えると、2.の部分は、1.から情報をもらって、3.にわたす、という作業だけなので、これを切り離してしまい、具体的にはこれらの情報の受け渡しをUDPでやることにしてしまったらどうかな?と考えました。
そうすると、2.にとっては、位置情報をもらって行動を決定すればよくて、その位置情報をもらうのや、行動を送る先は、実際のカメラ(+画像処理系)や無線機でなくても、エミュレータで模擬できるのではないか?と考えました。
そこでつくってみたのがwemuというやつです。
(2001.2.5)こんなかんじで、上の3.に相当するロボットは、どういう形式がいいのかな?と考えてみて、結局、ロボットはできるだけ単純にしてしまって、ただ左右のモータの速度と向きをコントロールするだけにしよう、ということにしました。
これは、まだほとんどまとめていないのですが、基板を作ってみて、論文を書いてみたりしました。
要点はこんな感じです。
(2002.6.11)RoboCup小型リーグ用画像処理・座標配信プログラムを公開してみました。 こちら。
(2002.10.16)この制御基板を、表面実装部品を使って小型化してみました。
(2001.2.5)せっかくなので、このwemuの中のロボットを人間で操作すると、なんかゲームみたいで面白いかな?と思って作ってみたのがwemupadです。プレステのコントローラをWindowsからジョイスティックのように使ってしまうDirectPadProというのを使って、VBでプログラムをつくってみました。(実はVBでプログラムを作るのは初めてでした)これを、マルチタップを使って4人同時に遊べるやつを作りたいなぁ・・・と思いつづけて約半年。
(2001.2.5)さっきのラジコンロボットも、せっかくなのでプレステのコントローラで動かせると、遊べるかな?と思って作ったのがこれです。ただのラジコン、といってしまえばそれまでなのですが・・・ちなみに5台とも同時に動かすこともできます。
(2001.2.7)電通大の西野先生が、こんなことをやられています。RoboCupのシミュレーションリーグに、人間チームで参加してみよう、というものです。シミュレーションリーグとはいえ、いずれは人間相手に勝てなければいけないだろう、ということです。なるほど。で、プレステのコントローラを11人分つないで、参加できるような装置を試作することになりました。
(2001.3.7)とりあえずマルチタップにコントローラを1個つけて、データを読み出してみました。マルチタップのデータがうまく読めない?なんでだろう?→PIC16F876を使っているんですが、Aポートって、リセット時はアナログポートなんですね・・・これで半日つぶしました。
(2001.3.7)とりあえずつくりました(ver1.0)。作り方とサンプルプログラムはこちら。
(2001.3.10)タイマ割り込みで定期的にコントローラ情報をとりにいくようにしました。(ver1.2)
(2001.2.5)きわめて家庭的な事情なのですが、秋田家では、風呂場とリビングが離れています。で、お風呂にお湯を張るとき、お湯がいっぱいになったかどうかが、なかなか心配です。お風呂ブザーなんかを買ったりしたこともあったのですが、結局ブザーがお風呂場にあって、リビングでは聞こえない・・・
そこで、お風呂場に無線機を置いて、お湯がたまったら、電波をとばして、リビングに置いた受信機で受信して知らせる・・・なんてことを考えてみました。で、せっかくなので、受信機では、無粋なブザーとかではなくて、ごきげんな音楽(例えば、ドリフターズの「いい湯だな」とかって、お風呂っぽくていいかな、と・・・)をかけよう、と、音声記録モジュールとかを買ってみたりしました。
で、送信機は、とりあえずワイヤレスマイクにして・・・
が・・・ちょっと電波が弱くて、お風呂場からリビングまでとどかないんです・・・しくしく。とりあえず電波を強くするのに秋月のブースターとか使ってみようかな?とか考えているところです。あと、ついでに音楽も、いっそのこと若松のmp3キットにしちゃうとか・・・
(2001.2.5)とりあえず買ってみました。
なんだか、新しいことができそうな予感がして、胸騒ぎがして・・・ファームウエアのソースを読もうとしたんですが、萎えました・・・。とりあえずトラ技2001.1で、Ethernetのパケットを勉強します。
(2001.2.8)だいぶ勉強しました。うーん、実際にはこうやって動いてるんですねぇ、って感じ。要点はこんなところでしょうか。
(2001.3.12)秋月でver2が発売になったようですね。基板が小さくなってちょっとうれしい。
(2001.12.24)ケーブルテレビのインターネット網につないでみたんですが、 不思議な現象にであいました。 いったいなんなんでしょうね??
(2001.2.5)ちょっとROMやGALを焼いてみたいなぁ・・・と思っていたら、こんなもの(XMP)を見つけました。作ってみたいなぁ。
(2001.2.5)これは、トラ技2000.7号に載ってた、AVRを使った製作例なんですが、ほ、ほしい・・・っていうか、あれだけのハードでこれだけできるんだ・・・と、感動すらしてしまいました。とりあえず部品をそろえてみました。小さい液晶は、たんせいで買いました。
(2001.2.5)たまたまこんなのを見つけました。PIC16F84を、基板にさしたままで、クリップではさんで書き込みをする、というやつです。面白いアイデアだなぁ、と関心してしまいました。とりあえず部品をそろえてみました。
(2001.2.7)個人的に、USBデバイスが好きで(できもしないのにWin95のころから収集していました・・・)、こりゃなんか作ってみたいな・・・と思っていたところだったので、いろいろ評価キットなどを集めてみました。AW電子のPICとH8、プラネックスのAm186、CQのFLEX10Kと、一通りそろえたんですが、肝心のファームウエアのところがよくわからない(特にCQ)、Windows(やLinux)のドライバを書くのが大変そう・・・と思って、しばらく眠っていました。
ところが、USB-IOというのを見つけて、これならできるかな?ととりあえず2個買ってみました。成松さんという方がLinuxのドライバを書かれていて、ちょっとうれしい。
いしかわさんが、USB-IOを使って サーボモータをコントロールされているようだ。 ここ。
(2001.2.5)授業で、正弦波がほしいことが何度かあって(フィルタの実験、など)、でも発振器をかうのもおおごとだなぁ・・・と思っていたら、SXマイコンを使って、ソフト的に正弦波を作る、なんていうものをみつけました。原理は簡単なんですが、コロンブスの卵、という感じ。
(2001.2.5)AAFのやまもとさんのところで共同購入した、CMOSカメラモジュール。でもまだ机の前に飾ってあります・・・
希望としては、CMOSなので、メモリのように画素にランダムアクセスできるかな?と期待していたんですが、どうもそれはできないみたいで、ちょっとがっかり・・・ランダムアクセスができれば、ちょっとだけ本業の研究ネタにも使えそうだったので・・・
(2001.2.7)ここ未来大は、とても乾燥しています。目がしぱしぱなってしまうので、加湿器を作ろうかと思って、秋月のUSH-400を買ってみました。でも、これって、どこに水を入れるんだろう・・・・??????はて?
(2001.2.5)もともとは本業の研究ネタの一環なのですが、ビデオ画像を、リアルタイム(数100nsの遅れだけ)で、色抽出処理をしてくれるボードを作っていました。
でも、ちょっとA/D・D/Aまわりの作りこみがあまくて、ノイズが多くて、あまり使えませんでした・・・
ところが、メディアコンピュータというところで、このA/Dに相当する部分がモジュールで売っているようなので、とりあえず買って、前につくったやつにくっつけてみようかな・・・ノイズが乗らずにきれいになるといいなぁ・・・
(2001.2.27)とりあえずメディアコンピュータのNTSC→デジタルRGB、の部分のボードが手に入りました。
はこだて未来大学にNCのプリント基板作成装置(Promate93s)があるのですが、フリーの基板作成ソフトであるpcbeで出力できるガーバーデータを読み込めるようにしました。これで、pcbe→Promate93sという流れができました。めでたしめでたし。使い方はこちら。
movlw brnch0 addwf X, w movwf PCL brnch0 goto case0 goto case1こんなプログラムだと、X=0のときはcase0に行くはずなんですが、 なんかcase1に行くような気が・・・なんか勘違いしてるんでしょうか?
お便りはこちらへ: akita(at)akita11.jp / akita(at)is.t.kanazawa-u.ac.jp