Personnage

Personnage

Turing Hopper

Mage blanc Makai

Ramuh (Elemental)

Vous n'avez aucune connexion avec ce personnage.

Demandes d'abonnements

L'accord du joueur est nécessaire pour suivre ce personnage.
Envoyer une demande ?

  • 18

左手デバイス(アナログスティック)作ってしまえ!【自作】その11 簡単に作れる作り方編

Public
■はじめに
この記事は、ご自分でも左手デバイスを作りたい人のための記事です。
ちょっとだけはんだづけ・ソフトは書きこむだけ、易しくなりました
あなたも、1つ自分用に作ってみませんか!

■G13の後継に使えるかも(アナログジョィステック)
■Windows標準ドライバで動く、追加ソフトいらず

(今回の製作方法に少し筐体の工作を加えるとこうできたり)
(記載手順で、ここまでできます、あとは工作しだい)
■今回の作成の大きな流れ、方針
 はんだ付け済みのキーボードキットで、
 難しいことなしに、作れるように段取りを組みました。
 ぜひ作ってみてください。

 ●キーボードキット(corne cherry)を組み立てる はんだづけ済キット
 ●調整済みのソフトと、アプリをダウンロード ブラウザで
 ●ソフトウェアをッキーボードに書き込む 書き込みアプリで
 ●電線でキーボードとジョィステックを繋げる ちょっとだけ簡単なはんだづけ
 ●台にキーボードとジョィステックを載せて固定
 ○キー割り当てを変えるときはツールで簡単 ブラウザで



■入手しておく材料・工具など
BitTradeOne製の「corne cherry 」のはんだ付け済みキーボードキット
 corne のキットはいろんなバリエーションのキットが販売されています。
 今回ははんだ付け済みで、組み立てるだけのキットを選びました。
 今回は左手側だけ使います。
 
(見やすいようにスイッチは一部しかはめていません)
・Cherry MXキースイッチ
・Cherry MXキーキャップ
 いろいろなキースイッチやキーキャップが売られています。
 好みのものを探してみましょう。
アナログジョイステック部品
 Amazonで「Arduino対応 Raspberry Pi対応 ジョィステックモジュール」
 などとうたっているものが配線しやすいので、今回はこれを推奨。
 
(ちょっと大柄ですが操作はしやすいです)
 ただし外れ部品のときがあるので、複数買っておくのが良い。
電線
 今回は電流はわずかしか流れない(数mA)ので、
 外径1mm未満の電子工作用の撚り線電線推奨。
 配線するときに分かりやすいように数色を袋詰めしたものが便利。
 

Cliquez pour afficherCliquez pour cacher
はんだ付けの要らない電線(テストワイヤ)
 サンハヤト テストワイヤー メス-オス TTW-201
 全くはんだ付けは要らないのですが、固くて配線の取り回しがきびしいので
 今回は参考情報としてご紹介します。

 なお、動作の事前確認(ProMicroのポートが開いていることを確認など)
 の試験治具を作るのにで使っています。

ハンダ
 狭い場所にはんだ付けするので、径0.3mm推奨。せめて径0.6mm以下。
 

MDF板
 木くずを固めて板状にしたもの。なければ合板や、適当な丈夫な板でもOK。
 全体を支える土台として使います。 今回の写真ではアクリル板を使ってみました。
 手を乗せるので、140mm×140mm以上のサイズのものを。
両面テープ
 しっかりとくっつく強度のあるものを。文具の紙用はお勧めしない。
 強力すぎると張り直すときに張り付いた素材を傷めるので、
 強く着くが貼り直しはできる程度のものを探すのを推奨。
 ネジの頭が飛び出ていたりするので、クッション性があるものが便利。
USBケーブル A←→microB のもの。PCとの接続用。
 キットに入っていればそれを使えばよい。
はんだごて
 精密電子工作用の15W~30W程度のセラミックヒータータイプ。
 

精密ドライバ
 キットのねじ止め用。細いプラスネジ用セットがよい。
精密ニッパー や ワイヤーストリッパー(精密用)があるとなおよい
 電線の皮むきはあらかじめ少し練習しておこう。

PC(Windows10)
 キーボードの内蔵ソフトウェアを作るための物。
 今回はWindows10を前提で説明する。


