🗐 電装工芸日記 - 舞台照明機器の製作とか -

今年は開発案件を進めたい

or 管理画面へ

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

Icon of admin
 DMX-Timer はRS485トランシーバーICのハンダ付けが甘かったのが原因でした。不規則にICの電源が落ちてカウントがリセットされていたようです。
 カウントのズレが一定ではなく数時間のこともあるので不思議でしたがリセットされてしまったなら仕方ありません。仕切り直してチェックです。
 設計に手落ちがあると怖いので追加の製造を止めていましたが、24時間様子を見て大丈夫そうなら続きを作りましょう。

#ガチ工作 #器具の製作
Icon of admin
 客席テーブルの脚を作りました。角パイプに穴を空けます。
 治具を作ったので手早く加工出来ましたが穴数が多いので結構な手間でした。
 サビると悲しいのでとりあえず塗装。ミッチャクロンをした後の捨て吹きが終わったところです。
 30分くらい放置して本塗りです。塗膜を厚くすると差し込めませんのでほどほどに。

#ガチ工作 #器具の製作
Icon of admin
 客席テーブルは必要な用品や加工方法がまとまりました。
 治具は二転三転しましたが、許容範囲の誤差が出せるレベルまで行きつきました。
 明日は時間が取れるので1台組み上げてみます。

追記
 と思った翌日、雨であります。
 困った。

#ガチ工作 #器具の製作
Icon of admin
 DMX-Timer は耐久試験のため3週間ほど電源を入れっぱなしにしましたが誤差が変わった様子。
 キチンと測ってはいませんが、24時間あたり2秒くらいズレています。約23ppmです。耐久試験の前に計測した際はほぼ合っていたのでナゼでしょう。
 水晶発振子のデータシートにはエージングで変化があると読み取れることが書いてあります。エージングとはどれくらいの時間経過した状態を指すのか書いてありませんが、このままでは気分が悪い。せめて水晶発振子のデータシートの誤差には収めたい。24時間で2秒なら実用上の支障は無いと思いますが誤差の再チェックです。
 今週末、第一弾納品(プレゼント)をしようと思っていたのですがどうしたものでしょう。

#ガチ工作 #器具の製作
Icon of admin
 Nim を勉強していますとちょいちょいオブジェクト指向が見え隠れします。イテレータのことを整理していてこれはオブジェクト指向だなと思ったワケです。
 ですが、無制限に継承を重ねて手を付けられない迷宮にならないように抑えている感じがあります。ふんわりとしたオブジェクト指向とでも呼んだらいいのでしょうか。むしろイイですね。
 ただ、達人たちには不足で初心者には理解し難いと思います。私の感覚ではバランスが良いと思うのですが、悪く言えば中途半端なこの感じこそ Nim が普及しない理由かもしれません。

 Nim の使用率(普及率)については Github に上がっているソースなのか、専門家向けのアンケートなのか、どの様なサンプルを元にしたのかわかりませんが、低レイヤーの扱いをここまでスッキリ書けてバグが出にくいプログラム言語も他に無いと思うので不思議です。C言語は現代プログラム言語の祖であり、自由度が高く低レイヤーのプログラムを得意としますが、注意しないとバグというか無自覚に地雷を埋めてしまいます。Rust 程ではありませんが、Nim は地雷を埋めにくいプログラム言語だと思います。
 勉強中の私が言うことではありませんが、C言語やC++を操る人が「この程度のこと、もっとスッキリ書けないのかよ!?」って感じたことに応えるっぽい構成なので、初心者向けかと聞かれたら違うような気がします。C言語を扱える人向けのスクリプト言語ってのが今日時点での私の評価です。

#Nim
Icon of admin
 Nim はC言語でやれることを全て出来るのに凄くシンプルな記述です。Python と同じではないけど近い感覚で書けるのがいいですね。
 中間言語的にC言語に吐き出(トランパイル)してから gcc などでバイナリまで作る構成ですが、C++ や JavaScript にもトランスパイル出来るのだそうです。C++ も JavaScript も知らない自分にとってはC言語として保存出来るならそれでいいのですけどね。
 C言語を経由するのでC言語を知っていた方がいいみたいです。C言語で作れる低レイヤー(ハードウェアにより近い部分)の処理を Python みたいな記述で比較的簡単に書けることがメリットですが、途中でC言語になるのですからそれを知らずに使えるかと問われればどうなんでしょう。C言語の概念が刷り込まれてしまった私の脳ミソではそれを外した評価など出来ません。
 今日勉強していた内容ではポインタの概念が必要でした。C言語の要素の中で最も理解し難いと言われるポインタです。わかってしまえば大したことではなく、私の場合は長く書いてきた PIC16 のアセンブラに置き換えながら抽象化の意味を探ってみたら解決しましたが、アセンブラの概念が無い人にポインタをわかってもらう説明ってどうやったらいいんだろうって考えるとなーんにもイメージ出来ませんでした。
 他人に Nim を教えようなんて思ってもいませんが、C言語を全く知らずに低レイヤーのプログラミングをするのは無茶だと思った今日の休憩時間でした。
 Nim と共にC言語の勉強も継続した方が良さそうです。Rust の世界からは退場することにします。

