コメを噛め

コメを噛め

rerofumi の電子工作メモ

Archive for 8月, 2006


hatena bookmark

久々に PIC をいじっていて MPLAB を最新にしてみようかと Microchip をのぞいたら MPLAB 7.41 になっていた。
よく見てみると。
MPLAB IDE now includes a free copy of the CCS PCB C Compiler.
とか書いてある。
なんと。

実際にインストールしてみたら実際に PCB 版だけだけれども本当に C コンパイラが同梱されていた。
もっとも CCS PCB C Compiler って 12bit 命令長の PIC 専用のバージョンで、今あるラインナップのうちもっとも低級なものである。
PIC10 とか PIC12F509 とかが対象ね。
最もこの辺は機能が低く制限が多いためアセンブラで書いた方が断然よいチップだとおもうので Cコンパイラがどれくらい使い物になるかわからん。

CCS でも PCB 版は単品売りしていなかったし、誰が使うのかわからないだけに大放出的な感じか。
PIC12F509 のプチブームでもくるかな。

私はもう二度と手を出さないであろうチップだけれども。


hatena bookmark

なんか以前からオシロスコープは憧れの計測器なのである。あれで波形観測をしている姿にあこがれるというかなんというか。
大学にいた頃実習で何度も使ってはいたんだけれども、それでも自宅にオシロスコープがある姿に憧れるといういささか変な固執があってみたり。

秋月電子の通販部でpico Technology 社の USB 接続 PC オシロスコープが取り扱い開始になっていた。
んまあ簡易オシロとして osziFox を持っている(もう秋月で扱っていないなコレ)わけだけれども。なんか信号が出ているかな、とかいったちょっとした計測には便利しているんだけれども「波形の確認」を行いたいと思ったらちょっときつい。PC接続用のシリアルケーブルもどっかいっちゃってるし。
ちと込み入った計測がしたいときもやっぱりあったりするのでエイやと買ってみた。
一番安い PicoScope 2202 だけれども。
まあ、2ch 2MHz の計測ができれば今のところ十分だし。


なんか思ってたよりでけえ。

pico Technorogy 社はパラレルや USB で PC に接続できる A/Dコンバーターを提供し続けている会社。ちょこっとしたアイテムで 数10kHz レンジの計測や PC でのデータロガーを提供している。
PicoScope はその延長で高速 A/D コンバータとそれなりなバッファを積んで、オシロスコープとして使えるようにしたもの。実のところハードよりもソフトウェアの方が価値が高かったりする。そこは老舗の会社、オシロスコープアプリの他に、データロガーアプリとスペクトラムアナライザアプリも付いてくるし、どれも枯れて安定している。
他の PC オシロスコープよりこれに惹かれたのはそんなソフトウェア面での魅力から。
PicoScope 2202 は low-cost entry モデルである。他はみんな 3000シリーズで、これだけ格下。分解能も 8bit (3000シリーズは 12bit)だし、バッファも 32kb しかないしと制約もあるので用途を考えて選択するが吉。特に 8bit ってのは結構荒いのでアナログの計測が目的だとちょっときついかも。

秋月電子で購入すると 1000円ほどのプローブを 2本付けてくれる。
このプローブに「1kHz の低周矩形波でシュートが出ないよう調整しやがれ」と書いてあったので、PSoC の PWM で 1khz を出力する様な物を作り、それで計測。


あー、この調整って等倍じゃなくて「x10(1/10に減衰)」するときの変形修正なのか。
つつがなく終了。

アプリの機能は満載というわけではないけれども、使い勝手は良くてなにも考えずに普通に使える。
もちろん、画面上の波形で「ここからここまで」と線を引いてその間の時間を計測したり、縦方向で振幅電圧を見たりといったことがサクサクできる。PCオシロスコープのメリットだよね。
トリガーの設定もシンプルながらにまあ悪くない感じで。


2現象なので I2C のチェックにも使える。まあ、3パケットぐらいしか画面に表示できないけれども。

繰り返しになるけれども、サンプル速度が 2MHz というよりも 8bit 階調の方がきつい制限になるのでそれを留意することかな。このエントリーモデルだと USB バスパワードで動くので取り回しの勝手は良い。
4万円という値段なので、この価格帯だと選択肢はたくさんあるのだよな。
—–


