小ロット・急ぎのものづくり 何でも相談ください

ブログBlog

2024年07月22日 [アプリ屋さんのIoT]

7セグメント (1)

ルーレット拡張(7セグメント)1 前回、LEDルーレットを作成しました。今回はそれを拡張し、7セグメントを使って、普段利用するアラビア数字を表示させてみました。
7セグメントは百円均一などで販売されている、安い太陽電池式電卓やデジタル時計などで数字を表示する部品となります。

「8」の字を表示する部品、7セグメント。この名前の由来は、光点が7つあることが由来です。左右に縦2つずつ、上下に3段。計7つの光点となります。現在は、小数点を表示できるので、「8セグメントなのでは?」と思いますが、昔の名残かもしれませんね。


7セグメントは、回路の特徴(電源との接続方法)、発光色、桁数などをのバリケーションがあります。
今回は、5161BS(アノード接続、LED赤色。1桁)を利用しました。

前回まで、Arduinoのアダプタを利用して、ボードの上に存在するブレッドボードを利用していました。
しかし、今回狭すぎて・・・数字を表示する7セグメントを新しいブレッドボード上に作成しました。
前回同様、一方面から見やすい形を心掛けたので、配線のもっさり感が残念な気がしました。
プログラマ目線で見ると、クラス(インスタンス)が複雑に作用している様な気持ち悪さです。
リファクタリングをしたくなります。

ルーレット拡張(7セグメント)2 閑話休題。
7セグメントは、先にも説明しましたが、7つのLEDを点滅させて数字(+α)を表現します。その仕組みから、信号を受け取るピンが7本。小数点用の1本を追加して8本が入力となります。
5161BSは10ピンなので、残りの2本を入力を通電させるコモン(共通)となります。
仕様書を見ると気が付くと思いますが・・・LEDとの対応が複雑だったりします。
部品内の回路設計上、効率が良いのだろうなと思っております。
パズルゲームの様に、線をクロスさせないでつなげるので、理論上は簡単なのですが、回路内で信号の干渉が起きないようにテクニックがあるそうです。
5161BSのスペックシート(仕様書)はこちら(外部サイト)になります。

ソフトウェアを学ぶ上での最初の疑問点。255の壁。
2進数が解れば、簡単ですよね?
7セグメントは7ビットの情報ともいえるので、理論上127種類を表現できます。
16進数の「A」から「F」までを表示する制御プログラムを組み込み、エラーコードを表示する利用する方法もあるようです。
今回、桁数を増やすとき、ソフトウェア屋さんとハードウェア屋さんでは、見え方が違うんだな。と感じた次第です。

ソフトウェアでも、桁数は問題になりますが、64bitで19桁となり、一般的な金銭等(国家予算でも)なら十分と不思議な気分です。16bit時代に疑似的に32bit相当にする苦労したことはよい思い出です。


次回は、ソフトウェアとの組み合わせで試行錯誤した件などを、記事にしたいと思います。

IoT開発を行って、仕事の効率化や豊かな生活を送りませんか?
「Let's extend technology!!」
を合言葉に、
IoTの事例やヒント、開発記を投稿していきます!

ハードウェア業者と、話がうまくできない。
そんなときは、両方に対応している弊社にご相談ください。
お待ちしております!
WEBでのお問い合わせはこちらから

PageTop