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

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

or 管理画面へ

2026年の投稿[29件]

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

Icon of admin
 DMXtimer の基板を発注しました。
 ドル立てでは値上がりしていませんが、為替相場の影響で円にすると高くなった感じがします。
 194x50mmの基板が10枚で60USD、送料含み日本円で12,500円くらい。無加工の感光基板より安いのですから、高いと言ったらバチがあたります。

 基板の姿図です。
20260331152926-admin.jpg
202603311529261-admin.jpg

#ガチ工作 #器具の製作
Icon of admin
 時間が空いたので DMXtimer の回路図を書いてみました。短時間で描いたのですこし雑です。
20260331120407-admin.jpg
※ 基板の都合に合わせて回路を変更しました。
 基板を書いて中華基板に発注しましょう。

#器具の製作
Icon of admin
 「DMXタイマー」は私が作るモノに興味を示さない部下ですら「欲しい!」ときました。興味を示さないのは話や図だけでは物の想像が出来ないからですが、DMXタイマーは伝わり易かったようです。
 こりゃ作るしかありません。
 必要な技術は大したことありませんが、7ゼグを点灯させるのに電力をそこそこ喰うのと、時計としてどれくらいの精度を求めるかによって労力が違います。
 分を二桁、秒を二桁、1/10秒を一桁にしようと思います。時間値をどうするかは思案中ですが、24時間表示にしとけば後でタイムコードの表示にも使えるかな?
 フィクスチャープロファイルを自作出来ない調光卓もありますのでディマーとして扱えればいいかなと。動作はDMXアドレスを512ch固定、値000で停止クリア、値001以上でカウントとします。これでカウント開始を255と打ち込めばゆっくりF.Iでもそれほど遅れないかなと。

#器具の製作
Icon of admin
 お世話になっている他社さんからの依頼で現地照明の増員でした。
 そこで話をしていたところ、調光卓のGOボタンで動くストップウォッチが欲しいとのこと。ストリートダンスなどの音源演目の現場で調光卓とストップウォッチを両方叩くのは手が足りないことがあると。うん、よくわかります。
 条件を整理しますと、曲に対する最初のCUEでストップウォッチが動き出し、曲が終わったところで停止というか次の曲の開始までにリセットされていればいいと。まさにその通り!
 以前、音源に合わせたタイムコードを出力する研究をしていました。これとは違ったアプローチですが求める本筋は同じです。
 さてどうするか。MA系の卓ですと接点出力がありますのでこれを用いてストップウォッチを制御する方法もありますが、汎用性を考えるならDMXで動くストップウォッチがあればいいのでは?と閃く。
 例えば、512chが000なら停止、255ならカウント開始みたいにしておいてディマー感覚でCUEにデータを入れておけばいいってことです。ストップウォッチはカウント開始、停止、クリアの3つの動作が基本になりますのでそれぞれに値を割り振っておけばいい。F.Iの始まりでも動いて欲しいので001でカウント開始がいいのかな?卓とは無関係のストップウォッチを手操作で動かすよりは便利になればいいので厳密さはボチボチでいいと思う。
 なんにしても、「DMXタイマー」って名前で試案してみましょう。

#器具の製作
Icon of admin
 Art-Net / ArtDMX を受信して何かをするプログラムを書けそうな気になってきました。
 まずはコンソールを1台とし、ループバッファに Art-Net をひたすらスタックし、最新の ArtDMX を dump 表示させるものを製作しましょう。これが出来なきゃ何も出来ないってくらいシンプルなものです。
 ここから複数コンソール対応など、データの取り扱いを色々実験していきます。[コンソール]-[ユニバース]-[データ] の3階層のデータ管理を十分に煮詰めずに先に進んでも良いことはありません。以前の試作から進んでいなかったのはこの辺りに原因があります。このところ AIさんとやり取りしていたのはデータ管理を整理するためです。

#器具の製作 #[Art-Net]
Icon of admin
 AI/Geminiさんに聞いたところ、RaspberryPiでは4byte単位、4kB単位でキリ良く考えるとストレスが少ないのだそうな。1byte単位のデータでも4byteで扱った方が良いってことです。
 パディング対策して詰め々々がイイって話を振ってきたのもGeminiさんですが、知識のある年寄りに時間を開けて話を聞いた時のような困惑を感じたりしたり。。。

