1

さて、摂氏で温度を表示するために、7セグメントベースのディスプレイを駆動しようとしています。したがって、2 つのディスプレイに加えて、正と負の数を示す追加の LED が 1 つあります。

私の問題はソフトウェアにあります。これらのディスプレイを駆動する何らかの方法を見つける必要があります。つまり、与えられた整数をピンの関連する電圧に変換するということです。つまり、2 つのディスプレイのそれぞれについて、整数の 10 の数と 1 の数を知る必要があります。

これまでのところ、私が思いついたものは、分割に依存しているため、arduino にはあまり適していません。

tens = numberToDisplay / 10;
ones = numberToDisplay % 10;

確かにこれはまだテストしていませんが、除算機能が制限されたマイクロコントローラーの場合、これは最適なソリューションではないと推測できます。

私は頭を悩ませ、加算/減算/ビット単位を使用して解決策を探しましたが、まったく考えられません。この区画は私が見ることができる唯一のものです。

4

2 に答える 2

1

出力を簡素化し、ピンを節約するために、7 セグメント ディスプレイ ドライバ チップを使用することもできます。MC14511BCP (「4511」) は良いものです。2 進化 10 進数 (BCD) を適切な 7 セグ構成に変換します。スペック シートはこちらから入手でき、オンラインの電子部品店で一般的に見つけることができます。

于 2013-03-04T02:21:27.983 に答える
1

このアプリケーションでは問題ありません。シンプルな温度計の性能に悩む必要はありません。

ただし、除算やモジュロよりも速いものが必要な場合は、ビット演算が役に立ちます。基本的に、ビットごと&の演算子を使用して、表示する値を、ディスプレイに表示される数字を記述するパターンと比較します。

たとえば、ここのプロジェクトを参照してください: http://fritzing.org/projects/2-digit-7-segment-0-99-counting-with-arduino/

于 2013-03-02T16:57:06.100 に答える