2021年11月01日

7セグ&LEDリング時計の製作

7セグ&LEDリング時計の製作
http://nomulabo.com/neopixcel_ring_clock/

neopixel_clock_with_tm1637_2s.jpg
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年10月01日

ハイモンド BK-100 のカバー交換

bk100-1.jpg

10年以上前、BK-100 というハイモンド・エレクトロのバグキーを中古で購入していて
久々に押し入れから出したところ、カバーにヒビが入っていることに気が付きました。

調べてみると、カバーは補修品として2021年現在も提供されているようです!
昨今の状況を鑑みるに、いつ販売終了してもおかしくないので、早速注文しました。

注文方法は、
@ ハイモンド社のトップページ下部にあるメールアドレスに注文をしたい旨を連絡。
A 商品代金 (1,500円) と送料 (400円) の案内が来るので、送付先(連絡先)を返信する。
B 商品が送られてくるので、商品に同封された伝票の振込先に代金を振込む。
でした。

Aのメールに記載されていますが、カバーの内側が少し大きめになっているので削る
必要があります。商品が送られてくる前に念押しの電話もありました。

届いてみると予告通りカバーの内寸は小さめに仕上がっていて、左右合わせて1mmくらい削らないと入らない感じです。
リューターと紙やすりで小一時間削って無事に入るようになりました。
bk100-2.jpg


このバグキーは貴重なものですので、大事に使っていきたいと思います。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年08月01日

CASIO のランナーウォッチ PHYS STR-300 のベルト交換

phys1.jpg

カシオのランナーウォッチ フィズ STR-300 は電池は10年持ちますが、バンドは数年で切れます。

phys2.jpg

交換用の純正ベルトは 2500円程度で、並行輸入品の本体が3000円台で買えることを考えると交換するか迷うところです。
そんなときは、Aliexpress。膨大な商品の中から合いそうな物を選びました。

phys_ali.PNG

送料込み US $2.58 で、バネ棒とピン外し工具も付いてました。

2週間ほどで到着。10分足らずで交換できました。

phys3.jpg

純正品と比べれば接続部の厚みが薄く、わずかに幅が短いのですが、
これなら数年で切れてもしょうがないかな。
眠っていた時計が復活して満足です。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年07月01日

引き出しにアクリルの仕切りをつけた

引き出し仕切り1.jpg

机の引き出しがごちゃごちゃっとしてたので、半分に仕切ってみたらどうだろうと。

さっそく、10x10x900mmのヒノキの片溝工作棒(溝幅2mm)と2mmのアクリル板をコーナンで買ってきて、卓上丸のこでカット。
引き出し仕切り5.jpg
アクリルの切断はカスがすごいのでお外でやりました。

10mmのスポンジ付き両面テープは見つからなかったので、ハサミでカットして使用。
引き出し仕切り2.jpg
ハサミのフッ素コーティングはそれなりに効果があるようです。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年06月01日

電車でGO!コントローラでTSマスコンをエミュレートしてBVEで遊ぶ。

dengo_ts_emu_c.jpg

Bve trainsim というPCで遊べる電車でGO的な鉄道運転シミュレーターがあるのですが、キーボード操作では風情がありませんよね。
ということで、プレイステーション版 電車でGOのコントローラを入手 ※ し、BVEで使ってみることにしました。
※ 勢い余って ワンハンドルタイプ(TCPP-20001)とツーハンドルタイプ(SLPH-00051)の両方をセットで購入。

BVEでマスコン型コントローラーを使う方法は、電車でGOのコントローラに古いタイプのPS2-USBアダプタ組み合わせる方法の他に、Master Controller For Train Simulator(通称TSマスコン)を使う方法もあります。
TSマスコンのインターフェースDLLのソースコードは開発元より公開されていて、動作に必要なコマンドはすべて記載されています。

入力デバイスプラグイン サンプルプログラム

解説記事(ぴよ軒ノート)

ということで、将来的に鉄道模型でも使えるように、電GOコントローラーの信号をArduinoで読み取り、TSマスコンの動作をエミュレートする手法を取ることにしました。