追記
 4byte、64byte、4096byte区切りでメモリを扱う様に構造体などを定義すると良いのだそうです。更に、構造体のメモリ上のアドレスをアトリビュートで64の倍数値にするのもお勧めとのこと。
 4byteはCPUのレジスタの長さ、64byteはキャッシュの転送単位、4096byteはメモリページの扱い単位です。
 気にしなくても動きますが、CPUやOSの挙動において無駄を省くことに繋がるらしいです。

#C言語
Icon of admin
 C言語の共用体(union)ですが、教科書やら動画を見ますと「あまり使い道が無い」的な解説が多いような気がします。
 されど、今回のArt-Net系の装置では便利です。Art-Net のポート番号 0x1936(6454) の受信値をとりあえず突っ込むだけで要素毎に取り出すことも出来るからです。例えば ArtDMX は530バイトのパケットですが、受信値を uint8_t[530] (または unsigned char[530]) の配列として保存するだけで ArtDMX の構造体としても扱えます。パディングに注意は必要ですが、便利に使えると思うのです。ID、OpCode、ProVer をまとめて評価するのに先頭12バイトを uint8_t[12] としておいて memcmp で判別することも出来ます。AertDMX と別種の Art-Net パケットもシームレスに扱えそうです。
 天才を超越した神たちが何故 union を作ったのかを考えるとワクワクします。

 とまぁ、最近C言語の理解が進んで一人笑いが止まらないアホの戯言でした。

 オレメモです。
 gccで構造体のパディングを回避する書き方。struct に続いて「__attribute__((__packed__))」を入れるそうな。gcc独特の書式らしいので、コンパイラに合わせた書式を使ってください。

typedef struct __attribute__((__packed__)) {
 uint8_t ID[8];
 uint8_t OpCode[2];
 uint8_t ProVerHi;
 uint8_t ProVerLow;
 uint8_t Sequence;
 uint8_t Physical;
 uint8_t SubUni;
 uint8_t Net;
 uint8_t LengthHi;
 uint8_t Length;
 uint8_t Data[512];
} ad_t;

ad_t ad_data;


 ArtDMXを保存する構造体はこんな感じに書けばよいのでしょう。たぶん。
 この型を sizeof で見て530バイトならヨシです。

 ついでに共用体の定義(案)です。

// Art-Netの受信値を収める構造体
typedef struct __attribute__((__packed__)) {
 uint8_t resv[530];
} an_t;

// ArtDMXを取り出す構造体
typedef struct __attribute__((__packed__)) {
 uint8_t ID[8];
 uint8_t OpCode[2];
 uint8_t ProVerHi;
 uint8_t ProVerLow;
 uint8_t Sequence;
 uint8_t Physical;
 uint8_t SubUni;
 uint8_t Net;
 uint8_t LengthHi;
 uint8_t Length;
 uint8_t Data[512];
} ad_t;

// Art-Netの受信値を保存する共用体ループバッファ
union {
 an_t an_resv;
 ad_t ad_data;
} an_stack[8192];


 こういうことでいいのかな?
 共用体の書き方はまだよくわかってないのですけど。

 共用体の配列を作って Art-Net のポートで受信したパケットを延々と保存します。8191番まで記録したら0に折り返すループバッファです。
 8192個あれば44fps、8センダー、各16ユニバースで最短でも1.45秒分の保存が出来るハズです。十進数で8192なのは2進数(16進数)でキリの良い数値のため折り返し評価が少ない処理で出来るからです。十進数8192は16進数0x2000でキリがよく処理しやすいのです。このあたりはアセンブリ言語だけでPICマイコンと会話をしてきた者にとって自然な着想です。10進数は人が日常的に使い慣れているだけで特筆するほど合理的な数体系ではありませんし、今どきのコンピュータ(論理回路)に合わせた方が便利です。

 ヘッダーチェックは当該の配列要素(例えば an_stack[1024] )を示すポインタからmemcmpで12バイトをチェックすれば済みますので共用体には定義しません。
 ArtDMX以外のパケットにも使えるチェック方法です。

#C言語
Icon of admin
 先日の現場はヒマな時間が長かったのでC言語の教科書を読みまくってみましたがかなり整理出来ました。
 昨今の教科書はポインタの説明が丁寧です。ハードウェアとしてのメモリの動作がアタマに入っていないと分かり難いことですが、私はPICのアセンブラで普通に扱ってきたことなので改めてではありますが素直に理解出来ました。わかってしまえばむしろ便利だなと。変数の読み書き方法が何種類もあることになるので混乱すると思いますが、どれもメモリへのアクセス手段だと捉え直せばいいだけでした。このあたりが整理できるとmmapも自然に理解出来ます。
 ヘッダーファイルはコピペでテキトウに書いていましたが、意味と書き方が整理できました。後はmakefileが整理出来れば良さそうです。

