沚消沙の物置

日々のメモ書き

スクロールリングのベアリング化

tl; dr

  • Expert Mouse (EM7)のスクロールリングをベアリング化するメモ

注意書き

Expert Mouseはロットによって各所の寸法が異なっている場合があるらしい。
記事内の寸法はあてにせず、実際に計ってから作業した方が実際安全。

分解

ネジを外し、スクロールリング部分を取り外す。

取り外したものがこちらになります

次に金属リングを切り離す。

赤丸の箇所を切り落とす

4か所切り落とすと、金属パーツが外れる

半円パーツまで外した図

半円パーツについている小さな球(セラミック球?)は、なくしやすいので注意

中にはスラストベアリングっぽいものが入っている

ローラーはゴムっぽい素材

ベアリング化

このパーツをスラストベアリングに置き換えたいが、丁度良いサイズのものがない(内径58mm x 外径70mm x 幅3mm)

なので、先人たちの知恵を(勝手に)借り、ローラーをベアリングに置き換える。

取り付けるベアリングは「内径1.0mm x 外径3.0mm x 幅1.0mm」

ベアリングの両端に、幅1mm程度に切ったコードの被覆をつけ、スペーサーに

ベアリングが滑らかに回るよう、プラ板をカット(内径58mm x 外径70mm x 厚さ0.3mm)して溝埋め板を作成

リング本体 -> 溝埋め板 -> スラストベアリング(?)の順に合体

半円パーツと金属パーツを取り付け、最初に切断した部分を接着

あとは組みなおして完了。(画像略)

youtu.be

換装した感想としては、回転抵抗が下がったのが嬉しい。
ただし、ちょいと音が騒がしめな感がある。

トラックボール静音化メモ

tl; dr

  • Expert Mouse (EM7)の静音化メモ

ボタン

購入直後、オムロンのボタン(D2F-01F)に換装していたが、思ったよりカチカチ音が気になったのでKailhの静音ボタンに変更。

オムロン製ボタンにしていた頃

静音ボタンに変更

緩衝材

ボタンから指を離した際にバネみたいにビヨヨンとなるのが気になるので、接触する部分にクッションになりそうなもの(エーモンのハーネス結束&保護テープ)を貼っている。

ボタン裏のT字状になっている部分

クッションを貼り付け

ボタンの側面にもクッションを貼り付け

雑記

スクロールリングとか支持球のベアリング化とかもしてみたいお年頃。
そのまま換装できる細いスラストベアリングとかないだろうか・・・?

マザボが起動しなくなった備忘録

tl; dr

急にどした?

急にマザボ(ASUS TUF GAMING Z790-PLUS D4)がうんともすんとも言わなくなって焦ったので備忘録

現象

  • 通電してもマザボ上のLED(Q-LED含む)点灯せず
  • 電源ボタン無反応(直接ピンをショートさせても駄目)
  • PCIeデバイスのステータスLEDは点灯している(マザボ自体に電気は来ている)

試した事と結果

※作業時は電源を抜いて、放電させてから取り組むこと。

余白

電源の故障かもと思ってATX電源テスターをポチったが、届く前に解決したので無駄に1700ダメージ。

I226-V 通信エラーメモ

tl; dr

My New Gear...

ねんがんの 13世代CPUを かったぞ

構成は以下の通り

ネットが不安定

というわけで組んでみたが、ネットが不安定。

なんか通信すると数秒おきに切断される。

Armoury Crate(ASUSの管理ツール)でドライバー類を最新にしても改善せず。

解決手順

  1. intelの公式から最新版(現時点で27.8)をダウンロード
  2. インストールされているアプリ一覧からIntel(R) Network Connections ~をアンインストール1
  3. 1.でダウンロードしたドライバーをインストール

とりあえずインストールして数日経ったが、現象は再発していないもよう。

参考

Z790 Hero MB Intel(R) Ethernet Controller I226-V constantly disconnecting just like I225-V was : ASUS

Windows 11 で "このデバイスにドライバ― : iqvw64e.sys が読み込めません”というエラーが発生。 - 私のPC自作部屋

追記 (2023/1/27)

頻度こそ減ったものの、まだ切断が発生するときがある。

www.techpowerup.com

完全な回避策はまだないらしい

追記(2023/2/25)

パケロスや速度低下はまだしも、ちょくちょく切断されるのには耐え切れなかったので、結局別のLANカードを買ってしまった。


  1. これをしないとメモリ整合性周りでエラーが出るかも(1敗)

CO2測定器

tl; dr

  • 環境測定器(温度/湿度/CO2濃度)作った

CO2センサー

「日中眠くなるし、CO2濃度が原因かもなぁ(責任転嫁)」的なノリで2年前ぐらいに買ったCO2センサー(MH-Z19B)くん。

その後、某感染症の流行等で換気がさけばれ、CO2濃度計の需要が高まったり色々あったが、結局ブレッドボードで少し遊んだだけで放置していたので、これを機にちゃんと組み立てる。