電GOコントローラーをArduinoで読み取るサンプルは、KeKe115さんが github で公開されています
中を見ると、ハンドルの位置は、ボタンの組み合わせで定義されているようです。
このソースをちょちょいと改造して、ハンドルポジションに応じたTSマスコンのコマンドを出すようにしたところ、あっさりとツーハンドルタイプでBVEを遊べるようになりました。
が、ワンハンドルタイプはなぜか動作しません。トライ・アンド・エラーでいろいろ調べたところ、どうやらワンハンドルマスコンはポーリング間隔が約65msを超えるとハンドル位置を取得できないことが判明。(流用元は100ms)
これを修正して無事にワンハンドルでも動くようになりました。
ボタンの状態を取得する処理をいれたついでに全面的に処理を見直したので、見た目はオリジナルからだいぶ離れていますが、概ね同じ処理をしています。
レバーサはセレクトボタン押下で「中立→前進→中立→後退」と遷移するようにしてあります。

github に公開していますのでMITライセンスの元、ご自由にどうぞ。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年04月01日

Trackball Explorerの支持球をジルコニア(ZrO2)に交換した

tbe1.jpg

購入から20年くらい経過し、今更感が半端ないのですが、
中国から2mmのジルコニアボールを入手して、支持球を交換しました。

tbe2.jpg

ZrO2かSi3N4(窒化ケイ素)か迷ったのですが、送料込みで安い方(20個で3.18USD)にしました。

Zirconia Ball.PNG

交換後は新品同様の滑り心地となり大満足です。(最初からこうしてくれてればいいのに…)
スイッチ類も生きているので、まだしばらく使えそうです。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2021年02月01日

2021年01月01日

プラレールの光るスニーカーの電池は交換不可

dy1.jpg

中にLEDが仕込まれていて、走るとLEDが光るスニーカーなのですが、
右足だけ光らなくなったので、電池を交換しようと分解してみました。

dy2.jpg

で、インソールの下の布をハサミで切って強引に取り出してみると
中の制御ユニットは電池も含めて樹脂で固められていて
交換は不可能なようでした。

dy3.jpg

ゴム系接着剤で貼り合わせて元に戻しておきました。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年12月01日

GNU Radio + ADALM-PLUTO を Windows10 + WSL/WSL2 + Ubuntu で使うためのメモ

GNU Radio + ADALM-PLUTO を Windows10 + WSL/WSL2 + Ubuntu で使うためのメモ

Changed block's category Core to Industrial IO..png

Windows Store から Ubuntu 20.04LTSを入手
VTをBIOSで有効にしておき、下記URLを参考にしてWSL2の有効化。
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel

インストールされたら、
sudo apt update
sudo apt install gnuradio libgtk-3-dev libgl1-mesa-dev xorg-dev
で必要なコンポーネントを入れる。

画面を出すために、VcXsrvをインストール

nano ~/.profile
最終行に
export DISPLAY=localhost:0.0
を追加。
環境によっては上記ではうまく動かないので、その場合は、
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
とする。

一旦ログアウトして.profileを読み込むと gnuradio-companionが起動するはず。

OOT Block を作るために、
sudo apt install cmake liborc-0.4-dev swig
で、ビルドに必要なものを入れたら
任意のOOT Blockをbuildして
sudo ldconfig
とすれば良い。

ADALM-PLUTOは v3.8 では入れ方が異なるので
https://wiki.analog.com/resources/tools-software/linux-software/gnuradio
を見ておく。
この通り入れたら、ビルドは成功したけどカテゴリが core に移動していて
探すのに手間取ったので v3.7 と合わせるようにプルリクエストしておいた。(マージ済み)
https://github.com/analogdevicesinc/gr-iio/pull/89

ということで、WSL2上で Ubuntu18.04 + GNU Radio V3.7と
Ubuntu20.04 + GNU Radio V3.8が共存できましたとさ。
別途Linuxマシンを準備しなくていいので便利です。

ADALM-PLUTOはネットワーク越しに動作しているように見えるので
WSLから扱えます。gr-ad2 は残念ながら動作しませんでした。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年10月01日

公開情報からパーシャルチェックリストを作成する

パーチャルチェックの機能.png

2020年現在、日本のアマチュア無線局数はおよそ40万局ですが、このうち、JARLの国内4大コンテスト(ALL JA, 6m & Down, Field Day, 全市全郡)に 2015-2019の5年間で書類を提出した局は、およそ6000局(7M4MON 調べ)です。
コールサインのアルファベット・数字の組み合わせは膨大な数がありますが、コンテストに参加する局は、ほとんど上記の6000局のコールサインです。
そのため、過去の交信履歴等からある程度の予測と省力化が可能です。
コンテストロギングソフトでは、コールサインの一部を入力すると交信相手のコールサイン候補が表示されるパーシャルチェックという機能があります。
パーシャルチェックではコールサインだけではなくコンテストナンバーの候補も表示されます。
上記の国内4大コンテストのコンテストナンバーは RS(T) + 運用地の都府県・北海道地域番号または市郡区番号+空中線電力を表すアルファベット1文字です。
総務省の無線免許状検索ではコールサインで検索すると常置場所の市区町村名まで分かりますので、コンテスト書類提出局のコールサインとつき合わせて、パーシャルチェックのデータベースを作成しました。

