海月玲二
2017-04-06(木)

無題

先日修理したつもりの時計が,またいつのまにか狂うようになっていた.どこが悪いのかさっぱりわからずお手上げなので,いいかげんあきらめて別の時計を用意することにした.

今回は,LEDをいっぱいつなげたパネルを買ってきて,Raspberry Pi zeroをつないで時計っぽく光らせてみた.いちおうちゃんと動いているようす.Pi zeroはntpで時刻を合わせているわけなので,そうそう狂うようなことはあるまい.思ったよりでかくて明るいので,見やすくてよい.

パネルを光らせる時計プログラムを書くのには,誰かが作った制御用ライブラリを使ってみた.ちゃんと動くし使いかたも簡単だし,古代人としてはC言語でも使えるのが助かる.

ところで,RPiの出力は基本的にオンとオフしかないので,中途半端な明るさにして中間色を表現するのには,PWM(パルス幅変調)を使っているらしい.それはいいのだが,説明には「8色でよければRGB1ビットでいいので,PWMを1ビットに設定すれば負荷が軽くなるよ」とか書いてある(まことに尤もだと思う)のに,なぜか2ビットにしないとうまく光らなかった.表示させてる色はR0G0B255なので,1ビットでいいはずなんだけど.よくわからん.それでもCPU負荷は顕著に下がったからよしとするか.あとPWM周期らしきものを長くしてもCPU負荷が軽くなるようだが,なぜかプログラム中で設定してもうまく効いてない.なんでだ.

いちおうCPU負荷10%台まで下げられたので,とりあえずいいことにした.あとはなんかカバーかケース的なものをつけてやらんと,猫が触って壊したりしそうだな.