■まずはキーボードキット部分を組み立てる
・入手したキットに合わせてまずはいったん corne の左手側だけ作ってしまおう。
 作ツ時にはビルドガイドを見ながら作りましょう。
 

 といっても、ネジ留と、スイッチのはめ込みくらいです。簡単!


キーボード内蔵用ソフトウェアと、書き込みアプリをダウンロード
・キーボード内蔵用ソフトウェア ここに"crkbd_rev1_legacy_via.hex"というファイル名で置いてあるのでダウンロードしてください。
Cliquez pour afficherCliquez pour cacher
 "crkbd_rev1_legacy_via.hex"は、以下の機能を両方組み込んであります。
  ・アナログジョイステックの情報を取り込んでPCに送る機能
  ・VIAというアプリや、RemapというWebサイトで簡単にキーの配列を変更できる機能

・書き込みアプリ QMK Toolbox をここのサイトからダウンロードする。
 (1) qmk_toolbox.exe をダウンロードする
 (2) ダウンロードしたToolbox.exeを実行すると
   警告画面が出てきますので「詳細情報」を開き、「実行」をクリック。
   インストールが済むと、QMK Toolboxが起動します。
   
   
  これでアプリのインストールは完了です。

キーボード内蔵用ソフトウェアをキーボードに書き込む
 (3) QMK Toolboxの Openボタンをクリックして、ダウンロードしたHexファイルを選択します。
    

 (4) Auto-Flashにチェックを入れます
    

 (5) キーボードとPCをUSBケーブルで繋げて、キーボードのリセットスイッチを押します。
    

 (6) 1~2分、ずらずらと文字が表示された後、
   最後に「avrdude.exe done. Thank you.」と出力されたら書き込み完了

■キーボードとして動作試験
  うまくいったなら、もうキーボードとして認識されているはず。
  文字入力してためしてみよう!


ここまでいけばキーボードとしては完成なので、
いよいよ左手デバイス化していきます!


ここで、USBケーブルをPCから抜いておきましょう。


■ジョイスティックをcorneキーボードと結合する
 corneの写真にある箇所に電線をはんだ付けしてください。
 あらかじめ、電線の端の被覆を向いて置き、はんだを少ししみこませておきます。
 

基板裏面から差し込んで、表面側ではんだ付けします。
 このとき、マイクトコロンローラーの端子を挿す穴に付けないように注意!
 
※写真の基板裏面 配線の色を参考にしてね!
 ジョィステックの端子に電線のもう一方の端をはんだ付けします。
 ※配線の色を参考にしてね!
 具体的には以下の4本の電線で結合します。
 ・ProMicro「GND」―――――ジョィステック「GND」 黒の電線
 ・ProMicro「VCC」―――――ジョィステック「+5V」 赤の電線
 ・ProMicro「9」 ―――――ジョィステック「VRX」 緑の電線
 ・ProMicro「8」 ―――――ジョィステック「VRY」 紫の電線
 写真にある基板の穴が基板内でProMicroの上記端子とつながっています。
 

Cliquez pour afficherCliquez pour cacher
 ProMicroの裏面
 



■アナログジョイスティックの動作試験
 Windows10の「設定」パネルを開く。
 「デバイス」→「デバイスとプリンター」
  →「HID準拠ゲームコントローラー」を右クリックして「ゲームコントローラーの設定」

 (もしも、「デバイスとプリンター」を開いても「HID準拠ゲームコントローラー」が存在せず、
  スティックが使えても調整できない場合
  「設定」ウィンドウの検索入力から「USB ゲーム コントローラーのセットアップ」を
  入力して開く)

 認識されていればコントローラーとして「corne」が表示されているはず。

 「corne」を選んで→「プロパティ」→「テスト」タブでコントローラーの動作確認ができます。
  

 ・動きがぎこちないときは または 歩けるけれど走れないときは
 「corne」を選んで→「プロパティ」→「設定」→「調整...」でウィザードに従って調整
  

 ・動きがスティックを倒した方向と90度異なる動きのときは
  X方向とY方向の配線が入れ替わっています。配線チェックを!
 ・動きがめちゃくちゃなときは
  根本的に配線が間違っている場合や、部品が不良の場合もあります。まずは点検!
 ・全然動かないときは
  ソフトウェアの書き込みはちゃんと完了していましたか?
  配線を点検してみましょう。 (※テスターがあると確認しやすいです)