#Nim #C言語
Icon of admin
 AI/Geminiさんに Art-Net の送受信について聞いてみましたが簡単です。ソースコードなんて呪文ですが、EtherNetのUDPの扱いは基本中の基本なのかややこしいことはありません。
 Nim を書くにあたっては、人が書いた教科書で基礎を学び、応用というか機能の使い方は AI/Geminiさんに聞くのが良さそうです。これまで通りっちゃこれまで通りですけど。

 受信して共有メモリに蓄えることから始めましょう。

#[Art-Net] #Nim
Icon of admin
 Nim の教科書が入荷しましたので勉強開始です。
 一通り勉強するのに半月はかかりそうですが、良くも悪くも他の言語で右往左往したことが役立ってます。
 Python に驚くほど似ています。全く同じではないのですが、すごく似ています。スクリプト言語っぽい表現で低レベルのことが書けるのはイイですね。
 複数人での大規模開発には Rust に比べて不向きかもしれませんが、一人で作る用途にはおススメ出来ます。
 他の言語に比べネットに情報は少ないですが、使っている人が少ないためか読み手を混乱させるゴミ情報が少ない感じがします。情報は量ではなく質ですからイイことです。

#Nim
Icon of admin
 新型のC型30A-平行変換は必要な部品がすべて手配出来ました。
 C型30Aプラグ、平行コンセント、ケーブルグランドの入荷は6月末の予定ですが、ケーブルは早々に入荷見込みなので作業は始められます。
 ナフサ不足の影響はありますが、手に入らないワケではありませんでした。よかったよかった。

#ガチ工作 #器具の製作
Icon of admin
 Nim のことを少しかじってみましたがイイですね。
 普及率が低い言語なので情報が少ないですし、個人レベルのコミュニティで開発されているので配布やメンテが突然終わってしまうかもしれませんが、C言語に変換してから gcc でコンパイルするってのがいいですね。Nim で書けなくなってもC言語としては残るのです。今やC言語は古代語みたいな存在感ですが、私が生きている間に消え去ることは無いでしょう。扱える言語として残せるなら問題なかろうと思います。
 それにも増して、初めて眺めた Nim のコードが何となく読めることがイイです。自分が勉強したのは Python3、C言語(ANSI)、Rust ですが、Pythonに他の言語の方言が少しずつ混じったと思えば済んでしまいそうです。変数の型指定が必須の Python と思えばいいようです。
 コード書きで飯を食おうなんて思っていませんし、自分で組んだハードウェアを動かすことが目的ですので、Nim の普及率が低くても問題はありません。少ない学習コストで短期間で書けるならそちらの方にメリットがあります。もちろん、RaspberryPi でも使えます。
 AI/Geminiさんにお聞きしたところ、コンパイルには注意が必要っぽいです。コンパイルにはデバックレベルとリリースレベルがありますが、リリースレベルは最適化が強いので、デバックレベルでは動いたコードがリリースレベルでは動かないことがあるそうです。これはメモリキャッシュに代表される挙動の違いらしいので、この辺りをキチンと追い込む必要はありそうです。
 何にしても、Python 並みに書きやすく読みやすく、C言語で出来ることはほぼ100%実現可能で、C言語やC++並みの速度で動くなら願ったり叶ったりです。

追記
 Nim の教科書をポチりました。明日入荷だそうです。
 まずは読んでみましょう。

#Nim #C言語

■思ってみた

陽が伸びて暑さを感じるようになってきました。

編集

■複合検索:

  • 投稿者名:
  • 投稿年月:
  • #タグ:
  • カテゴリ:
  • 出力順序:

■日付検索:

■カレンダー:

2026年6月
123456
78910111213
14151617181920
21222324252627
282930

■カテゴリ:

■最近の投稿:

最終更新日時:
2026年6月18日(木) 18時19分33秒