2.7 4-Digital-7-Segment-Anzeige

Überblick

In dieser Lektion lernen Sie die 4-Digital-7-Segment-Anzeige kennen. Es besteht aus vier 7-Segment-Anzeigen, die zusammenarbeiten, um 4-stellige Zahlen anzuzeigen.

Fritzing-Schaltung

../_images/image438.png

Schematische Darstellung

../_images/image439.png

Code

Bemerkung

  • Sie können die Datei 2.8_ledMatrix.ino unter dem Pfad sunfounder_vincent_kit_for_arduino\code\2.8_ledMatrix direkt öffnen.

  • Oder kopieren Sie diesen Code in Arduino IDE 1/2.

  • Laden Sie dann Laden Sie den Code hoch auf das Board hoch.

  • Bitte stellen Sie sicher, dass Sie die Bibliothek TimerOne hinzugefügt haben, detaillierte Anleitungen finden Sie unter Bibliotheken hinzufügen.

Code-Analyse

../_images/image440.png ../_images/image441.png

Es gibt zwei Punkte, die Ihre Aufmerksamkeit erfordern:

  1. Da jede Segmentanzeige in der 4-Digital-7-Segment-Anzeige unabhängig arbeitet, wird das Prinzip der visuellen Persistenz angewendet, um jedes 7-Segment-Zeichen schnell nacheinander anzuzeigen, um eine fortlaufende Zeichenfolge zu bilden.

Siehe 2.5 7-Segment-Anzeige, um die Details der Zahlenanzeige der 4-Digital-7-Segment-Anzeige zu überprüfen.

  1. In diesem Beispiel wird eine Bibliothek TimerOne.h verwendet, um die Funktion des Zählens zu realisieren.

#include "TimerOne.h"

Bibliotheksfunktionen:

void initialize(long microsenconds=1000000)

Sie müssen diese Methode zuerst aufrufen, um eine der anderen Methoden zu verwenden. Optional können Sie hier die Zeitdauer des Timers angeben (in Mikrosekunden), standardmäßig ist sie auf 1 Sekunde eingestellt.

Bemerkung

Dies unterbricht analogWrite() für die digitalen Pins 9 und 10 auf Arduino.

void attachInterrupt(void (*isr)(), long microseconds=-1);

Ruft eine Funktion im angegebenen Intervall in Mikrosekunden auf. Seien Sie vorsichtig, wenn Sie versuchen, einen zu komplizierten Interrupt mit zu hoher Frequenz auszuführen, da die CPU sonst möglicherweise nie in die Hauptschleife eintritt und Ihr Programm „blockiert“. Beachten Sie, dass Sie optional den Zeitraum mit dieser Funktion festlegen können, wenn Sie beim Aufruf einen Wert in Mikrosekunden als letzten Parameter angeben.

void detachInterrupte();

Deaktiviert den angehängten Interrupt.

Phänomen Bild

../_images/image104.jpeg