■全体を左手デバイスの形にする
・MDF板(または代替の板)の上に、キーボード本体と、
 アナログジョィステックを両面テープで貼る。
 接着強度に不安がある場合は、
 ある程度試行して使い込んだら板にネジ留追加してしまおう。
 使ってみて、キーとジョィステックの位置関係を微調整。
 これは手の大きさなどで個人差が大きいところ。
 
 こんなイメージw

 ↑これは作りやすさを考えて素朴な構造ですが、
  この素材から工夫すればカッコイイ左手デバイスが作れたりします(^^)


Cliquez pour afficherCliquez pour cacher


こちらは、土台をアクリル板にして、必要なところ以外は切り離し。
キースイッチを全部搭載し、配線を目立たない場所を通るように整理したものです。
パームレストも、硬質スポンジを削って形を作ったものの上に、
布カバーされたクッション材を貼ってあります。
ちょっとしたご家庭の工作レベルですね(^^)



■キーの割り当てを変えてみる
 ブラウザでキーの割り当てを変更できます。

 (0) ブラウザは、Chrome または Edge の最新版を使ってください(古い版はNG)
 (1) ブラウザでこのサイト Remap に接続してください。
   

 (2) "START REMAP FOR YOUR KEYBOARD" をクリック
   

 (3) "+KEYBOARD"をクリックし、接続許可を求めるダイアログが表示されたら許可する
   

 (4) この画面が出たら、マウスでのドラッグアンドドドップでキーを編集できる
   

 (5) "FLASH"を押すと、キーボードに設定が反映されます。
   すぐに反映されるので、使って試してみましょう。

 ↓こちらの記事がとってもわかりやすいです。
 [参考] サリチル酸さん(初心者編)Remapを使ってキーマップを書き換えよう

Cliquez pour afficherCliquez pour cacher
 キー配置などの書き換えができるアプリ VIA もあります。
 [参考] サリチル酸さん(初心者編)VIAを使ってキーマップを書き換えよう



見た目は置いておいて、十分実用になる左手デバイスになっているはず。
完成おめでとう! 楽しんで使ってください。

これを出発点にして、オリジナルの左手デバイスをぜひ工夫して作ってみてください!



 << 次回につづく 製作記事で綺麗に作ってみる >>

■参考
[1] “CORNE CHERRY” – 半田付けのいらない42キー スプリットキーボードキット

■謝辞
今回の元となる左手デバイスの作り方の基礎は、
以下の Nanoさんの日記記事に掲載されたものがきっかけになっております。
Neoさん日記「G13代替機を作った」
Neoさん情報の流用についてご快諾ありがとうございます!


■記事インデックス
 ―手デバイス(アナログスティック) なければ作ってしまえ!【自作】―
その1 ロストG13に備えて
その2 試作1号機 とにかく作ってみた
その3 試作2号機 小型版を
その4 あなたも作ってみよう、作り方編
その5 試作3号機 スティック傾けてみた
その6 操作方法を改善するときの選択肢、左手デバイスのすすめ
その7 左手デバイスの使い方、光の戦士に向けて(使いこなしの基本ノウハウ)
その8 試作4号機 薄くしてみた
その9 試作5号機 もう1つのリメイク版
その10 試作4号機の地道な改善
その11 簡単に作れる作り方編
その12 作成記事でできた6号機
その13 普段用の7号機
その14 直行配列の8号機

Commentaires (18)

Neo Trinity

Garuda (Elemental)

完成品にジョイスティック付けるアイデア、良いですね😊
さらに製作難易度下がったので、左手デバイスでお困りのヒカセンもトライし易くなりましたね!😊

Turing Hopper

Ramuh (Elemental)

ネオさん、お褒めいただきありがとうございまーす!

今回、徹底的に易しく、にこだわってみました~
はんだ付け済みキーボードキットを販売されている諸兄に感謝感謝です。


あとは、実は一番腐心したのはソフトウェアで、
 ・配信できるように 焼くだけのソフトウェアHEXファイル
 ・配信のためのサーバストレージ
 ・固定ファイルでもキーアサインを自由に変更できるよう
  VIT対応したアナログジョイスティック対応ソフトウェア

