7セグメントディスプレイとArduino

7セグメントディスプレイ

ディスプレイは、いくつかの情報を表示するためにLEDで照らされるセグメントを備えた小さな画面です。 そのため、カウンターの数、センサーによって収集されたXNUMX進数の値など、ある種のデータを表示するのに非常に便利です。 ご存知のように、この種の 7セグメントディスプレイ 数字や文字、およびいくつかの記号を形成できます。 かなり限られていますが。

他にもあります より多くのセグメントの表示 より複雑な英数字または記号を形成できます。 これらの7セグメントディスプレイのいくつかを組み合わせて、より多くの図や情報量を表示することもできます。 実際、7つのXNUMXセグメントディスプレイを使用するモジュールなど、やや大きなパネルを作成するためにこれらの単純なディスプレイのいくつかが取り付けられたモジュールをすでに販売しています。

7セグメントディスプレイとピン配置操作

7セグメントディスプレイで文字を形成する

それは非常に単純です、それはいくつかの線を持つパネルです LEDで照らされています。 点灯している線によって、異なる文字が表示される場合があります。 この制御を実行するために、10セグメントディスプレイごとに7個のピンがあります。 各セグメントにXNUMXつ、ポイント(dp)と、画像に示されているXNUMXつの一般的なポイント。 それらを照らすには、マイクロコントローラーを使用して、照らしたいセグメントに電圧を送信して、必要なキャラクターを構成します。

通常、数字は常に表されますが、すべてではなく一部の文字を作成することもできます。 Y 少し想像力を投げる また、いくつかの記号。 これはすでにあなたがどのように考えるかという問題です。 しかし、もっと複雑にしたい場合は、 このようなセグメントが多いLCDディスプレイ.

ピン配置

7セグメントディスプレイのピン配列

POR ejemplo、「7」を作成するには、A、B、およびCを点灯できます。または、「A」を作成するには、dpとDを除くすべてを点灯できます。単純ですよね?

常にメーカーのデータシートを確認するか、 データシートを表示する あなたが買ったこと。 場合によってはバリエーションがあります。

あなたが覚えておくべき唯一のことはあなたが購入した7セグメントディスプレイが カソードまたは共通アノード。 コモンカソードには、LEDのマイナスピンに接続されたコモンピンがあります。これは、セグメントを照らすためにロジック1または高電圧で制御されることを意味します。 共通アノードの場合、存在するLEDのすべてのアノードは同じピンに接続され、低電圧または0によって制御されます。これにより、Arduinoマイクロコントローラーが0または1を送信してアクティブにする必要があるかどうかがわかります。 ..

Arduinoとの接続

7セグメントディスプレイとArduino接続

ブレッドボードをお持ちの場合は、 arduinoボードそして 7セグメントディスプレイ その使用のテストを開始するには、簡単に接続できます。 各セグメントを接続するピンを決定し、それを覚えて適切なコードを作成するだけです。 この場合、共通カソード7セグメントディスプレイが使用されているため、1またはHIGHでアクティブになります。

共通アノードの場合、大きな違いはありません。GNDに接続したピンを5vに変更するだけです。 そして、それがLOWでアクティブ化されることをコードで覚えておいてください。

コードに各セグメントの値を直接入れて実験を開始し、ディスプレイがどのように反応するかを確認したり、より実用的なことを行ってカウンターの出力値や、によって測定された値を表示したりするなど、いくつかのことができます。センサー等場合によっては、XNUMX進法に変換する必要があります...の簡単なコード例 ArduinoIDEでの7セグメントディスプレイ だろう:

//ボタンを定義します
#define PUSHBUTTON 10

//これは7セグメントディスプレイにさまざまな値を表示するためのビット配列です
バイト番号[10] [8] =
{
{1、1、1、1、1、1、0、0}、// 0
{0、1、1、0、0、0、0、0}、// 1
{1、1、0、1、1、0、1、0}、// 2
{1、1、1、1、0、0、1、0}、// 3
{0、1、1、0、0、1、1、0}、// 4
{1、0、1、1、0、1、1、0}、// 5
{1、0、1、1、1、1、1、0}、// 6
{1、1、1、0、0、0、0、0}、// 7
{1、1、1、1、1、1、1、0}、// 8
{1、1、1、0、0、1、1、0} // 9
};

voidセットアップ(){
//シリアルモニターを開始します
Serial.begin(9600);
for(int i = 2; i <10; i ++)
{
//ピンを出力モードに設定します
pinMode(i、OUTPUT);
}

//押しボタンピンを入力として構成します
pinMode(プッシュボタン、入力);

//固定シードを設定します
randomSeed(analogRead(A0));
}

voidループ(){
//ボタンの値を読み取ります
int値= digitalRead(プッシュボタン);

//押された場合
if(値== HIGH)
{

// 1〜7の乱数を生成します
int randomNumber =ランダム(1、7);

//セグメントは、乱数を表示するために正しい状態になります
for(int e = 0; e <8; e ++)
{
digitalWrite(e + 2、数値[randomNumber] [e]);
}

delay(500);
}
}

複数桁の7セグメントディスプレイ

ディスプレイ-複数

このタイプの 7セグメントディスプレイですが、複数桁です すべて同じです。 唯一の違いは、文字を印刷する桁を制御する必要があることです。これは、基本的に、いくつかの単純な7セグメントディスプレイが結合されたディスプレイであるためです。 メーカーが行っていることは、それが作られている各ディスプレイには、すべての桁の共通セグメント用に独自の7つのピンがあり、共通のXNUMXつ(アノードまたはカソード)は各桁に固有です。

そう Arduinoで制御できます。 たとえば、セグメントFをアクティブにする場合は、ディスプレイのタイプに応じてLOWまたはHIGHを送信でき、そのセグメントは存在するすべての桁に対してアクティブになります。 ただし、一般的な数字をアクティブにした数字のXNUMXつだけが点灯します。 そのようにそれは制御されます...

このタイプのディスプレイに興味がある場合は、 製品が見つかりません。 およびその他の専門店..。


コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。