2026年5月7日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 ムービングライトに不調が出ました。
 カラーホイールの原点が取れず色ズレになります。調べたところ磁気ホールセンサーが反応してません。
 基板のマイコンが壊れている可能性も否定出来ませんが、まずはセンサを交換してみます。
 秋月電子さんにサイズやピンアサインが同じモノがあったので発注しました。
 治るかな・・・。

#器具の修理
Icon of admin
 DMX-Timer は86時間30分経過で1秒弱のズレ(2ppm?)です。誤差を実測しても無意味な気分になってきました。
 比較に使ったのは iPhone アプリの「原子時計pro」です。たぶん、日本標準時のNTPサーバー(ntp.nict.jp)に同期する時計アプリだと思いますが、これ以上の比較対象を求めるのは無理だと思われます。
 試作1号機は無補正で24時間に8秒(96ppm)進んでいました。今後作る品は灯を入れて使ってみないとわかりませんが、製品の見た目がちゃっちいので、誤差表示を「±10秒/24時間(116ppm)」としておけばいいでしょう。製品一つ一つの精度確認などやってられませんから、これ以上ズレることはないって数値にしておくのです。
 116ppmは10分で0.07秒のズレですから、ダンス演目などで時間経過の参考に使うには十分だと思います。0.1秒の変化を読み取れて反応出来る人には物足りないでしょうけど、私には出来ないことなのでヨシとします(笑

#ガチ工作 #器具の製作
Icon of admin
 Rust を勉強しながら何となくですが「月刊マイコン」という雑誌を思い出しました。1995年4月に廃刊になってしまいましたが、コンピュータってモノに突っ込んだニッチな雑誌でした。
 こんな雑誌を購読していた小学生の自分はおかしなガキだったと思います。書いてあることのほとんどが理解出来ませんでしたが、コンピュータの可能性を感じてワクワクしながら読んでいました。その時感じたことが今の後押しになっていると思います。21世紀は夢の時代になるって世の中が感じていた時でもありますけどね。そんなガキでも「月刊I/O」はワケわからな過ぎてそっ閉じしてましたけど。
 漫画は買ってくれませんでしたが、インターネットなんて言葉すらなかった時代、こういった書物は惜しみなく買ってくれた両親に感謝する今日この頃。

追記
 「月刊I/O」は現存しているようです。
 購読しましょう。

#雑談
Icon of admin
 Rust の教科書は「所有権」や「ライフタイム」で大騒ぎしないモノがいいようです。大騒ぎする教科書はその厄介さを語って力尽きるのか「とどのつまり?」の説明が薄い傾向にあります。両方とも重要なことですが、これらが Rust の全てではありません。「cargo」と呼ばれるプロジェクト管理ツールを説明しない教科書は論外です。
 間違っても初めてのプログラム言語に Rust を選ぶのはお勧めできません。最終的に作りたいモノによりますが、html や Python あたりで成功体験を積み重ねて神エンジニアたちが目指したことを体に取り入れるのが良いと思います。Rust はC言語同様に理解するための前提というか基礎の裾野が広すぎるのです。
 私は回路設計とプログラミングの境界が曖昧な PIC16 で右往左往してきましたので脳ミソが少しおかしいのですが、C言語もそうですが、Rust を受け入れるにはこのコードでハードウェアが何をするかをイメージ出来るといいようです。両言語ともハードウェアを制御する傾向が強いからでしょうか。

#器具の製作 #C言語 #Rust

2026年5月5日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 Art-Net 関連品の開発では「Rust」を使うことにしました。
 Rust が持つ標準機能が Art-Net 関連品を作るのに絶大に有益なことがわかったからです。コレクションと呼ばれる機能です。
 新たな言語を勉強するのは大変ですが、C言語の方言と思えばゼロベースではありません。C言語を学んだことで Rust がすんなり自分の中に入ってくる実感があります。Rust を学ぶためにC言語を勉強するベキ!?ってことでもありますが、案外そんなもんかなと感じています。C言語でも Rust でもコードの裏側にあることは同じってことですかね。ハードウェアを動かすのがソフトウェアですから。
 あまりに便利なので Python みたいに遅くねーの?って疑問はありますが、コンパイルされたバイナリはC言語やC++に匹敵するらしいのでその評価を信じましょう。
 言葉は優しいですが、AI/Geminiさんのお言葉を要約するなら基板を作ってPIC16アセンブラを書いて RaspberryPi と協調動作する装置を作る素人(アマチュア)は斜め上過ぎる存在らしいです。私にとっては日常感覚ですケド、その延長かプログラム言語に対するアプローチも少し変みたいです。私からしたらパチンコやスロットで確率数値を操って常に勝ち続けてる人の方がどうかしてますケド。

#器具の製作 #C言語 #Rust
Icon of admin
 現場から上がったので DMX-Timer を確認しました。48時間経過したのにズレは1秒以下です。
 すごく良いことですが、誤差の数値を得られないと気持ちがスッキリしません。私の趣向的にモヤモヤしてるだけですけどね。。。
 なので継続してみます。あと1日で片付けないといけませんが72時間までチェックできるかな?

#ガチ工作 #器具の製作
Icon of admin
 DMX-Timer は終わりが見えてきました。次の課題はArt-Net 関連機器と行きたいところです。
 これらは RaspberryPi 上でのプログラミングが主となりますが言語どうするか。C言語か Rust の二択ですけど、未だに迷っております。この2種はハードウェアを扱うのに適した言語ですから Art-Net 関連機器を組むにはよいと思われます。両方を使いこなせればいいのですが、年齢的に一つでも辛いのに二つは無理。。。少し前までC言語でいくつもりで勉強していましたが、 Rust の教科書を斜め読みしたところ自分がやりたいことには Rust が向いているような気がして困っているワケです。
 Rust の情報に接しますと「所有権がぁ、所有権がぁ」と脅しの様に書かれております。これはC言語での「ポインタがぁ、ポインタがぁ」や、C++での「オブジェクト指向がぁ、がぁ」と同じです。身に着けないと使えないし身に着ければよりよいコードが書けるのですから身に着ければいい。簡単でないことは確かですが、言語をデザインした神エンジニアたちは苦労や混乱をさせたかったワケではありません。たぶん。
 開発には心の余裕とまとまった時間が必要です。なかなかそんな時間は取れませんので、引き続き妄想しながら勉強をしましょう。

#C言語 #Rust

2026年5月4日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 昨日修正した DMX-Timer は15時間経過でほぼ合ってます。このまま続けて誤差を出しましょう。
 48時間で1秒くらいだったらOKとし、誤差次第ではキャリブレーション機能を追加します。
 試作2号機が組めたら並列で試験です。

 修正前は8秒/日の誤差でした。カウント値を1秒毎に3つ多くすることで今があります。
 カウント値1つあたり2.6秒/日の補正ですので、これ以上細かい誤差は補正出来ません。

追記
 24時間経過で1秒以下の誤差です。
 見た目で数値がわかるわけありませんが、1秒の1/3か半分くらい遅れているように見えます。仮に0.5秒なら明日には1秒になるでしょう。
 今以上の補正は難しいので、この後は誤差を把握するだけにします。

追記の2
 34時間経過で誤差は1秒以下。
 何時間後に1秒ズレるのか確認しようと思っていますが、48時間で1秒くらいなら御の字なのでそこで終わりにしましょう。

#ガチ工作 #器具の製作

2026年5月3日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 ちょっと誤差計算しました。
 96ppmのズレってことは、8MHzのクロックで768カウント相当です。
 このクロックの256カウントで1カウントするカウンタを3,125カウントして0.1秒を得ていますが、これに閏カウントを1秒毎に3つ入れればイイとなります。各秒のアタマ(1/10秒がゼロの時)に768カウント分まとめて入れてもいいかな?違いは96usecですから気にならないと思う。これなら簡単かも。

 実際の誤差は96ppm丁度ではありませんし水晶発振子に誤差があるならば単純ではありませんが、1秒あたり256x3のカウント調整をすれば今よりずっと良い値になると思うのです。

追記
 モヤモヤしてしまうので書き直し。30分くらいの作業でした。
 またもや動作試験です。

#ガチ工作 #器具の製作
Icon of admin
 昨日は見間違えをしたようです。
 基準となる時計の00秒で DMX-Timer のズレを見るハズが逆をやっていたようです。
 先ほどチェックしたところ、120時間30分経過で42秒のズレです。誤差は 96ppm 程度。
 一定していますのでそういうものだとしましょう。
 昨日は34秒のズレだったワケです。

 この誤差ですと1日あたり8秒、1時間あたり0.346秒、10分なら0.0576秒のズレです。1秒ズレるのは2時間53分後です。
 DMX-Timer は計測や自動操作ではなく経過時間の目安を見るためのものです。量販店で手に入るストップウォッチと同等かそれ以上の精度ですから問題ないっしょ。
 時間があって気が向いたら精度を高める方法を考えてみましょう。

 もし、時計に相当する仕掛けを作るなら、それ相応の精度を持ったタイマーを使うか RaspberryPi などの NTPサーバーと通信出来るマイコンを使うのが良いかと。
 タイマーを使った定時実行のライトアップを毎年やらせて頂いていますが、年に一回の使用なので翌年のセットアップではタイマーの時刻がズレています。仕込み時に合わせれば問題ありませんが、この程度の精度で十分仕事になっています。より精度が高いのは NTPサーバーや基準電波との同期だと思います。1/100秒くらいの精度は出ると思いますので、年中動かしっぱなしならお勧めの方法です。

#ガチ工作 #器具の製作

2026年5月2日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 リノリュームを敷くだけ現場です。
 しばらく様子を見ようと思ったのですが大丈夫とのことで早々に退散。本番バラシは明日。
 中途半端に時間が空いたので DMX-Timer の基板をハンダ付けしました。
20260502143729-admin.jpg 202605021437291-admin.jpg
 ケーブル類を作って灯入れしようと思ったら用事が出来てしまったのでここまで。

 誤差確認は100時間と少しで26秒。
 昨日は25秒だったから1日で1秒!?
 あれ?
 エージングすると誤差が減るみたいなことが水晶発振子のデータシートに書いてありますが、そういうこと?
 昨日の段階で実用精度が出ていますが、興味深いのであと数日このまま動かしてみましょう。

#ガチ工作 #器具の製作

2026年5月1日 この範囲を時系列順で読む この範囲をファイルに出力する

Icon of admin
 本業が忙しくなってきたので工作は一旦休憩です。

 されど気になったので時計の精度について調べてみました。

一般的: 日差 -10〜+20秒程度
高品質/アンティーク: 日差 +30〜+60秒?
クロノメーター規格: 平均日差 -4〜+6秒以内
クォーツ式時計 通常モデル: 月差 ±15秒前後(日差にすると±0.5秒)
クォーツ式時計 年差モデル: 年差 ±5秒〜±1秒(超高性能)

 とのこと。
 一般的が「日差 -10〜+20秒程度」なら DMX-Timer はまぁまぁでしょう。

 比較対象は原子時計の値を表示するアプリやサイトを使うのが良さそうです。
 ネット回線の遅延もありますし観測期間が短いと評価が難しいので数日単位が良いと思います。4-5日動かして秒のズレで見ればいいかなと。

 妄想ですが、ネットに繋げて原子時計と比較して自動的にキャリブレーションが出来たらいいなぁ~なんて思います。
 DIYとして手に入る水晶発振子ですと温度による変動も大きいようです。製品によって違いますが、一般的には±20~100ppmくらいらしい。今以上の精度を求めるには温度管理が重要になりそう。こりゃ無理ってもんです。

#ガチ工作 #器具の製作
Icon of admin
 DMX-Timer を72時間試してみました。誤差は25秒、96ppm、昨日と同じ値です。このまま96時間(4日間)試しますが、試作1号機の精度はこの値とみてよさそうです。
 96ppm がイイのかダメなのかは使う人によります。私は十分だと思いますのでこれ以上頑張りません。
 もし時計として今以上の精度が必要になったら高精度な水晶発振子を使い、PICで組むとしてもカウント以外の処理をさせないように考えるべきでしょう。

#ガチ工作 #器具の製作