hatena bookmark

FPGA を始めたらやってみたかった事がある。
希代の電子工作入門書「CPUの創りかた」の中で作成している CPU を PLD に書くことで、実際に作成して動かしてみることである。
まあ、あれは実際に部品を集めて作成するから楽しいのであって、PLD で作っては面白さが半減してしまうところではあるけれども。でも、この本の中で作成する TD4 はロジック作成の勉強としては非常に手頃なサイズなのだよね。
まあVerilog-HDL で TD4 を CPLD に作成した御仁は既にいるのだけれども、同じ事を繰り返してもよいじゃない。
てなわけで VHDL でふにふにと作成開始。

td4_vhdl.zip

本の中のロジックIC を VHDL に置き換え、ではなくて役割と意味から実装している。
特にオペランドデコード部分は敢えて if 文の塊にしてみた。本の方では真理値表からざくざくと削ってシンプルな論理に落とし込んでいるけれども、こっちはなにも考えていない。どんなロジックが合成されるかと思ってみてみたら、めちゃくちゃでかくてゲンナリするものがはき出されてみたり。
まだまだ色々直せそうだけれども、現状こんなところ。

クロックについては、手元のボードで動くようにひたすら分周して使用しているので注意。また、ソフトウェアROM に関しては VHDL 内に記述してあるので、ソフトを変えたい時はそこを修正して再合成が必要。
td4.ucf
Xilinx の Spartan-3E sterter kit を使っているひとはこのネットリストを使うと、ボード上ですぐに動かせます。south のトグルボタンが reset で SW0〜3 が IN、LD0〜3 が OUT。

これでよいのか自身はないんだけれども、いちお動いているみたい。
XC9536 にも収まるな、これ。33マクロセル使用とかだった、クロックの分周が無ければ半分くらいになるだろう。
—–


hatena bookmark

以前加速度センサーを用いた傾きジョイスティックを作成した。
このとき元としたソースコードはマウスデバイスの物だったので、加速度センサージョイスティックからちょちょいと一部戻して「加速度センサーマウス」を作るのはたやすいことだったりする。
取り敢えず、手始めにハードはそのままで戦闘機型の加速度センサーマウスのファームウェアを作ってみる。傾きでどれくらいの移動量にするかというあたりを上手く作るだけでなかなか快適なアイテムとなる。まあ、静止時でも手で持っているわけだから疲れるけれどもね。
(このときの試作ソースは紛失)

さて、今回のお題となるセンサーは感圧ゴムセンサー。


圧力を知るセンサーを探していて一番安くてそれっぽかったのがこの導電ゴムがたの圧力センサー。先端部分に導電ゴムが入っていて、通常時は電気が流れないけれども押し込むとゴムがつぶれて電気が流れるようになるというアイテム。ゴムの通電性という関係で途中の圧力でアナログ値変化するのだけれどもその幅が小さいので実質 on/off スイッチといったところ。


これをUSB実験ボードに接続。
今回センサーを 5つ買ってあるのでこれをマウスポインターの移動「上」「下」「左」「右」と「左クリックボタン」に割り当てて、そのようなマウスとなるようにPICのファームウェアを記述。
pic_usb_mouce.zip
ソースコード。
一応これでボタン入力型のマウスデバイスとして利用可能。

今回の本当の目的はこちら。


双丘型マウスパット。平たく言って、オッパイマウスパット。


横から見るとこんな。

こいつのそこに穴を開け。


先の感圧センサーをセットする。


樹脂型接着剤で目地止めし、固定すると。


完成。

まあ、センサーの試験時にわかってはいたけれども、操作性はぜんぜんなっていない。
本当は手のひらなりグーでなりで押し込むとか揉むとかすると操作できることを目指していたのだけれども、そううまくはいきませんで。


センサーのあるあたりを上から「ぎゅむ」っと指で押し込むと動作するマウスといった風情。
まあ、バカアイテムに実用性は求めるものではないですが。操作はともかく、押す事が楽しい一品ということにしときましょうか。

このへん、センサー次第でもちょっと良くなりそうなんだけれどもな。
—–