#C言語

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

Icon of admin
 部下には花粉症持ちが沢山います。軽症な者もいますが、重症な奴は鼻水ダラダラ目が腫れて口やノドの中が痒いと言ってます。見てて気の毒になります。
 少しでも楽になるように何かしてあげたいのですが、どうしたらいいものか。
 何か作れないかなって工作のネタです。ちなみに、昭和生まれ昭和育ちのおじさんの辞書に「花粉症」という言葉は載っていません。

 重症な奴に聞くと「お風呂に入っている時は凄く楽で幸せ」とのこと。花粉症の症状が劇的に治まるのだそうです。花粉は湿度が高いと飛び散らないので、花粉が無いのと同じになるのかな?。
 部屋の中は空気清浄器と加湿器で対策もしているそうですが、無いよりは楽だけれど、入浴中の浴室には敵わないそうな。
 そこで湧いてきたのですが、空気をそんな空間に通す装置があったらどうだろう。湯船にお湯をためた浴室に通した空気を部屋に導き入れるイメージです。高湿度フィルタって感じですかね?。室内を浴室の様な状態するワケにはいきませんので高湿度にする加湿器は違うような気がします。
 さらに聞くと、マスクの中に入れる濡れフィルタは効果があるそうな。濡れフィルタに花粉が吸着するのでしょう。ただ、しばらく時間が経つと濡れフィルタに付いた花粉を吸うことになるので、短時間ならいいけど良し悪しだそうな。
 そこで思い付いたのですが、リング状にした布地や紐を水にくぐらせながらグルグル回して風を当てたらどうだろう。ゲル状で空気中に漂う水に花粉を触れさせるのが一番効果的なイメージはあるけど、水に触れさせるのは効果があるような気がします。リング状にした布地や紐を使うのは水の表面面積を増やす意味です。くぐらせる水の容器に超音波振動子を入れておけば布地や紐に付いた花粉を落とせるかなってイメージもあります。
 もちろん、水を張った容器の底から空気を出す方法もありかなと。水槽のエアレーションのイメージです。エアーポンプの中を花粉が通るのか?って疑問はありますケドね。

 アレルギー反応でアタマがボーっとするらしいし寝不足も困ります。人材は機材ぢゃありませんが、メンテナンスのための専用工具を作るイメージで取り組んでみましょう。
 ちょうどというか、自宅の石油ファンヒーターが1台不動になってしまったのでこのドンガラを使ってみましょう。

追記
 調べたら、水をフィルタにする空気清浄機がありました。「水空気清浄機」とか「水式空気清浄器」と呼ばれる種類の様です。
 これらが花粉症に効果があるかは不明ですが、作るとしたらのイメージの一つなのは確かです。
 さてさて。

#器具の製作
 
Icon of admin
 糸ハンダは白光(Hakko)さんの製品を使っています。長年愛用しているだけと言えばそれまでですが、伸びや馴染みが良くて使いやすいと思います。
 そんな白光さんの糸ハンダですが、製品ラインナップが変わった様子。これまでは150gや300g巻きでしたが、ホームページを見ると一般向けは100m巻きか1m巻きになっています。ただ、近所のホームセンターには100m巻きがありません。一般的なDIY用途なら1m巻きは正解かもしれませんが私にとっては物足りません。amazonさんに以前の150g巻き製品がありましたので、とりあえずポチっときました。
 ちなみにハンダコテは「FX-600」を使っています。これも白光さんの製品です。簡易的な温度調整機能が付いていますが、設定温度を高めにするとすでに付いたハンダを取るのが楽です。先端は相手物に合わせて使い分けていますが、平べったくて幅のある物が便利です。ムービングライトの修理で表面実装のICを取り外した際には幅広の先端で設定温度を高めにしたところ楽に作業が出来ました。

#電子工作

■思ってみた

春が近づいてきた感じがします。

編集

■全文検索:

複合検索窓に切り替える

■複合検索:

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

■日付検索:

■カレンダー:

2026年3月
1234567
891011121314
15161718192021
22232425262728
293031

■カテゴリ:

■最近の投稿:

最終更新日時:
2026年3月31日(火) 15時29分45秒