試作2号機をバラして、ハード・ソフトを組みなおしました。

Haru Yuuki

Anima (Mana)

うえええん(ノД`)・゜・。

ほっぱーさん
タスケテ~

ホッパーさんの真似して
スイッチ用のコントローラを変換基盤経由して
繋いでみたけど、コントローラの出力数値が安定しない
上下左右に荒ぶれている。。。

コントロールパネルの調整で落ち着くけど、
その代わり
左右方向は動くけど上は右上、下は左下に動いてしまうノデス

変換基盤とジョイスティックの薄いフラットケーブルをつつくと
数値が激しく変化するので、つなぎ方(固定方法?)が悪いのかな?

スティックからは5ピン、変換基盤は6ピンなので
フラットケーブルの差し方に問題があるのかなーと思います。

それとも、またスティック運がナイノカナ?

Turing Hopper

Ramuh (Elemental)

ハルさん、症状読みました~。 それはピン配置について誤っている可能性が高いかなとおもいます。

上面側から見てこんなピン配置です。配線を確認してみてみてくださいませ~

VCC
RY
SW
GND
RX

┌──────┐
└─────┐│
    ┌────────┐
    │  ────  │
    │ /    \ │
    ││      ││


Turing Hopper

Ramuh (Elemental)

例えば、VCC,GND <-> RX,RY で入れ替えると、
その症状に近い動作になりえます(特性にも依る)

ほかにもまだバリエーションあるかも。

Haru Yuuki

Anima (Mana)

ホッパーさん
ありがどぅ~(^^♪

ジョイコン、ピン配置はご指摘の通りに配線しなおしで
解決しました!

サスガデス!!


私のほうはというと

一日中作業して、仮組までして
動作チェック中に最後の難関が・・・

PROMICROでジョイコン動作確認していて
戦術の問題は解決したのですが
届いたELITE-Cにファーム焼いてみたところエラーがでます。。

続く・・・ごめんね

Haru Yuuki

Anima (Mana)

続きです <(_ _)>

エラーメッセージ
Compiling: drivers/avr/analog.c <command-line>: error: ISO C99 requires whitespace after the macro name [-Werror]
<command-line>: error: ISO C99 requires whitespace after the macro name [-Werror]
<command-line>: error: "KEYBOARD_sofle" redefined [-Werror]
<command-line>: note: this is the location of the previous definition
cc1.exe: all warnings being treated as errors
[ERRORS]

さらに続く・・<(_ _)>












Ce commentaire a été supprimé par son auteur.

Haru Yuuki

Anima (Mana)

続きです <(_ _)>

「analog.c」でエラーがでてるのかな?
ジョイコン関連と推測します

※ジョイコン関連で手直しした箇所

①ジョイコンの配線は
ジョイコン(RY)→ELITE-C(F0)
ジョイコン(XY)→ELITE-C(F1)

②「keymap.c」 は
void joystick_task(){
joystick_status.axes[0] = analogReadPin(F0)/4 - 128;
↑ここを書換
joystick_status.axes[1] = analogReadPin(F1)/4 - 128;
                    ↑ここを書換

これで動くと思ったんだけど・・・
考えが甘かった(*ノωノ)

関連するファイル項目を探してみたけど、これ以上は知識不足のため
ワカラナイです

質問ばかりですみませんが、お助けくださいませ<(_ _)>

駄質問で日記汚してすみません・・・

Turing Hopper

Ramuh (Elemental)

ハルさん、こちらで同様の手順とおもわれる以下を実施してみましたが、
特に問題なくHEXファイルを作れました。
色々いじっているうちに、思っていないところまで変更してしまっているのかも。

試しに、いまのファイルは退避して、オリジナルから手順を真似してみてください。

(1) まず、素の sofle がビルドできることを確認
  make sofle:default
(2) keymap/default フォルダをコピー。仮に「leftdevice」とする
(3) leftdeviceをビルドできることを確認
  make sofle:leftdevice

Turing Hopper

Ramuh (Elemental)

(4) 次に以下の変更を行う。
「keybords\ergo42\rules.mk」ファイルを開いて、末尾に以下を追記。
―――――
JOYSTICK_ENABLE = yes
SRC += analog.c
―――――

「keybords\ergo42\rev1\config.h」ファイルを開いて、末尾に以下を追記。
―――――
#define JOYSTICK_BUTTON_COUNT 0
#define JOYSTICK_AXES_COUNT 2
―――――

(5) leftdeviceをビルドできることを確認
  make sofle:leftdevice

Turing Hopper

Ramuh (Elemental)

(6) 次に以下の変更を行う。
「keybords\ergo42keymaps\leftdevice\keymap.c」ファイルを開いて、末尾に以下を追記。
―――――
#include "joystick.h"
#include "analog.h"

void joystick_task(){
joystick_status.axes[0] = analogReadPin(F4)/4 - 128;
joystick_status.axes[1] = analogReadPin(D4)/4 - 128;
joystick_status.status |= JS_UPDATED;
send_joystick_packet(&joystick_status);
}

(7) leftdeviceをビルドできることを確認
  make sofle:leftdevice

Turing Hopper

Ramuh (Elemental)

(8) 以下の書き換えを実施
joystick_status.axes[0] = analogReadPin(F0)/4 - 128;

(9) leftdeviceをビルドできることを確認
  make sofle:leftdevice

(10) 以下の書き換えを実施
joystick_status.axes[1] = analogReadPin(F1)/4 - 128;

(11) leftdeviceをビルドできることを確認
  make sofle:leftdevice

以上

Turing Hopper

Ramuh (Elemental)

試しに、できた HEXファイルをここに置いてあります。

https://drive.google.com/file/d/1ae1ZOrZma-JlmsDvYpq0EKDcq_J91QtJ/view?usp=sharing

Turing Hopper

Ramuh (Elemental)

あと、ライブラリ側のソースも全部環境に存在するので、
そちらを意図せず壊してしまっている可能性もあります。
どうしてもうまくいかないときは、残したいファイルを退避して
QMK環境をダウンロードしなおすのが良いかもしれません。

Haru Yuuki

Anima (Mana)

できたー(ノД`)・゜・。

