hyousi

  • Home
  • 一覧
  • 雑記
  • はんだリール台スタンド作った

     はんだって何使ってますか?
     私はhakkoの0.6mmを使用しています。150gといっぱい量があるから購入頻度少なく済むというどうでもいい理由です。自作キーボードキットのはんだづけとかだと0.8の方が使いやすいと思うのですけどsmd部品の実装どか考えると太すぎるので0.6という感じです。
     メーカーによって溶かした時の臭いとか違いますよね。

     最近使い切って新しいのを買ったのですが、重くて引き出しづらい、、、のではんだスタンドを作りました。
     そもそも私はあってもなくても変わらないからはんだリール台要らないだろ派だったのですけど、残量が減っていて引き出しやすいからだったというわけです。
     なるほど重いから台が必要、市販の台ってごつくて500gとかの載せる用ですもんね。逆にこの150gのに使うと場所取るだけで無駄であります。

     ただ台が欲しくなっただけなのでfusionでテキトウに作ります。
     場所は取りたくないのでコンパクトに。
     そんな重い量ではないので、浮かせる必要はありません。むしろ浮かせない方がスムーズかな?箱の中でただ回る感じです。
     引き出し穴は下からの方が使いやすいと思っています。

     これだけでもいいのですが、はんだの巻取り動作がだるく思っています。棒をぶっ刺してぐりぐり回せるようにしました。縮めて突っ込んで蓋をして広げればいいかなと思います。

     A1miniで印刷

     滑り止め張って完成
     スムーズに引き出せ、スムーズに巻き取れていい感じです。

     完成度とか全く考えてない拙速ですがファイル投げておきます。


  • [自キ]磁気キーボードを作りたい。3週目

     進捗ダイジェスト3週目

    温度特性

     zenaimさんとかはサーミスタ積んで温度補償していますとウリにしていますよね。他のキーボードでは都度キャリブレーションを行うからokのような感じもあります。
     とにかく温度特性の取得と補償するかどうかは考えなくてはなりません。雑に想像するに常温~高くても40度はいかないだろうと想像しますがどうなんでしょ。

     冷凍庫に放り込んだりヒーターを当てたりしながら、ホールセンサ及びスイッチのADC読み取り値時間変化を見てみたりしたのですが、、変わったり変わらなかったりなんもわからんとなったのでそのうちリベンジしたいと思います。

     とはいえ恒温槽なんてないし、そもそもどこの温度を見るのか?ホールセンサならまだしもスイッチの中にある磁石に熱電対を当てることはできません。熱電対持ってないし。
     何ともめんどくさそうな気がしているうえに最悪無視してもいいんじゃねという気がしています。
     たとえばcal時のtop値と温度を保存しておいて、毎度top値に対してオフセットなりするだけでも良かったりしないかとか。

     宿題です

    ホールセンサ出力-押下量特性の取得

     マイクロメータヘッドを買いました。使用用途が数式立てるためだけで、これしか使わないのでもったいないのですが必要だったので仕方なし。ところで磁力を測るのに使用するのはマイクロメータヘッドでよいんでしょうか。
     買ったはいいもののマイクロメータ以外が何もないので急ごしらえな感じでいったん雑測定します。手元の範囲でもうちょい道具揃ったら再測定します。

     最押し込みから0.05mm step, 7000点程度ADC値を取得し、平均とばらつきを見ています。ちまちま手動でマイクロメータを回し測っていきます。
     底と天井のところは測定系とか色々適当なので裾引いていると思っていて、基本的には正規分布に沿っているとみてよいかなと思います。そうでなければ困る
     平均を読み取り値として採用し、rangeがばらつき幅、6*stdが上下端切り落としたばらつき幅としました。外れ値らしい外れ値はないですが

     L45測定値の平均値らを取り出し、底からの変位量でプロットしてみました。
     averageを見ると距離に対して反比例のようなグラフをしています。底付近の方が磁力の減衰が少ないので高感度に傾きをとれています。
     rangeとstdはおよそ一定で変化しています。距離、磁力に寄らずばらつきは一定とみてよさそうです。またこの測定環境においては、ADC読み取り値のばらつき幅は平均で36程度あり、電圧にして36/4095*3.3=0.03V程度幅を持っています。この幅分以下の値はふらふらばらつくので設定できないということですね。ぱっと思いつくのはホールセンサ出力にフィルタ入れたり、安定度の高いマイコンボードを使い対策とかでしょうか?

     左軸青はADC読み取り値、右軸燈は0.05mmの変位量でADC読み取り値がどれだけ変化するか(感度)を表しています。ADC値/stepに変換しています
     底からの変位0付近では0.05mmを変位させるとADC読み取り値は35程度変化します。閾値0.05mmを実現しようとしたとき、ばらつきが前後35以内に収まっていれば誤動作が起きなさそうでしょうか。
     底からの変位2mm付近の中央では10程度の感度です。
     天井付近では感度が3程度です。0.05mmを実現するためにはばらつきを3に抑えたいです。この時ばらつき36ですから無理ですね。

     平均ばらつき度36であることから、ADC感度→どれだけ変位距離がぶれるのかをプロットしました。これから、底付近と天付近ではばらつきのインパクトが異なり底の方がばらつきによる必要なマージンは小さいです。
     例えば底から2mmの位置で固定しているにもかかわらず、読み取り値が上下に0.1mm分ふらふらとばらつくことを示しています。そのためラピトリ値はこれより大きくしないと動かしていないのにon, offが勝手に入力されてしまいます。

     このpicoでただ読み取るだけの環境では最悪値である上下0.35のマージンを入れた精度であればラピトリを実装できそうです。それくらいでも実用には問題ない気もします。現在ホールセンサにdrv5053を使用していますが、これをdrv5056にするだけで分解能分で倍はよくなりますから、加えてばらつきを抑えてやれば0.1の精度は特別なことをしなくても実現できそうな気がしてきました。

    モデル式検討

     モデル化というと仰々しいですが、2次の関数と連立方程式だけなので大したことなさそう。磁力⇔変位変換は非常に簡単な話であります。

     先ほどのL45と同様に0.05mmずつボトムアウトから刻みホールセンサ出力を測定、をKOM, ZEN, JadeGamingの4種のスイッチについて行いまいした。この結果からスイッチのオンオフ判定やキャリブレーションに使用するためのモデル式を検討します。
     余談ですが、ZENAIMのスイッチは極性がKS-20と同じN極下なので、プレートにちょっと細工すれば同様に使用できます。ただ磁力がKS20互換らより強いので、モノによってはホールセンサの検知範囲から外れてしまうかもしれません。私はZENスイッチにも対応できるように作りたいと思っています。

     まずはどのような式にするのか決定する必要があります。ホールセンサはデータシートを見るとわかるように、磁束密度Bの変化に対してリニアに電圧値に変換され出力されます。
     またこの比例定数は各ホールセンサの感度がデータシートに乗っていますからそれを参照します。drv5053caであれば[+23mV/mT]と記載があります。スイッチのスペックには基本的にガウス[Gs]で表記されていますが1mT=10Gsなので[+230mV/Gs]です。

    $$ B\mbox(磁力) \propto Vout\mbox(ホールセンサ出力) $$

     磁気スイッチのスペックなど見るとわかりますが磁束密度がそのままある位置における磁力の強さとして扱われているので、磁力と呼んでしまいます。
     この磁力をホールセンサで電圧に変換し、それをマイコンのADCによって読み取った値を処理します。現在picoを使用してますが、ADCでは読み取った電圧を0~3.3Vの範囲を0~4095の12bitに変換し読み取りを行います。例えばADCで2000という値を読み取った場合ホールセンサの出力電圧は以下になります。

    $$ Vout[V] = \frac{2000}{4095} * 3.3[V] = 1.6[V] $$

     ですから当然ADC読み取り値も磁力に比例しています。

    $$ B\mbox(磁力) \propto ADC $$

     マイコンで読み取る値と磁力の関係がわかりましたので、スイッチの変位との関係も見てみます。
     磁力と距離の関係を調べてみると、どうやら磁力は距離の二乗に反比例するようです。ホールセンサは磁力に対してリニアですが、肝心の距離特性はそうでないようです。めんどくさい、、
     磁極のローレンツ力の式というのがあり下記のように表されるようです。磁極からの距離rの二乗に反比例しています。またベクトル量ですから傾くと磁力が変化するようです。スイッチを傾かせずに押し下げ、その直線状にホールセンサが水平に置かれることが理想というわけですね。

    $$ B=\frac{\mu q_m}{4 \pi r^3}\overrightarrow{r} $$

     スイッチの距離を磁力として取り出したいだけなので電磁気学なんて知ったこっちゃないです。とにかく下記のように表せるようです。

    $$ B\mbox(磁力) \propto \frac{1}{r(磁極からの距離)^2} $$

     ここで私がキャリブレーション時に使用できる距離という値は、スイッチのストロークだけとなります。磁極からの距離を想定したときに、基板の厚み、基板からスイッチ底までの距離、スイッチ底から磁石までの距離とよくわかりません。

     とりあえず今回測定したように、スイッチ底打ちからの変位量を d [mm] としましょう。ストローク4mmのスイッチとすると、dは0~4の値を取ることになります。0の時ボトムアウトで、4の時トップアウトの状態になります。
     また、モデル式に必要な磁極からの距離rというものを仮定して、そのための補正値を d0 [mm] と置きましょう。磁極からの距離を以下とします。

    $$ \mbox{(磁極距離)} r = \mbox{(変位量)} d + \mbox{(補正値)}d_0 $$

     実際に計算に使用したいのはADC読み取り値と変位量dですから、上の式にそれぞれ代入してみます。

    $$ (B \propto ) ADC \propto \frac{1}{( d + d_0 )^2} ( =\frac{1}{r^2}) $$

     多項式となると面倒ですが、この式を使えればとても簡単です。きっとそうに違いない。
     比例定数a, 切片bとして、以下の式をモデルとして想定してみます。シンプルな一次式です。

    $$ y=ax+b, (y=ADC, x=\frac{1}{( d + d_0 )^2} ) $$

     また定数a, bについて考えると、傾きが大きいほど磁力が強くなるということですからaは磁石の磁力の強さを表していそうです。
     bはx=0つまり磁極距離が無限大、スイッチが装着されていない何も検知していない状態ですから磁力0をホールセンサで読み取った値となりそうです。

    実測から近似式

     実際に実測値から近似式を作成し、モデル化を試みます。d0という便利な謎の補正値が吸収してくれるので、この時の変位量(0.005, 0.01, …)刻み幅がちゃんとしてればなんでもよいです。
     今回初めて知りましたがエクセルは線形近似式をセルに打ち出せるのですね。[SLOPE()][INTERCEPT()]という関数を使用しa, bが求まります。
     最小二乗法で線形近似式に実測をフィッティングしd0の値を得ます。グラフを見ると、いい感じにモデルに合っていそうです。

    $$ y=a\frac{1}{( d + d_0 )^2}+b=\frac{10847}{( d + 2.88 )^2}+1221 $$

     L45同様にKOM, ZEN, JGにも実施し近似式を求めました。近似式を求め使用することで、それぞれ異なるストロークと謎の磁極距離という問題が解消されます。任意のr=d+d0を代入すればよいですからね。

     KS-20互換と呼ばれるスイッチは互換とはいうもののストロークも磁極距離も磁力もそれぞれ違うんだよなあと思いますが、こう見ると比較的似たような位置にいますね。ZENAIMスイッチは2倍ほど磁石自体の磁力強いことがわかります。これは実測だけでは磁極距離が含まれていないため正確にはわからないところです。ざっくりはわかりますけども。

     余談ですがそれがユーザーにとり最適化はわかりませんが、ZENスイッチは非常に都合が良く素晴らしいと思います。磁力が強くSNが高い、ショートストロークで感度の高い場所のみを使える、種類がないため単純なキャリブレーションでよい。実のところZENスイッチであれば二乗に反比例などといわず、細かい変位におけるズレを妥協し線形近似してしまっても使う分には困らないし気づかないと思うのですよ。
     以下はZENスイッチのADC / d特性ですが、距離二乗反比例だとしても、ほぼほぼ真っすぐじゃないですか?リニアですと言っても困らないと思う。

     予定ですが、ロングストロークによる感度の悪化をデュアルセンサー化して解決しようかなと空想の中では思っていたりします。市販されている中ではまだないので他人から見て少し面白いかなと思ったり。

    近似式からモデル式

     得られた近似式では各スイッチについてのプロファイルにしかなりませんのでどのスイッチでもキャリブレーションできるように仮定したモデル式に一般化しましょう。

     近似式の結果を踏まえてモデル式を少し整えます。切片bは4つのスイッチで似たような数値を取り、これはおよそ磁力0の時のADC値1V/3.3V*4095=1240に近い値を取っています。ほぼほぼそうだろうということでこれをbとします。また切片のあるグラフでは見づらいので左辺に移項しておきます。またb→y0と呼び名を変更します。

    $$ Y=y-y_0=\frac{a}{( d + d_0 )^2}=aX $$

     変数定数について整理しておきます。

    d底からのスイッチストローク量[mm]
    d0磁極距離rの補正値[mm]
    rd+d0磁極距離(理論式の磁石-ホールセンサ距離)[mm]
    X(1/r)^2モデル式の横軸[mm^-2]
    yADC0~4095のADC読み取り値
    y0磁力0の時のADC読み取り値
    Yy-y0モデル式の縦軸ADC
    aモデル式の傾き、磁力の強さ

     キャリブレーションを実施することでモデル式から定数を決定し、y⇔dの相互変換を可能にする必要があります。

    • スイッチを押したり離したりすることでボトムアウトおよびトップアウトでのADC値、y1, y2を得ることができます。

    $$ y1=ADC_{bottom} $$

    $$ y2=ADC_{top} $$

    • スイッチのストロークを入力することでボトムアウトおよびトップアウトでの変位量、d1, d2を得ることができます。d1は底ですから0mm, d2はトップなのでストローク値になります。

    $$ d1=0 $$

    $$ d2=Stroke $$

     これを代入し連立方程式を立てます。

    \[ \begin{cases} y_1-y_0=\frac{a}{( d1 + d_0 )^2}=\frac{a}{( d_0 )^2}・・・① \\ y_2-y_0=\frac{a}{( d2 + d_0 )^2}・・・② \end{cases} \]

     ①よりd0が求まります

    $$ d_0= \sqrt{\frac{a}{y_1-y_0}} $$

     ①-②よりaが求まります。

    $$ y_1-y_2=a((\frac{1}{d_0})^2-(\frac{1}{d_2-d_0})^2) $$

    $$ a=\frac{y_1-y_2}{((\frac{1}{d_0})^2-(\frac{1}{d_2-d_0})^2)} $$

     よってキャリブレーションを実施し、y1, y2, d2を入力することでモデル式を使用できるようになります。

     実際にラピトリ制御する際は、単純に考えるとまずADC値を読み取り初期位置を算出、そこからラピトリ設定値をoff状態なら-、on状態なら+し、そこからトリガーとなるADC値を算出する感じでしょうか。
     初期値をD, Y、ラピトリ設定距離をRとします。

    $$ d(初期値)=D $$

    $$ y(初期値)=Y $$

    $$ R(ラピトリ設定値) $$

     ADC初期値を入力し初期位置を取り出します

    $$ Y-y_0=\frac{a}{(D-d_0)^2} $$

    $$ D=\sqrt{\frac{a}{Y-y_0}}-d_0 $$

     次のトリガーとなる判定位置をD’とすると

    $$ D’=D±R $$

     d=D’が次のトリガーとなるADC読み取り値となる。

    $$ Y=\frac{a}{(D’-d_0)^2}+y_0=\frac{a}{(D±R-d_0)^2}+y_0 $$

    宿題

     とりあえず磁力⇔ストローク量変換ができるようになったと思う。あとは部材とどいたら実測詰めていい感じにしていきたい。
     温特をどうにかする。
     ADC値のばらつき問題。フィルター入れたりマイコン変えたりしてみる。
     したっけ実装に入っていく。


  • [自キ]磁気キーボードを作りたい。2週目

     進捗ダイジェスト2週目

    磁力と距離

     picoにつないだだけの同じもので距離特性をざっくり測ってみます。
     前回は感度45V/Tのdrv5053eaを使用しましたが、今回は感度が半分の23V/Tのcaホールセンサを使用します。なおこれも範囲をカバーできていないのでもっと感度低いものが必要です。
     通常基板からプレートトップの距離が5mmなので、1.6mm基板+3.5mmスペーサのところですが、磁力範囲をカバーするため4mmスペーサを使用しています。

     距離を測る機器がないため、スイッチを押していないニュートラルな状態と押し込んだ、ニュートラルな状態から-4mmの状態での平均ADC読み取り値を記録します。
     またスイッチ下に1.6mm基板をスペーサとして敷いていき、4回繰り返しました。4mmスペーサで押し込んだ状態を0としています。

     この0mmの状態で、およそホールセンサから距離が2mm開いているのでオフセット値を加えグラフにしてみます。雑計測なのであまりなめらかでないですね。

     ググってみると磁力は距離の二乗に反比例するそうです。ぱっと見反比例のグラフなのでそんな感じがします。ホールセンサは磁力に対してリニアに電圧が変化し出力されますが、肝心の磁力が距離に対してリニアではないのですね。
     押していない付近と押し込んだ付近とで感度が違います。同じ1.6mmの移動でも、2 – 3.6mmの移動量でADCは350変動していますが、3.2 – 4.8mmでは95しか変動しません。
     SOCD機能がある以上、fpsでの挙動においてニュートラルから押し込む動作の精度が重要に思いますが、磁力の強い押し込んだ付近の方が高精度にとれるのですね。

     磁力は距離の二乗に反比例するということなのでどうなのか見てみます。

     それっぽさがあります。そもそもここで採用している距離というのがデタラメ(センサと磁石の距離こんな感じだよね)なので、補正値を二乗平均平方根誤差最小になるやつで求めてみます。

     それっぽい感じがします。この近似式にホールセンサ読み取り値を入れれば押し込み量が求めて、press releaseの判定を処理できそうです。
     何も考えていないので、もう少し正確に計測出来るようになったらモデルを検討したいですが、なんとなく押下量min, maxでの磁力を測定し、スイッチのストロークを入力すれば各スイッチに対応したキャリブレーションができそうな感じがしています。どうなんでしょう。その場合精度は筐体やスイッチの工作精度や軸ブレ量次第にはなりそうです。

     またこの近似式から各距離での検出磁力もホールセンサの感度を入れることで推定できますね。L45はスペックが良くわからないので何も答え合わせできませんですけど

    picoのスキャン速度

     とりあえずpicoで1000回ADC読んでその時間と平均値を出してみました。picoのクロックを設定できるようなのでいくつか試してみました。

    const int numSamples = 1000;
    long sumA0 = 0;
    int sampleCount = 0;
    
    void setup() {
      Serial.begin(2000000);  // 高速シリアル通信
      analogReadResolution(12);  // 12ビットADC
    }
    
    void loop() {
      // 1回A0を読む
      int value = analogRead(A0);
      sumA0 += value;
      sampleCount++;
    
      // 1000回読み取ったら出力
      if (sampleCount >= numSamples) {
        int averageA0 = sumA0 / numSamples;
    
        Serial.print("time,");
        Serial.print(micros());
        Serial.print(",A0,");
        Serial.println(averageA0);
    
        // リセットして次の1000サンプルへ
        sumA0 = 0;
        sampleCount = 0;
      }
    }
    

     クロック250MHzに設定した1ms間に250回ほど読み取れるようです。単純に50キーのキーがついてるとして1msに50回です。物足りなさは感じます。

     A0ピンだけでなくA1ピンも加えて、2つのピンから読み取るようにして同じように計算してみました。

     A0とA1の分があるので読み取っているキー数はこれの2倍となります。A0のみから読み取るのよりも遅くなってしまっていますね。

     picoのデータシートp.557にADCのサンプルレートは500kHzで1基搭載し4つのADC入力とマルチプレクサで接続されていることが書かれています。

     ADCは1基しか搭載していないので2ピン読み取らせるとむしろMUXの切り替え時間とかで遅くなってしまっている感じでしょうか。もし仮に1ピンあたり500kHz出たとしても50キーあると10kHzですからpicoではADCの搭載数、サンプルレートともに磁気キーボードを作るうえでは足らないのかなと思ったり。プロトタイプなら全然よさそうですが

    マルチプレクサ

     16チャネルのマルチプレクサ CD74HC4067SM96 の動作を確認します。
     市販の磁気キーボードには大抵MUXが乗っておりADCピン数を拡張しています。マイコンにADCピンが60個とかついてないですものね。CD74HC4067SM96は一つで16個のADCピンを拡張できます。

     S0~S3でP0~P15のどのピンから読み取るか指定し、dataピンからマイコンに指定したピンのADC出力が読み取れる感じの部品です。今回は抵抗で分圧して電圧値読み取れるか試してみました。

    // セレクトピンの定義
    const int S0 = 0;
    const int S1 = 1;
    const int S2 = 2;
    const int S3 = 3;
    
    // ADCピン
    const int adcPin = A0; // GP26 = ADC0
    
    // 読み取るチャンネル(P0〜P3)
    const int channels[] = {0, 1, 2, 3};
    const int numChannels = sizeof(channels) / sizeof(channels[0]);
    //int型は4バイトchannnel配列は4要素計16バイト、channnell0は1要素4バイト、16/4=4要素らしい
    
    void setup() {
      Serial.begin(200000);
    
      // セレクトピンを出力として設定
      pinMode(S0, OUTPUT);
      pinMode(S1, OUTPUT);
      pinMode(S2, OUTPUT);
      pinMode(S3, OUTPUT);
    
      // ADCピンの初期化(Arduino環境では特に不要なこともあります)
      analogReadResolution(12); // Picoでは12bit ADC(0〜4095)
    }
    
    void loop() {
      for (int i = 0; i < numChannels; i++) {
        setMuxChannel(channels[i]);          // MUXのチャンネルを設定
        delay(10);                            // セットアップ時間待ち
        int adcValue = analogRead(adcPin);   // ADCから読み取る
        Serial.print("P");
        Serial.print(channels[i]);
        Serial.print(", ");
        Serial.println(adcValue);
        delay(500); // 待機
      }
    }
    
    // マルチプレクサのチャンネルを選択する関数
    void setMuxChannel(int channel) {
      digitalWrite(S0, bitRead(channel, 0));
      digitalWrite(S1, bitRead(channel, 1));
      digitalWrite(S2, bitRead(channel, 2));
      digitalWrite(S3, bitRead(channel, 3));
    }
    //bitreadでchannnelという引数に渡された値の、何ビット目の値を出すらしい

     問題無く読みとれていそうです。使う分には sピンで指定→読み取り だけで難しいことはなさそうです。またenableピンもついているので、mux個数分のioピンを用意すればこんかいのpicoのようにADCが1基のみの搭載でも同じADCピンに複数のMUXを接続することができるようです。

     速度とか切り替えとかノイズとかも次にpicoやオシロで確認したいです。

    部品調達

     何も知らない何も考えてないで始めているので、どれも性能が足りていないことがわかりました。
     使える部品を買い足したいところです。

     まずスイッチがL45が数個あるだけ状態なので、定番品を入手しておきたいところです。磁気キーボード関連何も知らないので何買えばいいのかもわからない、、
     少し調べてみると、ストロークだけでなく磁力も公開されているものが多いのですね。例komとjadepro

     gateronなどはデータシート自体公開しているようでしたが、あまり欲しい情報は得られませんでした。基本的にはストロークと1.2mm pcbでのtop, bottomでの磁力だけのようです。
     本当に何も知らないのでks-20互換というのは本当に互換なのだと思っていましたが、磁力、磁石との距離、ストローク、どれもまちまちなのですね。まあ互換といっているのも名目上はユーザーなのでしょうけど。ks20互換が意味するのは極性とMXタイプであることぐらいなのですね。

     磁気スイッチの種類というのもめちゃくちゃ多いそうで、わけわからん状態なのですが1年後も使用され続けていそうなものを何種類か見繕いたいところです。

     drv5053caの23mV/mTより感度の低いホールセンサを調達したい。また5053は出力が0-2v固定なのでもっと広く見れるものが良いかなと思いました。その分細かく見れますものね。↑のように磁気スイッチは1.2mmpcbとして700Gs=70mTは最低でも見れなくてはならないですね。適当に調べてみた感じ候補はこんな感じでしょうか。基本的にはよく見る3端子のもので、スリープ機能付きのものは6端子です。

     drv5053caは350Gsまでしか見れないのですが、今回L45を0.4mm程度浮かせると振り切ることなく計測できていました。L45のスペックがどんなものかはわからないですが、距離^-2というのは感度が極端に変わりすぎてめんどくさいなあと思います、
     5053他は与えた電源と同じレンジで出力が見れるものと思います。また5056は片方の極性しか見ないため、倍細かく見れそうです。
     スリープ機能付きのものは、ioピンこそたくさん必要ですが、MUXなしでオンオフ制御できそうです。どちらがいいのかは何んともわかりませんが、売っているので検討はしたいなと思います。計測範囲ちょっと狭いのですけどね。その話で行くともっといろいろホールセンサもラインナップはあるはずで、個人だとまず部品の選択肢から狭いのはきついなと感じます。

     マイコンボードももっと高性能なものを使用したいところです。実際に使うにあたりどの程度のADC基数、sps、クロックが必要なのかは見ておく必要があります。ai君に調べてもらうとstm32がよさそうです。

     市販品は8k当然な感じですがnucleoボードはUSB2.0対応のものはないそうです。でもteensy4とか高いのでnucleoボードでいったん試してみようかという感じ。そもそも8kHz必要なのかという話でもあります。

     正確に押下量も取りたいのでマイクロメータもあったほうがよさそうです。mitutoyoのmhn2-25mxとかこういう感じでしょうか。どこまで正確にできるのやらとは思いますがたかがスイッチを押すだけに仰々しい設備導入とかとも思うのでこれくらいがちょうどよいとは思うけれどどうしたもんか

     なんもわからなくても何もしないでもai君がarduinoコード出してくれるので楽なものですね。
     もうちょいい環境整えて、具体的な話をしていきたい。


  • 天下一キーボードわいわい会 Vol.8 行ってきた

     2025年5月4日天キーvol8に行ってきました。気になったものなどぱっと振り返ります。

     以前参加した際は駅から歩く上に入り口もよくわからないということがありましたが、南北線で行きましょうね!今回は駅から直通で楽ちんでした。

     どなたの展示かわからっていないのであとから調べてわからなかったものもありますがご了承ください。敬称略ごめんなさい。

    awekeys

     金属製キーキャップを販売しているawekeysさんの展示
     cerakeyとかは結構重たいなとか思った記憶がありますが、案外軽量でした。

     白銅で成形され、各種金属コーティングを施しレーザー印字しているそうです。ベースキットは3色ほどありました。価格はなかなかするので富豪向けですね。absもPBTも使っているとテカってくることは防げないので表面が変わらないのはいいかもですね。

     ワンポイントの元素別キーキャップもありました。金属ごとに合った表面加工をしているそうで、ぴかぴかだったりマットだったりしています。きれいでした。

    Libertouch

     Libertouchさんの展示。高級メンブレンキーボードです。
     メンブレンとはいうものの打鍵感は優れており、底打ち感が異なりますが静電容量系の感じでした。こちらes限定版とのことで削り出しケースにフォーム、プレートとこだわり生産されたものでかなり良かったです。予約が開始されていましたが8万円とのことで、貯金0の私は予約すること敵いませんでしたが、余裕のある方是非お勧めです。
     キーマップカスタマイズはソフトウェアが開発されていたりキーキャップも十字で好きなものを取り付けられるそうです。

     スイッチサンプル。メンブレンは接点スイッチなので装着しM互換として使用できるアダプタがあったり。
     荷重の異なるラバーや、ラバーの代わりにばねを使用したリニア軸と4種類ありました。

    zenaim

     zenaimさんの展示。60%はもうそろそろ発売でしょうか。テープアウトはしていそうです。usbは左側になったんですね。かなり見た目はよさげ

     zenaimはかなりガチャガチャいいますからフィードバックも多かったのでしょうか。ハーフガスケットマウントを検討されているそう。ガスケットの位置や硬さなど自在に調整できると説明を受けましたが社内向けなのか、もしリリースされるとしてユーザーが分解し、カスタムできるようにするのか気になりますね。感触としては適度にアコースティックに吸収してくれる感じで、強く打鍵しても手が痛くなりにくそうです。
     正直打鍵感音がよいと言われる中華系も値段帯問わず大抵ガチャガチャしてますからzenaimばかりそういわれるのも不憫だなとは思いますが。

     アケコン。筐体は結構ごつく、分厚いです。こちらはまだ先でしょうか?スイッチモジュールはたしか4ピンコネクタでした。詳しくは聞きませんでしたがどういう感じなんでしょうね。

     磁気キーボード開発に関していろいろ質問してきました。まっとうなものづくりの視点から多くの意見をうかがうことができました。これからのzenaimの展開などもお聞き出来てよかったです。
     まっとうな磁気キーボードですから買いたい気持ちは大いにあるのですがいかんせん高級でお金がないので買えないのが申し訳ない限りです。

    moimate

     moimateさんのマイクロスイッチアケコン。
     こちらはソケット非対応でホットスワップはできないそうです。クリック感はよくブレもないので、スイッチ周りしっかり設計されているなという印象でした。

    ワーカホリック

     ワーカホリックさんの展示。いろんな椅子を試すことができる有料サービスのお店だそうです。予約が埋まり切っているとか。
     会場にはオカムラバロンとエルゴヒューマンがありました。これらは座ったことがなかったのでコンシェルジュしてもらいました。
     バロンは結構ガシッと体を固定してくる感じですね。薄めの座面とメッシュの背もたれとで全体的に強い張りがあります。仕事用だとアーロンが有名ですが、こちらもかなりいい姿勢で固定でき長時間働けそうです。逆に崩した使用はちょっと向かないかも?
     エルゴヒューマンはでかい人向けという印象があったのですが、座ってみるとそういった印象は感じませんでした。勘違いしていたよう。全面メッシュで包み込んでくれます。オットもあり、また全体的に広く余裕があるので、ゲーミングチェア的な柔軟な使い方をするには向いているなと感じました。
     どちらもリクライニングにアームレストがついてくるタイプだったり、リクライニング時の座面の連動の仕方が異なり(バロンはほぼ動かず、エルゴヒューマンは一緒に傾く)普段と異なり面白かったです。
     買う買わないでなく椅子をコンシェルジュするサービスなので、買う気がなくてもワーカホリック行って各社の椅子を体験するのは有意義そうです。2時間3300円だそうで安いしこれは言って損することはないですね。予約いっぱいだそうですけど機会があったら行きたい

    さびねこ

     さびねこさんの展示。Nooir Nolandというキーボード、キーボードが浮いていてなんかとてもすごかった。お高いようです。

    ℝ𝕆𝕄コッポラ

     ℝ𝕆𝕄コッポラさんの展示 SeaOtter Keyboard
     めちゃくちゃきれいな造形でした。キーボードとしても動作するというのでなおすごいです。

    せきごん

     せきごんさんの展示。キーボード自動生成できてしまうauto kdk、すごかった
     usbが3つついているのなんでなんだろうと漠然と思っていたのでお聞きしましたが、左右共用にしながら左右間通信を、どちらからでも出せるようにするためだそうでした。言われてみればそうである。usbコネクタと左右間コネクタの位置関係など自由に選択できないと困りますね。
     まだリリースされていないそうですがトラックボールがとてもよかったです。トラックボールついているキーボードでしっくりくるものが少ないのですが、こちらかなり良かったです。リリースされたらトラックボールキーボードデビューしてみようかしら。
     制御ボードとセンサーモジュールを購入し、あとは基板とケースをデータ発注するだけですからほんとすごいですよね。設計試作コストを考えるとautokdk安すぎます。

    yohe

     yoheさんの展示。corne用の円形のケース。こういうの回せば自在にチルトテントできるのでいいですよね。hutaもfdm製ながらスムーズに開閉出来て感動しました。

    mass

     massさんの展示。omnonというトラボとジョイスティックを搭載したデバイス。触った感触がとてもよく、とても完成度高かったです。他にない構成ですが、どのような割り当てをして使用しているのか気になります。

    jezail funder

     jezail funderさんの展示。cornixというcorne系譜の配列をしたキーボード。背面にデフォルトでテントスタンドがついており、非常にスマートです。テント角度は段階で調整可能でした。chocv2のキーキャップは自社製のようです。

    takashicompany

     takashicompanyさんの展示。キースイッチが出てくるガチャガチャが!こういう趣向も面白いですね。

    ai03

     ai03さんの展示 photon
     以前天キー参加したときがお披露目で触った記憶ですが、無駄な響きがなくほんとに素晴らしいです。送料高く予約しなかったのですが、いつか手に入れたいと思ってはいます。

    ぴろりどん

     ぴろりどんさんの展示
     とても美しい外見をしていました。追加のタクトスイッチ?マイクロスイッチ?の押し心地が良かったです。
     奥のeditor50というキーボードはコンパクトながら多機能でイケメンでした。

    ちぃな

     ちぃなさんの展示 Childhood’s End
     ロウスタッガード+アリスの配列のようです。とても手の馴染みよく、いいなと感じました。デスクにとり奥行き方向は制約がないことが多いですからスペース的デメリットも少ないです。参考にさせていただきたく思います。
    https://zenn.dev/cheena_gb/articles/5804348b47bc4a

    ラッタッタ

     ラッタッタさんの展示 tome2
     無線分割でケースはアルミ削り出しです。このコンパクトさめちゃくちゃいい。アルミケースも無線もやったことないですが、このコンパクトさには惹かれ、自分も無線やりたくなってきます。

     On Any Banana Day
     狭ピッチです。40%ですが配列は大西配列を想定しているよう。こちらもコンパクト

    Mogma Products

     Mogma Productsさんの展示。Dottie FlipFlowという折りたためるキーボードです。左右間どうつながっているんだろうと思いましたが、中をケーブルが通っているんですね。ぱっと見わからなくて疑問に思いました。とても丁寧に作られています。3dpパーツですごい滑らかなヒンジを作製されています

    Pentronic Lab.

     Pentronic Lab.産の展示。Taclick-TKLというタクトスイッチでできたキーボード。基板の密度がすごいです。はんだ付けがとても大変だ!アルミと木の削り出しケースがありました。木製は軽くてよいですね。

    かよいじ

     かよいじさんの展示。手配線の立体配列キーボードです。

    こちらはコントローラーやハンドルのように握りこみ使用する形状。デスクの上にとらわれず膝の上などで使用できるそう。

     こちらは手前に握りこむように入力できる行があります。どのようなキーを割り振っているのか聞いてみたところ記号等割り振っているそうで、横に伸ばさずにかつコンパクトな運指でデフォルトキーをカバーできるようにしており、その思想には共感できます。

    トラックボールつき左手デバイス

     すみませんどなたの作品かわかりませんでしたがcad等で使用できる左手デバイスです。これ使いこなしたらアプリケーション入力これ一つで完結できそうなポテンシャルがありそうです。

    dotting dots

     dotting dotsさんの展示。非常に美しいデザインの作品で意匠が凝っています。様々なエンコーダを置いてあり、それぞれの特徴などお聞きし勉強になりました。

    いと

     いと産の展示。VRHMDのコントローラーのようなタイプのキーボードです。例えばディスプレイ搭載ゴーグル等用いて机に向かわずにPC作業が完結できるような夢のあるデバイスです。試作段階とのことでしたが指周りの馴染みはよかったです。左右の手での複合操作で文字入力を行う想定で、慣れが必要そうです。

    パレットシステム よっぴ

     パレットシステム よっぴさんの展示。赤外線通信のキーボード。奥側にレシーバーがあります。露出している小さなicと赤外線のこの小さな基盤だけで制御できるそうで、キーボード側の点数がすごいコンパクトです。赤外線通信のお話も聞けて面白かったです。

     kailhの超薄型スイッチのキーボードをさらに薄く仕上げるというめちゃくちゃ薄いキーボード。実際に見るととても驚きます。打鍵感も悪くなく、結構いい感じなのですが、国内取り扱いがなく入手性が厳しいようで、どうにかはやってほしいですね。

    おわり

     久しぶりにキーボードイベントに参加しましたが、とても面白く勉強になりました。トラックボール分割無線の流行がすごいですね。その次にローすたっガードのスタンダードなタイプのキーボード展示が多く、ここら辺が大勢なのかなという感じがしました。
     ユニークな作品も見ることができて、とても刺激になりました。
     企業はリベルタッチとzenaimが印象的でした。zenaimさんは直接お話うかがえることそうないと思うのでいい機会でした。
     天キー全体でいうと、めちゃくちゃ人多かったです。会場内を順繰りに見ようということができず、練り歩きながら隙間を覗くような感じでしたので、全部見たつもりではいますが見逃している展示もあったかもしれません。
     半分抽選目当てで参加しているのですが今回は当たりませんでした残念!

    天キーは最終的にこぼれるとはいえチケット競争は起きないしキーボード好きだぜって人は積極的に参加するといいと思います。抽選でなんか当たるかもだし。作家さんや企業の方とゆっくりお話しする機会って他にないですしね。

  • [自キ]磁気キーボードを作りたい。1週目

    ちょこちょこ進捗をまとめたいなと思います。
    完全無知状態なので見れた内容ではないダイジェストですがひとしきり終わったら備忘録を別途作成したいですね。

    磁気キーボードを作りたい

     こういうゲーミングキーボードが欲しいので基板を起こして作ろうと思うと、曲面だとfpc基板で作らなければなりません。しかしホットスワップソケットではどんなにうまく固定したとしてもキーの抜き差しで破損の不安があります。
     自分用なら手配線で作ってしまえば一日とかからずできてしまうのではありますが、そこは別の話ということで。

     というところでちょっとめんどくさいなと思っていたのですが、磁気キーボードはスイッチと基板とが非接触で入力を行うことができます。上記のようなリスクとは無縁というわけです。おまけに磁気キーボード用のスイッチはKS-20と規格化されたスイッチがたくさん販売されています。

     ラピトリで精度が0.01mmでとかはちょっとよくわからないのですが、こうした立体形状のキーボードには非接触入力できる方式があっており、丁度磁気スイッチが入手性もよく、マッチしているので作りたいなと思った次第です。
     目標としては自分用に磁気スイッチのゲーミングキーボードを作る。自分用でいいのでarduinoを使ってサクッと作りたいなと思っています。

    ホールセンサ

     digikeyでホールセンサについて調べてみます。

    リニア、コンパス(IC)- digikey

     x,y,z軸あって最大3軸検知できるものもあるようです。すごい。スイッチを押すだけですから1軸シングルでよいですね。
     多軸のものは出力の関係からデジタルでi2cやspi出力のものも多いですね。

    TMAG5273C1QDBVR

     出力形式ですが、まずオンオフの判定のものは適していないでアナログ値を出力するものである必要があります。
     形式としては電圧、電流、PWM、i2c、spi等があるようです。磁気キーボードのイメージですとアナログ電圧が一般的でよさそうですね。
     デジタル出力のものもありこれも使いやすそうではあります。マイコンにはADCピンがそんなについていないことが多いですからデジタル出力の方が直接接続する場合はよいのかもしれない。もっともアナログ電圧出力のものでもpicやattiny等使用すれば同じことができそうではあります。
     標準的なアナログ電圧出力をマルチプレクサで増やすのが簡単そうなのでこれでやろうと思います。

     実装方法は面実装とスルーホールありますが当然面実装です。

     温度補正機能がついているものも多いですね。これは実際に試してみたいところです。

     そんなところでTexas InstrumentsのDRV5053シリーズを買ってみました。理由としては上記条件でソートし、安めだったこととモデルがいくつかあり、感度違いで試してみようと思ったからです。
     磁気スイッチの磁力がどんなもんなのかもわかっていないので。

     +と-がありますが、磁石にS極N極ありますからそれです。+のタイプではホールセンサに対して上からS極を近づけると出力電圧が大きくなりN極を近づけると電圧が小さくなります。
     KS-20スイッチはN極が下側にあります。通常ホールセンサの下からN極が近づくので、+感度の製品を使用していそうです。

     電源ラインに0.1uFのコンデンサが必要なので、それも一緒に買います。基板はブレッドボードに刺せそうな感じでJLCに発注しました。

    読み取ってみる

     まずは+45mV/mT (EA)で試してみます。

     pi picoでarduinoを使いホールセンサの出力を読み取ってみます。
     電源3.3VとGND、あとはホールセンサの出力をpi picoのADC端子につなぎます。

    void setup() {
      // シリアル通信を初期化
      Serial.begin(115200);
      // ADCピンの設定 12ビット分解能(0~4095)
      analogReadResolution(12);
    }

    void loop() {
      // GP26(ADC0)からアナログ値を読み取り
      int A0Value = analogRead(A0);


      Serial.print(“A0,”);
      Serial.println(A0Value);

      delay(100);
    }

     シリアルモニタにホールセンサの出力電圧を12ビットで表示されます。

    基板のみの状態12801280/4095*3.3でおよそ1V出力されています。
    スイッチを載せた状態1640およそ1.3V
    スイッチを押した状態2560およそ2.06V
    裏にスイッチを載せた350およそ0.28V
    裏にスイッチを押した65およそ0.05V

     データシートに磁石ない時は1Vと書いてありますからその通りです。

     出力は0.2V~1.8Vのようです。arduinoでは0.05V~2.05Vで読みとられています。0.05Vのオフセットが入っているのかしら。
     使用範囲が0.2V~1.8Vに収丸用にするべきなのでしょうか。また表裏でスイッチを押したときホールセンサの出力が振り切ってしまっているのがわかります。EAの45mV/mTでは感度が高すぎるようです。もっと範囲の広いホールセンサを使用する必要があります。

     読み取り値をグラフにしてみました。
     基板のみ→スイッチを載せる→押す→裏にスイッチを載せる→押す

     結構値が揺れていることがわかります。これでは既製品でいっている精度0.01mmとか土台無理ですよね。電源と一緒に見てみたりしましたが、電源と連動して揺れているわけでもなさそうです。
     思うに想像ですが、カタログスペックの強いものはアナログ計測精度がものすごいんじゃなくて、スキャンレートを上げて、データ処理して、精度を向上してたりするんでしょうか。オンオフしかないキーボードごときでスキャンレート数百MHzなんだろと思っていましたがそういうのなんですかね。

     また、隣のスイッチから干渉したりしないのかと思っていましたが近くの磁力にしか反応しないようです。これは干渉を気にせずありがたい反面、できるだけホールセンサとスイッチは近く配置し可能な限り感度の高いホールセンサを使用する必要がありそうです。

    感度

     スイッチと基板の間に追加でスペーサとして基板を挟み遠ざけて値を読み取ってみました。スイッチと基板の距離での感度の変化を見てみます。横軸が追加で設けた距離で縦軸が読み取り値(押し込み量0→4mm時の読み取り差分)です。

     0mmの時、先述のように頭打ちになってしまっていますから実際はもっと大きな数字を取っているはずです。スペーサ1~4枚を見てみると、線形ではないことがわかります。指数関数というか2次関数というかそういう感じです。距離が離れるごとに感度が悪くなっています。できるだけ近づけることは重要そうです。
     となると使用するホールセンサの感度ももう倍ぐらいのものが必要そうでしょうか。

    平均

     値が揺れすぎていてなんもわからん状態なので平均を取ってみます。
     直近50程度で平均を取ると揺れが収まってくる様子です。1000Hzのキーボードを作るとしたら1msに50回はスキャンしないとというところですね。

    const int numSamples = 50;  // サンプル数
    int A0Values[numSamples];
    int A1Values[numSamples];
    int sampleIndex = 0;
    bool filled = false;

    unsigned long lastPrintTime = 0; // 最後にシリアル出力した時間

    void setup() {
      Serial.begin(2000000);
      analogReadResolution(12); // 12ビット分解能
    }

    void loop() {
      int A0Value = analogRead(A0);
      int A1Value = analogRead(A1);

      A0Values[sampleIndex] = A0Value;
      A1Values[sampleIndex] = A1Value;
      sampleIndex++;

      if (sampleIndex >= numSamples) {
        sampleIndex = 0;
        filled = true;
      }

      // ここで現在時間を取得
      unsigned long currentTime = millis();

      // 0.5秒(500ミリ秒)経ってたら出力
      if (filled && (currentTime – lastPrintTime >= 10)) {
        long sumA0 = 0;
        long sumA1 = 0;
        for (int i = 0; i < numSamples; i++) {
          sumA0 += A0Values[i];
          sumA1 += A1Values[i];
        }
        int averageA0 = sumA0 / numSamples;
        int averageA1 = sumA1 / numSamples;

        int timeMicro = micros();
        Serial.print(“time,”);
        Serial.print(timeMicro);
        Serial.print(“,A0,”);
        Serial.print(averageA0);
        Serial.print(“,”);
        Serial.print(“A1,”);
        Serial.println(averageA1);

        lastPrintTime = currentTime; // 最後に出力した時間を更新
      }
    }

     平均をとるようにして個体差を確認してみました。

     ホールセンサの実装基板を複数用意し比べてみましたが差はADCの値1程度の差しかありませんでした。多少の実装精度、ホールセンサの個体差はそこまで深く考えなくてもよさそうです。
     一方でスイッチの個体差はADCの値で20程度はあり、結構差があるのかなあという感じ。スイッチを取り換えた際はキャリブレーションを実施したい気になりますね。またこの差はオフセットすることで解消できそうなので、割と単純かもしれない。

     また直近50の平均を取ってスイッチを押したり話したりしてみました。

    とりあえずホールセンサの値を読むことができました。ただadcピンを読み取るだけなので単純であります。

     DRV5053は出力が0-2Vでしたが、0-3.3Vで出力してくれる例えばdrv5055とかの方がSNも解像度も上がってよさそうです。
     45mV/mTではクリップしてしまったため適切な感度のものを選ぶ必要があります。
     読み取り値が揺れまくるので、マイコンもスキャンレートをより早くできるものを実戦では使う必要がありそうです。

     ホールセンサの買いなおしとデータ処理の仕方など検討する必要があります。マイコンボードもより高速なものを使いたいですね。
     ホールセンサの向きも考えなくては。どうせケース下に基板を配置するのならば-感度にした方がスイッチとセンサーの距離が近くできます。


  • オーディオ周り整えたい

     最近数日3DP使ってイヤホンの収納形にしてみたりなど。それを実用しようというのでもなくオーディオ周りのアイデアだしという感じです。机の上イヤホンとかとか散らかっちゃっているので、、
     イヤホン収納の要件というのは考え始めると頭が痛いのです。収納というからには少なくとも所有している一般的なモデルには対応できなければならないわけで大きいものに合わせねばなりません。斜めに置かないことを考えると厚み3cmは最低必要なのですよね。中華IEMイヤホンってでかい。そのほか個人的な要望を言うと、ケーブルの巻癖は好ましくないのであまり小さく巻きたくなかったり。これは長期保管用には関係ないですが→そういうので本当はゆったりとしながらも効率の良い収納をしたくはありますが、まあなかなかないですよね。
     ケーブルの耳掛けガイドの部分もあるので、筐体+そのガイド部分の面積は最低でも取りますしね。イヤホンのディスプレイは考えてもありかもしれませんが飾る趣味はないので何とも。
     こういうフィギュアスタンドかって、上にアンプを置いて下に複数メインイヤホンおいておこうかなと今考えていますamazonでぽちりました。

    そのイヤホン入れておくトレイはとりあえず山崎実業のやつが目に入ったので買ってみました。どうかな

     環境整えるにあたって、割と3,5mmの延長ケーブル噛ますのはありだと思っている人間なのですが、延長ケーブルっていい感じのがなかなか打っていないのですよね。長すぎたり終売していたり。以前はオーテクのat645lの50cmを使っていたのですが気づいたら終売していました。複数個確保しておけばよかった。そのほか、50cmのものはなかなかありません。基本的に1mから。
     後はプラグジャックがでかかったり、ナイロン巻きで取り回し最悪だったり、、、まあ需要がないのでしょうね。オーディオ的にも接点が増えるうんぬんかんぬんであまりこだわる人には売れないでしょうし、こだわらない人もこだわらないので延長ケーブルなど買わないわけです。知らんけど。

     何やらグレードが下がりそうですがオーテクのat3a45at 50cmと、どんなもんかエレコムのEHP-35ELS10 1mを買ってみました。まずジャックがこのサイズのものでないと取り回し悪いですよね。

    オーディオ環境いい加減エンドゲームしたいなあ。

  • 分割キーボード発注、松屋のすすめ

     土日は分割キーボードデザインして発注したぐらい。そもそも活動していた時間が少なかった、体が弱っている。土日何もできず平日仕事なのだから人生絶望しかない。

     二十代後半に入ってから衰えるとはこういうことかと実感し続けている。運動でもすればいいのだろうが私のようなよくできていない人間には難しい。
     最近の松屋は牛丼小のつゆだくに生卵と納豆が個人的おすすめです。納豆食って卵かけご飯牛乗せにたっぷり七見かけて召し上がります。小なのは、二十代後半入ってから、食べるだけで体重増えるからです。
     おそろしい。老化すると、一日これ+朝昼用菓子パン一袋でも体重が増えていく。運動する体力も気力もない。まだ二十代半ばになっていない人は今のうちに好きなだけ食べておこうという話である。

     分割キーボードも発注まで済ませました。結局スペースなくてトップとボトムプレートをスペーサはさんでねじ止めする感じに。間違いはないはずだけど動くといいですね。jlcがpcba正月で止まっているのでpoker互換より先にこっち出てくるかもしれん。
     これでとりあえずエンドゲームではないですが、可もなく不可もなく使える環境ができるはず。3-4年自キ続けた結果、非常に特徴にかけるものを作るという。

     このKHシリーズというやつのコンセプトはコスト、妥協、汎用性ですね。色々な意味でのコストを削減するために妥協に妥協を重ねて汎用性を手に入れたデザインです。面白さや僕の考える最強のキーボード要素は皆無です。マイナスな部分もなければプラスの部分もない0点を目指したキーボード。
     とりあえずこれらを使えば耐えられるので、これでこんなもんかと終わりにしてもいいしきもいものをゆっくり使ってもいいわけですね。キモイ物は特化型で、どうしても人によってはマイナス要素の方が大きくなったりその逆で激嵌まりしたりですからね。実際そのせいでansiもjisも他作キーボードもスポっと嵌まらなかったわけですし。まあこのKHシリーズも嵌まるものではなくフツウなものなわけですが。

     いったんこれでしばらくキーボードは作らないはず。ゲーミングは作りたいけど正味ゲームをほぼほぼできていないのであんまモチベがない、ですがゲームするときはちゃんとnitingale使っているので、新作とりかかる意義はちゃんとある。
     ここも多少仕様変更しようと思っていて、キー数もりもりでなんでも対応できるにしようとしていたし造形していたのですけど、横幅コンパクトの方が重要かなとか最近は思っとります。

  • 分割キボ、zowie新作気になる

     今日に限った話ではないけど最近風が強くてああ2月型の気候だななどと感じます。どうせ家と会社行き来するだけの生活でしかないのですけどね。

     zowieの新作マウスパッドが発表されました。

    BenQ ZOWIE ゲーミングマウスパッド新製品 「G-SR-SE ROUGE II」「H-SR-SE ROUGE II」「G-SR III」「H-SR III」 2月6日(木)にBenQダイレクトオンラインショップにて発売 | ZOWIE Japan

     sqサイズのサイズ展開と裏面に滑り止めを張り付けた変更点のgsr3とgsrse2のようで。一応聞いてみようと思いますが、布とスポンジに変更がないなら性能的には据え置きというわけですがどうでしょうか。
     使ってみないことにはわかりませんが滑り止めが改善点であるならば、ですが、gsrsse2は値段据え置きの6000円なのでお得感があります。gsr3は1000円値上げしての6000円なので滑りが変わらないのなら旧版のgsr2を買う方が安くてよさそうですよね。この値上げは為替とか要因でしょうか。gsrseはbiを所有していますが、gsrは数年前に買ったっきりで2は持っていないので買おうかな、、
     個人的には好みとか強さとかとは別として、マウスパッドとして比較的まともなのはzowieだけだと思っているので、滑り止めの変更はよいほうに働くのか気になりますね。柔らかいTRモデルは悪いほうにしか働かない気がしていますが、

     分割キーボード、構成は特に何もないので雑検討はじめました。
     xiao rp2040とicジャックとキースイッチだけなので何もない。でもまあ、この程度だと手配線する方がはるかに速いんだよな。それはそれでちょっと考えているのがあるのでそのうちやる気が出たら、、
     回路図片手分しかないように、左右共通基板にしてみようかなと思っています。

     ネットリスト取り込んで適当に置いてみるまでですが穴だらけですな。左右共通にするからもっと穴増えます。置く場所がなくて、xiaoとジャックはここら辺に置かざるをえなさそうです。
     mx&chocv2の左右共通ようフットプリントが見つからなかったので作らないといけない。ひっくり返し他のコピペするだけですけど。何気にこの手の基板を起こすのは初めてかもしれない。週末で終わらせて試作入れたい。

     choc v2も使えるようにしたいわけですけど、choc v2事情を全然知らないんですよね。なんか色々出ているらしいというのは小耳にはさんでいましたが、使う予定がなかったので、、
     調べてみるとアケコン用とかで色々出ているのですかね。choc v2とか一生不遇だと思っていましたが、思わぬところで爆発的に?需要が色々あるんですね。アケコン界隈も全く知らないので何とも。snsやgoogleで調べてもあまりまとめ情報がなかったのですが、daihukuさんが動画で解説なされていました。なるほど。

     アリのchocfoxストアでdeepsea白スイッチを購入してみました。固定ピン、形骸化しているんですね
     これ以外にもスイッチ種類あるのかな?わからぬ
     ロープロは昔はk3を好んでいましたが結局キーキャップがなくて生き残れなかったという感じです。今のようにスイッチが色々あってロープロ自体が盛り上がっていたら話は違うかもしれませんが
     それでもハウジングの形状的に薄くトップ面積が小さいキーキャップ難しいですものね。トップ面が広いキーキャップ誤打が増えて苦手です。。。
     手配線で極限まで薄くすると市販のロープロとmxキーボードの高さ同じぐらいなんですよね。そういう点で、手配線はやはり強みがあると思います。打鍵感とか音とか言い出すと話は難しいですが

    ロープロとmxとで2台分割組んで使い比べたいなと思います。親指キーだけchocにできますが直付けでリカバリーが難しいので悩みます。チルトテントすることを考えると親指キーは低いほうが得とは思うのですが。

  • 分割キーボード検討

    数年前も同ドメインで日記付けていたけど広い期間での最近、twitterがほんとにくそなので検討した結果カスタム投稿でいいかというあれ。

    さてとりあえず文字打ち用のキーボードは、とりあえず何の面白みもない、比較的誰でも使えて迷わないくそつまらん無味キーボードを作ろうというので最近動いているわけです。でpoker互換のdz60配列とは違った矢印込み配列を作って改善版はもう製造してもらっているところです。それを自宅サブと会社用にする予定。

    (会社でも使えるというのはとても難しい意味を持ちます。自キとしての使いやすさを持ちながら、会社の人が触って迷わず使用できなければなりませぬぬ。)

    で次は自宅用メインのものを作りたいわけですが、最近は格子配列ベースのキーボードをいくつか作って(精神的時間的余裕なくてブログにはまとめていない)(どうせいつものrp2040直付けなのだからまとめても意味はない)使って色々フィードバックしていました。で結局分割40%がよくて画像のようなのをつくろうかと。配列的にはまあ3年前に作ったのリバイバルで、昔からこのノリがすきなのであるよ。

    簡単に解説すると、ベースは4×6格子分割。ずれているのでカラムスタガなのですが思想的には格子が近いです。小指は格子使っているとどうしても位置が高いので0.25下げました。カラムスタガは素晴らしいですが今回採用しないのは2点あって、
    ・内側列を下げると、運指効率が下がる。例えばeを打った後にbを打つことを考えると、カラムスタガだと前後の距離がカラムスタガ度合いが高いほど離れていって微妙なのですよね。逆にc→tの順だと高速化するわけですが、すべてのキーを満遍なく使うと仮定すると(そんなことはないが)格子が最も運指効率というか次の動作に対するコストが安定すると思っている。偏ってキーは打鍵されるのでそんなことはないしであれば論理配列を変更代ではある。
    ・ラフに使う、例えば片手の人差し指でポチポチ触ることがあると考えると、格子やロウスタガが扱いやすい。これはansiが標準という慣れはあるにせよ、カラムスタガは非常にキーを探しづらく押しにくい。そういった点で汎用性がないのだ。
    安定してホームポジションを維持できるときカラムスタガが最強であることは疑う余地もない、がというのが汎用性重視である。

    ほか、汎用性xエルゴノミクス()的な観点からチルトテントは無段階調整ができた方がよく、様々な構造案があるものの、(無限語り割愛)まあいいやという感じで今回はfr4プレートでテントしてゴム足でチルトするような角度固定の単純なのでいいかという感じ。
    こうやってどんどん実用性度外視で面白いことをやる精神が薄れていくんだね。アイデアだけはあるし、しょうもなくてもそれでいいはずなんだけど、行ってしまえば精神的にも物理的にも参っていて限界だから余裕がないbotになる、、、

    poker互換ははんだ付け不要(オプションあり)の買ってすぐ使える仕様にしたけど、これはpwbのみchocv2とmx両対応のサンドイッチでいいかな。マイコンもrp2040 zeroとかxiaoとかで。両対応のプレートをアクリル3mm+2mmでロープロ組の時は3mmを不使用にすればいいかなと思っていたが、例えば親指だけchocにするかもしれないなとちょっと思ったのですよ。するとプレートは切り離せないといけないので、fr4かなあ。スカスカサンドイッチです。
    シリコンフォームとか型作って簡単に製造できるのだけどめんどくさいよね。

    という感じでやる気出たときに作りたいね

    作るのはこの説明投げれば誰でも設計できる簡単さなので難しいことはないのですけど、本当に元気と時間がないわね、、、金もないわね、、、試作してブラッシュアップしてしたら一瞬で数万消えてしまう。