Arduino und 7-Segment-LED-Display-Decoder

Arduino und 7-Segment-LED-Display-Decoder

In diesem instructable erkläre ich, wie man 7-Segment-Anzeige, Decoder und Arduino verbindet. Es ist ziemlich einfach. Zuerst müssen wir etwas über Decoder lernen. Ich verwende einen BCD-zu-7-Segment-Decoder. Mein ist D147D, das ist alter Chip, aber die neueren sind ähnlich. Dokumentation zu einem von ihnen finden Sie hier. Die Beschreibung von D147D sehen Sie auf Bild zwei. Es gibt vier Pins zum Senden von BCD-Code an den Decoder (ABCD). Die Tabelle mit dem BCD-Code sehen Sie auf dem dritten Bild. Aber es gibt ein kleines Problem. Ich finde, dass die Pins innerhalb des Chips mit der VCC-Quelle verbunden sind. Wenn Sie am Eingang eine logische Null setzen möchten, müssen Sie diesen Eingang mit Masse verbinden.

Der zweite Gedanke, den Sie brauchen, ist Anzeige. Sie benötigen eine Anzeige mit gemeinsamer Anode (+). Es gibt viele Anzeigen, die Sie auswählen können. Die Pinbelegung der Anzeige, die ich verwendet habe, befindet sich in Bild 4 (Spalte A). Wie Sie den Decoder mit dem Display verbinden, erfahren Sie im nächsten Schritt.

Zubehör:

Schritt 1: Verbinden Sie es miteinander

Auf dem ersten Bild sehen Sie schematisch. Ich denke, dass die nächsten Bilder alles zeigen, was du brauchst. Das letzte Bild ist für den Test vorbereitet. (Bild wurde in Fritzing gemacht)

Schritt 2: Arduino hinzufügen

Verbinden Sie nun vier Arduino-Pins mit den ABCD-Eingängen des Decoders. Da ich traurig bin, bevor die logische 0 am Eingang ist, ist sie nicht mit der Masse verbunden. Auf Arduino bedeutet dies, dass es bei der Ausgabe von Arduino auf logisch 1 (HIGH) gesetzt ist. Wenn Sie am Eingang des Decoders eine logische 1 setzen möchten, müssen Sie am Arduino-Ausgang eine 0 (LOW) setzen. (Bild wurde in Fritzing gemacht)
Code kann so aussehen:

int input [4] = {17,14,15,16}; // A, B, C, D Eingänge
Byte BCD [16] [4] = {{0,0,0,0},
{1,0,0,0},
{0,1,0,0},
{1,1,0,0},
{0,0,1,0},
{1,0,1,0},
{0,1,1,0},
{1,1,1,0},
{0,0,0,1},
{1,0,0,1},
{0,1,0,1},
{1,1,0,1},
{0,0,1,1},
{1,0,1,1},
{0,1,1,1},
{1,1,1,1}}; // BCD-Code
int number = 5; // Welche Nummer im BCD-Code möchten Sie senden?

void setup () {
für (int a = 0; a <4; a ++) {
PinMode (Eingänge [a], OUTPUT);} // Ausgänge setzen
}

void loop () {

für (int c = 0; c <4; c ++) {
digitalWrite (Eingänge [c], BCD [Nummer] [c]);
}


}