日報 2024.07.07
エリート飯。

パラノーマル・アクティビティ4やん。めちゃんこおもろい。
明日から出社しないとクビなのでそろそろ動き始めてリハビリしておく…。
ガキの頃気が狂うほど遊んだfoonmixを今更Stepmaniaに入れる。
foonmix2だけリンク切れでダウンロードできなかったので別途以下からダウンロードしておいた。これも無くなったら終わりなので永久保管しておく。
そしてfoonmix以外にもあった大規模パッケージメモ。気が向いたら入れてみる。
ずっとほったらかしてたVFDやりましょうね。
まずはラズパイZero2Wをセットアップしていく。
公式のRaspberry Pi Imager使って Raspberry Pi OS Lite 64bitをMicroSDに書き込み。

設定を編集で、予めホストネーム、ユーザー名、パスワード、Wifi、SSHを設定できるのでしておく。

MicroSDをラズパイに刺して、電源用MicroUSB端子にケーブルをぶっさし。
Mini-HDMI用変換プラグが見つからないのでヘッドレスで頑張る。

無線LANアクセスポイントの管理画面のクライアント一覧にラズパイが増えるのを待つ….増えた。
設定したホストネーム”nameplate”でSSHアクセスできるかやってみる。できた。

gitをインストール。
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y git
GU3000シリーズ用ライブラリを実行させるために”WiringPi”が必要みたいなので準備する。
が、現在WiringPiは既に死んだ模様で、代替としてはpigpioを使うべきらしいのだけど先に動かすだけ動かしてみたいのでUnofficial Mirrorを使います。
- WiringPi 2.70をRaspberry Pi OS(Bullseye)にインストールとLチカ、Busterにも #RaspberryPi – Qiita
- GitHub – WiringPi/WiringPi: The arguably fastest GPIO Library for the Raspberry Pi
以下コマンド順番に実行。
# fetch the source
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
# build the package
./build debian
(dpkg-name: info: moved 'wiringPi.deb' to './wiringpi_3.6_arm64.deb') みたいなログが出る
↓出力された.debのファイル名に置き換えて実行
mv debian-template/wiringpi_3.6_arm64.deb .
# install it
sudo apt install ./wiringpi_3.6_arm64.deb
インストールが出来たら以下コマンドで確認。
$ gpio -v
gpio version: 3.6
Copyright (c) 2012-2024 Gordon Henderson and contributors
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Hardware details:
Type: Pi Zero2-W, Revision: 00, Memory: 512MB, Maker: Sony
System details:
* Device tree present.
Model: Raspberry Pi Zero 2 W Rev 1.0
* Supports full user-level GPIO access via memory.
* Supports basic user-level GPIO access via /dev/gpiomem.
* Supports basic user-level GPIO access via /dev/gpiochip (slow).
アンインストールする場合は以下。
$ cd WiringPi
$ ./build uninstall
gu3000のビルドを試みる。
git clone https://github.com/ryomuk/gu3000.git
cd gu3000/src
make
cd examples
make (or cd to subdirectory and make)
特にエラー無く終了してビルド完了。testを実行してみる。
cd gu3000/src/examples/test
./test
無事起動したけどGPIOに何も繋いでないのでRDY信号待ちがタイムアウトして終了した。正常に起動できてるっぽい。これでソフトウェア周りはもう90%終わったようなもん…。
GU3000::init(): Cannot initialize VFD (RDY timeout)
次にハードやっていく。以下コマンドでラズパイのGPIOのピン配置が確認できる。
$ pinout

USB電源でブートさせてるのでGPIOの5V電源でブートさせてみる。
最終的に使うのは12V電源なので12V->5Vの降圧を行う。以前に買っておいた降圧コンバーターを使う。
こんなちっこいやつ買ってた。可変電圧も固定電圧もできるっぽい。
使い方メモ。5V固定で降圧するには5Vのところにはんだを盛ってショートさせる。

これでいけるかと思いきやOUTからなぜか3.6Vくらいしか出てなくて使い方をサーベイ。
表面の赤丸の部分が最初からはんだでショートされているので、これをハンダ吸い取り線とかで取る必要があった。これで固定降圧モードになるっぽい。

12V->5V降圧成功!よかった。5.17Vで少し電圧が高い気がするけど安かったので許容。

ラズパイのGPIOにピンヘッダ実装していく。ちゃんとしたピンヘッダ意外と高いのでそんな高級ピンヘッダ持ってなかったからよくわからん曲がった激安ピンを切って使う。ニッパーで切っただけなのでどうみても不揃いです。


これでGPIO4(5V)とGPIO6(GND)に5V入れたら電源がつくはず…ついた。が、ラズパイのI/Oアクセスランプ?が同じパターンで点滅を繰り返してブートせず…。USB電源に戻したら普通にブートする。
よくわからんのでサーベイ。ブート時に電圧が落ち込む?そんな変な電源使ってないからいけそうな気がするけど、電源GPIOに470ufのキャパシタつけたら起動したとか書いてるのでやってみる。ちょうど470uf持ってた。

半信半疑だったけど起動した…。と、思って一応何回か試したらやっぱり起動しなくなった。
電源に使ってるコード周り見てみる。コードとコードをつなぐ中継部分が結構ユルユルだった事が判明。これあまり接点していない気がするので、もしかしたらここでブート時に必要な電流流せてないのかも。
もう少しガッチリ差し込めるコード探して入れ替えてみたところ…キャパシタ無しでも起動した!2,3回トライしたけどちゃんと起動した。永遠悩む可能性あったので本当によかった。コードの太さとか長さってかなり重要という事を改めてわかった。
あとこのラズパイは最終的にはスタンドアローンで運用するので、電源断ってどうしたら良いかちょっと疑問だったのでサーベイしてみた。おお、ROM化したら書き込みの中断による損傷を防げるからこれで運用できるってわけ、なるへそね。わざわざ外部ボタンつけてshutdownコマンド実行してOSのシャットダウン確認してから電源断する必要あんの?て思ってたからかなり有益情報です。意外とラズパイ界隈でこの情報説明してるとこ無くない?
5Vブート問題周りでかなり時間使ってしまったので本日の進捗はここまで。というかまだ体がダルい。本当に明日働けるのか。
エリート飯。冷凍の”ザ★®から揚げ”のニンニク臭がすごくて完全に嗅覚がイッてるわけじゃなくて安心した。

おわい