「Titan Oneの『Go』ハードボタン」の件について
これは、ハードウェアのGOボタンを作った上で、忘備録としての記事ですー。
さて、win上でのDMX照明制御ソフトウェア タイタンワン。
(画像は、http://www.wao.to/suzuki/?p=339 さんより拝借)
タッチパネルが便利と聞いても、
タッチパネルのPCも、中々高額! 一年程で型落ちする機種に予算をかけるよりも、
現行のPCを利用したいのが世の常、人の常。
タッチパネルなら、キューのプログラムを、GOボタンで送っていくのも、
簡単で操作しやすく、芝居的な現場での扱いも楽ですわね。
ですが、画面、中央下部右寄りの赤いソフトウェアの「GOボタン」はあるものの、
ハードウェアキーでは、ショートカットにて、「ALT+G」の割り当てになりまして。
タッチパネルではないし、マウスやパッドで確実にクリックできる保証もないし、
かと言って、本番中に、キーボードの「ALT+G」なんて2つのボタンを瞬時に押せるわけないし。
ならば、
無駄なキーは一切排除した、「ALT」と「G」だけ入力できるようなキーボードを作りゃいいと。
ということで、
近所のハードオフから中古のUSBキーボード買って、基板のみ再利用します。(500円)
ここから、始まった、今回のプロジェクト。
キーボードのパターンを追って、ALTとGはすぐに探せました。
しかも、両キーともコモンになっており、
乱暴に、3つを繋げば、ALT+Gになるわけ。
テスト環境は、このソフトにてチェック。
で、実際、なりました!
だがよ、だが…
システム的には、そうはなっても、
タイタン側には、どうも取りこぼしが起こる模様…
次に打った手は、「ALTが押された状態で固定」。
これならば、「〜押しながら」が理論的には可能になります。
が、しかし、OS側にあまりよろしくないようで、
IMEがどうにも受け付けなくなり、日本語入力が出来ない状態に。
USBを抜いて、ALTキーを何度か押せば、戻るんですけどね。
表面化しないところで、不具合が出ても
これは、またよろしくないわけで。
次の手は、PICマイコンに、
時間差で2つのキーが押されるようにしようと。
使ったのは、8ピンの昔なんでか 買ってあった、PIC12F683
1入力、2出力しか使わないからこれで充分。
このPICに、次のプログラムを書き込みました。
#include <htc.h> __CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON & BOREN_ON & MCLRE_OFF & CP_OFF & IESO_OFF & FCMEN_OFF); #define _XTAL_FREQ 1000000 void main() { OSCCON = 0x40; ANSEL = 0; CMCON0 = 0x07; TRISIO = 0x08; while(1){ if (GP3 == 0) { GP2 = 1; __delay_ms(40); GP1 = 1; } else { GP2 = 0; GP1 = 0; } } } |
上記は、定形の呪文の後、
PIC4ピンのスイッチが入力(0)されると、
PIC5ピンが出力、40msec遅れて、PIC6ピンも出力。
PIC4ピンが(1)になると、PIC5,6ピンはoffに。
パーツ構成は、
1ピン+5V、8ピンGnd、
PIC4ピンの入力は、10Kでプルアップ。
PIC5,6ピンの出力は、1kで、フォトカプラ(NEC2501)で受けて、 USBキーボードのALT、Gとコモンを繋ぐ。
確認用のLEDもそれぞれに付けて。
これで、OS的にも、「ALTを押しながら…」になり、
タイタン的にも、 GOボタンのショートカットとして使えるようになりました。
作業場にパーツの在庫もあったり、PICの開発環境もあったりとで、
かかった費用は、約800円ほど。
同じようなこと、考えてる人がいましたら、是非、ご利用ください!
無駄な機能をごっそりカット、自分の思うままの物を作れるのが、電子工作の醍醐味。
ぜひ!
- -
- 17:09
- comments(2)
- trackbacks(0)
- -
- by たかお晃市