データグローブ試作 その2
手袋の指先にポッケを作りセンサーをぶっさして多少見栄えはよくなった
センサーがよくずれるけどなんとかならんもんか・・・
今はマジックテープで縛って両面テープでくっつけている、でもよくずれる
ソフト側はC言語ならかじったことあるのでめちゃ簡単に作ったった
一言でいうとザ・手抜き
動いたのでHello Worldしてみた
www.youtube.com
実は10回以上リテイクしている、20回から先は数えてない
撮影用に手を挙げて入力するのしんどい
手をぶらりとさせれば入力できるけど、キーアサインまだ覚えきれない
キーアサインはなんかのソースコードをアルファベットの出現頻度見て折り曲げやすい配置から順に設定していった
数字やモデファイヤキーはまだない、つか指がたらん
#define A0_LIMIT 833 // 親指 #define A1_LIMIT 880 // 人差し指 #define A2_LIMIT 858 // 中指 #define A3_LIMIT 870 // 薬指 #define A4_LIMIT 890 // 小指 #define NOP B0000 // パー uint8_t KeyStroke = NOP; uint8_t KeyAssign[32] = { NOP, // ○○○○ ○ 'e', // ○○○○ ● 'a', // ○○○● ○ 'd', // ○○○● ● 'o', // ○○●○ ○ 'w', // ○○●○ ● 'k', // ○○●● ○ NOP, // ○○●● ● 'u', // ○●○○ ○ 'x', // ○●○○ ● 'g', // ○●○● ○ NOP, // ○●○● ● 'c', // ○●●○ ○ 'p', // ○●●○ ● 't', // ○●●● ○ 'r', // ○●●● ● 'i', // ●○○○ ○ 'n', // ●○○○ ● 'b', // ●○○● ○ 'v', // ●○○● ● 'j', // ●○●○ ○ 'q', // ●○●○ ● 'y', // ●○●● ○ NOP, // ●○●● ● 'h', // ●●○○ ○ 'm', // ●●○○ ● 'z', // ●●○● ○ 'f', // ●●○● ● 's', // ●●●○ ○ 'l', // ●●●○ ● ' ', // ●●●● ○ KEY_RETURN, // ●●●● ● }; void setup() { Serial.begin(9600); Keyboard.begin(); } void loop() { int a0 = analogRead(A0); int a1 = analogRead(A1); int a2 = analogRead(A2); int a3 = analogRead(A3); int a4 = analogRead(A4); int now_stroke = (a0 >= A0_LIMIT) | (a1 >= A1_LIMIT) << 1 | (a2 >= A2_LIMIT) << 2 | (a3 >= A3_LIMIT) << 3 | (a4 >= A4_LIMIT) << 4; KeyStroke |= now_stroke; if (now_stroke == NOP && KeyAssign[KeyStroke] != NOP) { Keyboard.press(KeyAssign[KeyStroke]); delay(100); Keyboard.releaseAll(); KeyStroke = NOP; } else { print_finger_state(a0, a1, a2, a3, a4); delay(100); } } void print_finger_state(int a0, int a1, int a2, int a3, int a4) { Serial.print(a4, DEC); Serial.write(" "); Serial.print(a3, DEC); Serial.write(" "); Serial.print(a2, DEC); Serial.write(" "); Serial.print(a1, DEC); Serial.write(" "); Serial.print(a0, DEC); Serial.write(" "); Serial.println(KeyStroke, BIN); }
データグローブ試作
曲げセンサーが届いたので早速くっつけてみた
センサーに半田付けしてブレッドボードにぶっさす簡単設計
長さが足りなくなるとヤダから、長めのワイヤ付けたら余りまくり
5cmくらいのワイヤのがよかったかしら・・・
曲げると抵抗値が変わるらしいけど
そないダイナミックには変わらないみたい
www.youtube.com
パーの状態でanalogReadの値がこんな感じ
小指 薬指 中指 人差 親指
770 780 790 820 780 パーの状態
870 900 880 900 850 グーの状態
曲がったよって認識する閾値は (グー - パー) / 4 * 3 + パー ってとこかな?
小指 薬指 中指 人差 親指
845 870 858 880 833 閾値(仮)
後はキーアサイン決めてキー割り振っていけばええかな
今はセンサーを手袋にビニテで張っ付けてるだけだから、できれば見栄えを何とかしたい
Arduino買った
こないだ買ったキーボードがいけてない
アルファベットはかろうじてブラインドで打てるが記号キーが打てない
キーボードのFJのポッチをこんなに探し当てるのが大変なんて・・・
おまけに移動キーがFnとのコンビネーションしかないのだが、IJKLという変態仕様
やめちー、せめてHJKLにしてー(T-T)
しかもミスったらINSやPrintScreenが暴発する鬼畜モード
何がひどいって
入力ミス→戻ろう→PrintScreen(あっ!)→OneDriveに保存→入力ミスのスクショが全端末に共有!
普段OneDriveって共有すんの遅いくせに
なんかこんな時だけ早く感じる・・・
と、いうわけでキーの位置を見なくても打てるキーボードがほしいよね
↓こんなのあるらしいけど、まぁどーせ製品化遅れるか、プロジェクトこけるかするんだろうな
enuchi.jp
だからArduinoで作ろう
手袋に感圧センサーか曲げセンサーはっつけたらできるでしょきっと
知らんけど
Arduino買うてみた、なんか初心者用にいっぱい線とかスイッチとかついてるやつ
とりあえず練習にピンとGNDとかゆーの繋いだら
やたらめったらON/OFF繰り返すようになってもた
ピンとGND繋いでスイッチ押したら5Vとつながるようにしてみたら、ボタンを押すとCOMポートが閉じられるよく分からん事態発生
結局ググったら「抵抗いれなあきまへん」らしい、抵抗ってなんすか?
arduino使い方:スイッチの入/切でLEDを点灯
ぜんっぜん分からへんけど、とりあえず動いた!楽しい!
線は簡単に抜き差しできるけど、なんで抵抗だけあんなへちょいん?
あと、スイッチはブレッドボードまでグイって差し込まんとあかんみたい、中々外れんくなるけど
MiSTEL BAROCCO MD600
Barocoとかいう分離式のキーボードを買った
キーを打つのにはどうしても上体を起こすか、コントローラのようなちっちゃいキーボードを胸の位置まで持ってきて打つしかない
ホームポジション…つまりあお向けで手を伸ばした状態で打てるキーボードが欲しい
https://www.amazon.co.jp/dp/B01KN6VEYG
これの英語配列、青軸
配列はHHKっぽいがFNが右
カーソルキーなし、Enter横長、Aの隣はCaps
キーボード単体でマクロ登録可能なモードを3つ持ってるらしいが、説明書読んでもちんぷんかんぷん…
MiSTELのを買うのは初、つーか初めて聞いたメーカー?かな
Cherryのスイッチとか配列とかほぼ普通路線だから、ただの分離式HHK + マクロ機能にしか見えない
つか、キーボード間をつなぐケーブルがMiniUSBのオスオスで10cmくらいしかない!
ホームポジションに置けないのでケーブル買うまでおあずけ(T_T)
こら完全ブラインドで打てるのかしら?
高いし使えへんともったいないから困るわ、けど分離式って種類ないし高いからなぁ
暦
会社で
うち「ドナルド・トランプはプロレスの試合に出たことがある」
同僚「うっそやーん」
うち「ドナルド・トランプにマニアってつけて検索してみーさ」
同僚「ほんまや!なにこのれっするまにあ23って?」(Wikipediaの記事を見つけたらしい)
うち「あーもう9年前なんか、早いなー」
同僚「なんでわかるん!?」
平成何年って言われてもその年何があったかなんてピンとこない
だけどレッスルマニアxxとかって言われたら最低でもロイヤルランブル前からのスキットがはっきりと思い出せる
もう平成だとかの和暦はやめてWM暦にしたほうがいいよ、分かり易いし
元日は翌日のRawだな
問題は生年が紀元前になる事くらい