7セグ&LEDリング時計の製作

7M4MON 2021/Nov/1



以前制作した、『電車でGO!マスコンで鉄道模型を運転しよう!』の表示部を流用して時計を作りました。


1.いきさつ

電車でGOのコントローラーには懐中時計を置くためのくぼみがあり、そこに、鉄道模型の制御装置の表示部を入れたいと考えていました。
電車でGOのコントローラーでBVEを遊んでいた際、デジタル式の速度表示の周囲をLEDが囲んでいるタイプの運転台を発見し(阪急7300系?)、
これを採用することにしました。


鉄道模型で遊ばないときは時計に流用できそうだな・・・とインターネットを探ると、
Alexander氏が発表した、Arduino Clock with Neopixel Ring Animation を発見しました。
まさに求めていたものですので、方針はこれで決定です。


2.ハードウェア

電車でGOのコントローラーの懐中時計用の窪みの直径は6cm程度で、データシートなどの情報から寸法を調べてイラストレーターで検討した結果、
12個のLEDリングと0.36インチの7セグディスプレイの組み合わせが良さそうです。


ちなみに元ネタは24LEDと0.56インチの7セグディスプレイの組み合わせです。
イラストレーターでの検討でリング内にディスプレイが収まっていないことに違和感を覚えましたが、
実際写真を良く見たら入ってませんでした。
となると、固定用の穴 (Φ2mm) は必要ですし、12という数は時計にとっては特別な数字ですので、R12 Large を採用することにしました。
7セグLEDは、制御部から表示部までの配線が煩雑になることを避けるため、TM1637が搭載されているモジュールを採用しました。

表示器は、2mm厚・直径50mmのアクリル円板[AE121]の上に、5mm高のプラスチックスペーサー[TP2-5]を介してユニバーサル基板を設置。
このユニバーサル基板にコネクタとTM1637のディスプレイモジュールを実装しました。
LEDリングはアクリル円板から15mm高のプラスチックスペーサー[TP2-15]で固定しました。
スペーサーが基板に干渉しないように、基板側を卓上ノコでカットしています。
2mmのアクリル板にはM3ネジをタップしてΦ15のネオジム磁石を皿ネジで取り付けました。



LEDリングへの配線は目立たないよう白灰黒にしています。時計のプログラムを優先し、LEDの1番目が頂点になるように設置しました。
パワーパックのプログラムでは、OFFSET_LEDSを定義して、set_led_ring() 内の最終出力段で順番を入れ替えています。


3.プログラム

ディスプレイ駆動の方式をシフトレジスタから、TM1637に変更しましたので、Alexander氏のプログラムはそのままでは動作しません。
プログラムの中を見ると、DSPLクラスに諸々の処理が記載されていて、これをTM1637のライブラリ向けに書き直せば良さそうです。
DSPLクラスはいくつかのメッソッドがありますが、実際にハードウェアに書き込むのは show メソッドです。
このメソッドの中で、点灯するセグメントにビットを設定しています。
また、表示のフォントはクラス内で定義されていますが、TM1637ライブラリと順番が逆なので、ビット反転したものに置き換えます。
その他、ハイフンや"L"等のビット反転と、初期化処理をTM1637向けに変更すれば完了です。

ついでに、コンパイルオプションを2点追加しています。


変更したコードはgithubに公開しています。


4.その他

表示器のパーツ一式はAliexpressで注文していますが、注文確定後にセラーが追加の費用を要求し、
更に偽の追跡番号を記載し、実際は送らないという事件がありました。

The seller required EXTRA FEE.
"""
As you know, the price of this product has increased sharply in the market.
We have already sold you at a very low profit price
But as for this order ,you need to pay extra 4 dollars ,do you agree?
If you agree, you can pay to our account
l??????????6@hotmail.com
After payment please tell us the paypal transaction ID
"""
-> but I did not read this message.

The seller told a FAKE TRACKING NUMBER.
-> but I did not know that is fake.

The tracking number went to different address, and the item status changed to "Delivered".
So I requested to give me the correct tracking number in message center.

The seller replied that he had not shipped the package.
"""
Since long time still not get your reply about whether you want to cancel this order or not.
And Aliexpress sending parcel time is due, the only thing we can do is writing a tracking number firstly.
But as we do not know you want it or not, we actually do not send the parcel out for you.
Pls do not worry, if you still want it , how about we resend to you in your new order?
Or if you do not want it, could you pls give us your paypal accout, we could refund for you.
"""

I chose Dispute Reason: "No tracking information", because the seller did NOT SEND the item.
But, at first, AliExpress proposed a solution "NO Refund".
So, I upload the screenshot the conversation with seller.
AliExpress changed the reason and refund full amount.

The money was returned, but I wasted my time.


その後、別のセラーから数十円高い値段で購入できましたので、購入した金額が相場から特別安かったとは考えられません。
合計7ドル程度の注文で4ドルを追加要求してくるとは、どういった了見なのでしょう。
5年以上の実績と97%以上の Positive feedbackのあるセラーでしたので安心していましたが、実に中国らしい顛末です。