私の凡ミスでした。。。


記載はしていませんでしたが
「bootloader not found」が頻出していまして、それを
治すために試行錯誤で色々いじったのが悪かったようです。

ビルドはできていましたが、書き込む際に
elite-c 基板上のリセットボタンをおしても反応がなかったので
それをsofle基板上のリセットボタンでやってみましたら
無事書き込みできました

色々な要因が重なって、原因がわからなくなってしまってました(*ノωノ)

勝手に自己解決してしまい、
親切でお優しいホッパーさんには色々と時間とお手間を取らせてしまって
ゴメンナサイ!<(_ _)>

おかげさまで、次回の作成(アルノカ?)はスムーズに行けると思います!




Turing Hopper

Ramuh (Elemental)

解決できたならよかった(^^)

あ、ドキュメントからすると、
elite-cはブートローダーは dfu なので、
焼き込み時には dfuを指定しないと上手く焼けないということが
引っかかったりしていませんか。

Haru Yuuki

Anima (Mana)

dfu でやってはいたのですが、
「ERROR: Bootloader not found. Trying again in 5s.」
これが出て、ELITE-c上のリセットボタンを押しても無反応でした

試しにsofle基板上のリセットボタンを押したら、無事書き込み出来た次第であります。

お陰様で、問題は全て解決しました!

ヨカッタヨ~(。>﹏<。)

Turing Hopper

Ramuh (Elemental)

ふむふむ、過去事例も漁ってみましたが、
ブートローダー指定が合っていないときのエラーのようですね。

まあ、上手く焼けたなら結果オーライですね(^^)

新作のご披露、たのしみにしていますね~
Écrire un commentaire
ForumsStation MogBlog officiel

Mur de la communauté

Activité récente

Il est possible de filtrer les informations afin d'en réduire le nombre affiché.
* Les annonces concernant les classements ne peuvent pas être filtrées par Monde.
* Les annonces de création d'équipe JcJ ne peuvent pas être filtrées par langue.
* Les annonces de création de compagnies libres ne peuvent pas être filtrées par langue.

Filtrer
Monde d'origine / Centre de traitement de données
Langue
Articles