沚消沙の物置

日々のメモ書き

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

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.でダウンロードしたドライバーをインストール

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

参考

https://www.reddit.com/r/ASUS/comments/zpgtya/z790_hero_mb_intelr_ethernet_controller_i226v/

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敗)

プリント基板作成

tl; dr

  • KiCadで基板設計
  • FusionPCBでプリント基板を注文
  • ケースに収めて完成

前回のヤツをコンパクトにしたい

sikisya.hateblo.jp

f:id:sikisya:20210704161609j:plain
ケース部分

前回のヤツをケース部分に収めようと、手元のユニバーサル基板をカットしてみたが、PSコントローラー側のコネクターとピッチが合わないので色々とグチャグチャに・・・

f:id:sikisya:20211016205117j:plain
なれの果て

ちょうどいい機会なので、プリント基板作成サービスを利用してみる。

作業環境

名称 バージョン
KiCad 5.1.9

基板設計

KiCadで基板設計に挑戦。

色々とこねて、出来上がったものがこちらになります。

f:id:sikisya:20211016211253p:plain
回路図

ガーバーファイルの作成

公式の手順を参考に、ガーバーファイル1とドリルファイルを出力し、ZIPにまとめる。

発注

出来上がったデータで、基板作成サービスに発注。 今回はSeeed社2が提供しているFusion PCBを利用する。

基板仕様はこんな感じ。値段は5枚でも10枚でも変わらないらしいが、そんなにいらないので今回は5枚注文。

f:id:sikisya:20211016212335p:plain
基板仕様

注文後は基板の製造段階が確認できる。

f:id:sikisya:20211016224520p:plain

組み立て

自分の場合、注文から約10日後に届いた。

f:id:sikisya:20210925133739j:plain
大きな袋の中に入っていたロゴ入り封筒

f:id:sikisya:20210925134505j:plain
プチプチ

届いた基板はこんな感じ(@マークだけ少し潰れてしまった)

f:id:sikisya:20211016220640j:plain
届いた基板

あとは、基板にSeeeduino XIAOとPSコントローラー用コネクタをはんだ付け。

f:id:sikisya:20210925134605j:plain
合体

ケースの内側を少し削り、基板を収めて完成。

f:id:sikisya:20210925134632j:plain
完成

と思ったけど、基板設計にあたって前回と使用するピンを変えていたので、コードを修正して書き込み、改めて完成。

f:id:sikisya:20210925134709p:plain
配線図

github.com

心残り

+7.6vのピンに電気を流せば、バイブレーション機能とかジョグコン対応とかできそうだけど、電力が足りるのか微妙、気が向いたら確かめる。


  1. ガーバーって何だろうと調べたら、Gerber Systems社が開発したフォーマットらしい。

  2. Seeeduino XIAOでおなじみ。