詳しくは github の ctestwin.pck のリポジトリ をご参照ください。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年09月01日

Deskmini用オーディオセレクタ&節電出力I/Fの作成

deskmini_audiosel1.jpg

以前のPCでは休止状態・シャットダウン時にPS/2や内部の5Vからタップのリレーを駆動して
電源を連動させて、ディスプレイやスピーカーの電源を落としていました。
Deskminiでは残念ながらそれらの電源は容易には取得できません。

また、Deskminiはリアのオーディオ出力が無いのでスピーカーとイヤフォンを切り替えるには
フロントの3.5Φのケーブルを差し替える必要がありました。

どうにかならないかと調べると、マイクバイアスは連動して出ているようなので
マイクバイアスでフォトリレー(TLP225A)を駆動させて
BIOS設定によらず何故か出力されているUSBのVBUSでタップのリレーを
制御することにしました。

ついでにオーディオも切り替えるスライドスイッチも付けておきました。
固定はVESAマウントを取り付けるオプションの穴にインチネジで取り付けです。

deskmini_audiosel2.jpg

やりたいことが出来たので概ね満足です。
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年08月01日

2020年07月01日

Desk Mini 110 と SST-NT09-115X の組み合わせはバックプレートが干渉する。

バックプレート加工後2.jpg

DeskMini 110 で1台組んだのですが、CPUクーラーのバックプレートが
ヒートシンクに干渉して取り付けできませんでした。
バックプレート干渉2.jpg

しょうがないので、
・超音波カッターでバックプレートをカット(硬い)
・ある程度切ったらラジオペンチでもぎとり、やすりがけ

バックプレート加工前.jpg

で無事に取り付けられました。

マザーボード側のヒートシンクもしくはバックプレートの形状が変わったんでしょうね。
実績があるものを選んだつもりでしたが……
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年06月01日

Windows10の大型アップデートを適用すると Linuxとのデュアルブート環境で grub rescue では救えない場合がある


「Windows 10 May 2020 Update」(バージョン2004)が公開され、WSL2を使いたいがために早速アップデートしたところ
何度か再起動したあとに「error: no such partition.」と出て止まってしまいました。

供試機のパーテーションはちょっと複雑で
[BIOS (Windows10 / Ubuntu 20.04), UEFI (Ubuntu18.04)]となっていました。
Windowsアップデートをすると Windows が Ubuntu 20.04 のパーテーションを触ってしまい
そこにインストールしてあった /boot/grub/i386-pc/normal.mod を
grubが見つけられずに止まってしまうようです。

調べてみると (hd0,msdos6)にLinuxが存在しているようですが、
unknown filesystem.jpg

grubを修復しようとしても error: file 'boot/grub/i386-pc/normal.mod' not found. で normal を指定できずubuntuが起動しません。
i386-pc normal.mod not found.jpg

BIOSで UEFI Boot を Enable として起動すると、Ubuntu18.04 が立ち上がりました。
Ubuntu 20.04 のパーテーションが見えないので嫌な予感です。

fdisk-l.png

grub rescue で見えていた (hd0,msdos6) は
ここにインストールしてある grub が見えていたようです。
どおりでPathが i386-pc ではなく
(hd0,msdos6)/boot/grub/x86_64-efi/
となっていた訳です。

で、Windowsの起動ディスクを作って起動したら
[アップデートの途中で〜〜。クリーンインストールしますか?] → はい >
[トラブルシューティング]> [詳細オプション]> [コマンドプロンプト] で
bootrec /fixmbr
bootrec /rebuildbcd
(rebuildbcd は不要だったっぽい。bootrec /fixboot はアクセスが拒否されて実行できず)
で再起動してアップデートの続きが始まりようやく復活しました。

なお、Windows10の起動ディスクは Ubuntu18.04 での dd コマンドではだめで、
Windowsマシンにisoファイルをコピーして、
rufus でパーティション構成をMBR、ターゲットシステムを BIOS(またはUEFI-CSM)として
USBメモリに書き込んだら起動できました。

