実は、スピードメーターを作ろうとしている。
機械と言うのはなんと無く正確に動きそうなものであるし、
言わばプロ用であるためにあまり人に優しくない面がある。
つまりは、エンジンとタイヤだけで走っているトラックみたいな物なのだ。
これが正しく走るには日頃のメンテ、環境の整備、作業を正しくやる事が絶対に必要。
ただ、ここはマレーシアなので、雷の影響?、アースがいい加減、メンテに至っては…
と言うようなのが日常茶飯事。
全てに手が回らないのである。
と言うわけで、スピードメーター位は付けてやってどう走っているか見ながらやろうよ、
と思っている。
車ではないのでいろいろな所のスピードを一括して表示したい。
スピードはいろいろ変化するわけではないので一定の範囲の中の違いがわかれば十分。
と言うことで、表示はそのスピードを示すLEDが光るだけにする。
横並びのLEDの列を上下に置いておけばビジュアル的に
いつもと調子が違っていた時にだれでもすぐわかるという仕組みだ。
ところで、今日は74HC575を2個だけ使って別々の表示ができるのを確認したところまで。
知っている人なら全然難しくないらしい。
下の図は、この配列を使ってLED列のある1個を点灯させると言う所。
配列に点灯させる1個を全部書いておくと言う、ちょっと幼稚なプログラミングの例。

こちらは2列を別々にシリアル出力しているところ。

1つのArduinoでできるだけ多くの出力を得たいと思ってクロックピンは共用できるかのようなのを
テストしてみたけれど、やっぱりできなかった。
なので1つのデータ出力には必ず1つづつ、ラッチとクロックは必要らしい。
と言う事は、1個のArduino Unoでは4つの列のメーター出力しか出来ないらしい。
(入力はまた別に使うので転用しない。)
そうすると、同じ物を2セット作るか、Megaに替えるかしなければならないけれど、
Mega互換機1個買う値段でUno互換機は3つ買えるからUno2セットの方が良いと思う。
スピードメーターだけれど、自動車のそれみたいにリアルタイムに反応するのを作るつもりはない。
順番にゆっくり測って表示、ゆっくり測って表示のようなのにするつもり。
そう言えば、変数の定義はどこでやるのが正しいんだろう?
いろいろ例を見ていると最初のところにいきなり書く場合、
setup()の中、loop()の中といろいろある。
後で調べよう。