温湿度センサー(AM2302(DHT22))と液晶もつけて遊んでいた図

CO2濃度はセンサーの基板部分から取得可能だが、せっかくコネクターがついているのでここから取得している。 接続にはaitendoのCN125SS-2P(7極)を使用。

CO2濃度取得処理

#include <SoftwareSerial.h>

// UART通信で使用するピンを指定
#define UART_RX A0
#define UART_TX A1

// CO2センサー(MH-Z19B)
SoftwareSerial MH_Z19B(UART_RX, UART_TX);

// CO2濃度リクエスト
byte request_co2[9] = {
  0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79
};

void setup() {
  // MH-Z19B初期化(ボーレート: 9600)
  MH_Z19B.begin(9600);

  // シリアルモニター初期化
  Serial.begin(9600);
}

void loop() {
  // UART通信
  byte responseMessage[9] = {0};
  MH_Z19B.write(request_co2, sizeof(request_co2));
  MH_Z19B.readBytes(responseMessage, sizeof(responseMessage));

  // 濃度計算
  int ppm = (responseMessage[2] * 256) + responseMessage[3];

  // シリアルモニターに出力
  String message = "co2: ";
  message.concat(ppm);
  Serial.println(message);
  
  delay(5000);
}

温湿度取得処理

#include <string>
#include <sstream>
#include <DHT.h>

// 使用するピンを指定
#define DHT_DATA_PIN 1
#define DHT_TYPE DHT22

// 温湿度センサー(AM2302(DHT22))
DHT dht(DHT_DATA_PIN, DHT_TYPE);

void setup()
{
  // AM2302(DHT22)初期化
  dht.begin();

  // シリアルモニター初期化
  Serial.begin(9600);
}

void loop()
{
  // 温度・湿度を取得
  auto temperature = dht.readTemperature();
  auto humidity = dht.readHumidity();

  // シリアルモニターに出力
  std::stringstream ss;
  ss << "Hum: " << humidity << "%, Temp: " << temperature << "℃";
  Serial.println(ss.str().c_str());

  delay(5000);
}

github.com

ケース作成

以前3Dプリンターを買ったので、練習もかねてFusion360モデリング

モデリング

あとは適当に配線した基板をケースに詰め込む。

つめこむ

完成

蓋をして完成。

最初はバッテリーとか電池で長期運用ができないかと思っていたが、消費が大きそうなので断念。

動作のようす

裏面

Steamのコントローラー設定メモ

tl; dr

前提

Steamのレースゲームでネジコンを使う際のキー設定メモ

とりあえず暫定版、遊ぶゲームの種類が増えればまた変わるかも

共通設定

f:id:sikisya:20220219002002p:plain

普通の360コン風に割り当てたら、 キーをアナログ入力として扱ってくれなかったので左・右トリガーに割り当て。 あと左スティックYネジコンのLトリガーを割り当てたら大変なことになったので注意。

Asseto Corsa

Asseto Corsaでは十字キーを別の操作に当てられないため、Steam入力は無効にしておく。 (コンバーター十字キーをボタンとして認識させているのはこのため)

ゲームパッドの誤動作

tl; dr

  • 3Dconnexion KMJ Emulatorを無効化する

ゲームが誤動作する

最近話題のマスターデュエルをやってみようと思い、steam版をインストールしたわけですよ。

で、説明とかを読もうとスクロールするとできない。下にスクロールしようとすると一瞬で上に戻される。 デッキを組もうとしてもカード一覧が一番上まで戻されてまともに見ることもできない。

既知の不具合一覧を見るも、なんとなく似てるような現象はあるが、ちょいと違うような気もする。

①コントローラー操作においてペンデュラム効果テキストのスクロールバーが操作できない

※上記不具合はタッチ操作、マウス操作の場合は発生いたしません。

コントローラーは差していないし、ペンデュラム以外でも発生するなぁ・・・と考えていたところで、ふと自分のPCにはなんかのデバイスゲームパッドとして認識されていたなぁということを思い出す。

謎のゲームパッド

ゲームコントローラーの一覧に存在するコレ

3Dconnexion、恐らく3Dマウスのドライバーをインストールした際に一緒に入ったものだと思われるが、調べてみるとゲームやアプリケーションの動作に干渉することがあるらしい。(そういえば怒首領蜂大往生でもコントローラーの動作がおかしくなったような)

バイス無効化

というわけでデバイスを無効化します。

  1. デバイスマネージャーを開き、表示からデバイス (接続別)を選択する。

    表示の変更

  2. 3Dconnexion KMJ Emulator内に存在するHID 準拠ゲーム コントローラーを右クリックし、デバイスを無効にするを選択する。

    バイスの無効化

  3. はいをクリックしてデバイスを無効化する。

    確認画面

動作確認

無効化後にゲームを立ち上げてみたところ、誤動作が解消していることを確認した。

3Dマウス自体も正常に動作しているみたいなので、とりあえず解決。

追記

ドライバー更新のたびに有効状態に戻るので、更新後は無効化するのを忘れないこと。(2敗)