で、ディスクの管理を見ると・・・
diskの管理.png
「空き領域」になってる!!!(大泣)

どなたかここから Ubuntu 20.04 を復活させる方法を御存知でしたらコメントください m(_ _)m
posted by MON at 00:00| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年05月19日

AnalogDiscovery2 と LabVIEW 2020 で オーディオアナライザを作ってみる。

LabVIEW 2020 Community Edition 公開を記念して AnalogDiscovery2 を使用したオーディオアナライザーをLabVIEW 2020を使って作ってみました。
振幅が小さくなると歪み率が悪化する傾向がありますが、(100mVp-pで2.4%程度)
どうやらAD2の実力っぽいので、仕様ということにしておきます。
オーディオ機器の測定には実力不足ですが、アナログ無線機の12dB SINAD感度くらいは測れるのではないでしょうか。

AudioAnalyzer__with__AnalogDiscovery2p_sine.png

AudioAnalyzer__with__AnalogDiscovery2d.png

下記に公開してあります。
https://github.com/7m4mon/AudioAnalyzer_with_AnalogDiscovery2
posted by MON at 22:58| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2020年04月02日

EXCEL VBAでGIPOを制御する方法4つ

計測器の自動制御をEXCEL VBAを使用して行う際、リレーの切り替えなどでGPIOを制御したくなることがあります。

そんなとき使える方法を4つ試してみました。
動作環境は Windows10 64Bit + Excel 2010 32bit です。

@.COMポートのRTS, DTR線を使う
シリアルポートにはRTS/CTS, DTR/DSR というフロー制御を行うラインがあり、
これを汎用のGPIOとして使うことができます。
他にも方法はあるかもしれませんが、activecell さんが作成された EasyComm を使用すると簡単です。
Comポートを開いたあと
ec.RTSCTS = True
ec.DTRDSR = True

等とすれば、RTS, DTR線をH/Lすることができます。

A.FTDI の FT232R(など)で Bit-Bang Mode を使う
FTDIの FT232Rなどのチップは、 Bit-Bang Mode というものがあり、信号線を独立して制御することができます。
サンプルプログラムは、西日本常盤商行の Bit-Bang Testサンプルにあります。
専用のGIPOピンがあるわけではなく、Bit7~0 がそれぞれ、 7:RI, 6:DCD, 5:CSR, 4:DTR, 3:CTS, 2:RTS, 1:RXD, 0:TXD に対応します。
秋月電子のAE-UM232R はもちろんOKで、Aliexpressで買った格安モジュールでも動作しました。

B.秋月電子で売っている USBIO-2.0 を使う
秋月電子で売っている USB接続デジタル入出力モジュール USB−IO2.0(AKI)もEXCEL VBAから扱うことが可能です。

バケさんの電子工作 で公開されている vbausbio.dll を C:\Windows\SysWOW64 コピーして、
uio_find で接続と初期化をした後、
Dim OutDat(7) As Byte
OutDat(0) = 1
OutDat(1) = 1
OutDat(2) = 2
OutDat(3) = 0
uio2_out(OutDat(0))

とやれば、GIPOに値を書き込むことができます。
入出力の設定は「USB-IO2.0制御サンプル」で先にしておくのが無難です。

C.SILICON LABS の CP2112 を使う
SILICON LABS の HID USB - SMBus/I2C ブリッジ CP2112 も Excel VBAから制御できます。
サンハヤトの Sample_MMCP2112_MMTXS03 からGPIO4を操作する部分を抜き出し、割と忠実にExcel VBAに移植してみたので、gistにあげておきます。

下準備として、SLABHIDDevice.dll と SLABHIDtoSMBus.dll を C:\Windows\SysWOW64 にコピーし、SLABCP2112.bas をインポートして、オブジェクト名を [CP2112_DLL] にする必要があります。
動作確認は MM-CP2112A を使用しました。

CP2112 vba.png

2020/12/02 追記
旧バージョンの「CP2112_SDK_Windows_XP_Vista.exe」はダウンロードできなくなっているようです。
そのファイルそのものを上げることはできませんが、参考までにCで作成したエクセルファイルをアップしておきます。
CP2112_Test.zip

感想:なんやかんや言っても Excel VBAは まだ現役ですよね。
posted by MON at 00:00| Comment(3) | 日記 | このブログの読者になる | 更新情報をチェックする
【今是昨非】http://nomulabo.com/