- 7-Segment- und 4-stelliges 7-Segment-Anzeigemodul:
- 4-stelliges 7-Segment-Modul mit Raspberry Pi verbinden:
- Programmieren Ihres Raspberry Pi:
- Anzeigezeit auf 4-stelligem 7-Segment mit Raspberry Pi:
Wir alle wissen, dass Raspberry Pi ist eine wunderbare Entwicklungsplattform, die auf einem ARM-Mikroprozessor basiert. Mit seiner hohen Rechenleistung kann es Wunder in Händen von Elektronik-Hobbyisten oder Studenten vollbringen. All dies kann nur möglich sein, wenn wir wissen, wie wir es mit der realen Welt interagieren und die Daten über ein Ausgabegerät analysieren können. Es gibt viele Sensoren, die bestimmte Parameter aus der Echtzeitwelt erfassen und in eine digitale Welt übertragen können. Wir analysieren sie und betrachten sie entweder auf einem LCD-Bildschirm oder einem anderen Display. Es wäre jedoch immer nicht wirtschaftlich, einen LCD-Bildschirm mit PI zur Anzeige kleiner Datenmengen zu verwenden. Hier bevorzugen wir die Verwendung eines 16x2 alphanumerischen LCD-Displays oder des 7-Segment-Displays. Wir haben bereits gelernt, wie man ein alphanumerisches LCD und ein 7-Segment-Display mit einem Segment mit Raspberry pi verwendet. Heute werden wirSchnittstelle 4-stelliges Sieben-Segment-Anzeigemodul mit Raspberry Pi und Anzeige der Zeit darüber.
Obwohl das alphanumerische 16x2-LCD viel komfortabler ist als das 7-Segment-Display, gibt es nur wenige Szenarien, in denen ein 7-Segment-Display handlicher wäre als ein LCD-Display. LCD hat den Nachteil einer geringen Zeichengröße und ist für Ihr Projekt zu viel des Guten, wenn Sie nur einige numerische Werte anzeigen möchten. 7-Segmente haben auch den Vorteil gegenüber schlechten Lichtverhältnissen und können aus größeren Winkeln betrachtet werden als ein normaler LCD-Bildschirm. Also, lasst es uns wissen.
7-Segment- und 4-stelliges 7-Segment-Anzeigemodul:
Die 7-Segment-Anzeige enthält sieben Segmente und jedes Segment enthält eine LED, um die Zahlen durch Aufleuchten der entsprechenden Segmente anzuzeigen. Wenn Sie möchten, dass das 7-Segment die Zahl "5" anzeigt, müssen Sie die Segmente a, f, g, c und d leuchten lassen, indem Sie die entsprechenden Stifte hoch setzen. Es gibt zwei Arten von 7-Segment-Anzeigen: Common Cathode und Common Anode. Hier verwenden wir die 7-Segment-Anzeige von Common Cathode. Erfahren Sie hier mehr über die 7-Segment-Anzeige.
Jetzt wissen wir, wie wir unser gewünschtes numerisches Zeichen auf einer einzelnen 7-Segment-Anzeige anzeigen können. Es ist jedoch ziemlich offensichtlich, dass wir mehr als eine 7-Segment-Anzeige benötigen würden, um Informationen zu übermitteln, die mehr als eine Ziffer haben. In diesem Tutorial verwenden wir also ein 4-stelliges 7-Segment-Anzeigemodul, wie unten gezeigt.
Wie wir sehen können, sind vier Sieben-Segment-Anzeigen miteinander verbunden. Wir wissen, dass jedes 7-Segment-Modul 10 Pins hat und für 4 7-Segment-Displays insgesamt 40 Pins und es für jeden hektisch wäre, sie auf eine Punktplatte zu löten. Ich würde daher jedem empfehlen, ein Modul zu kaufen oder stellen Sie Ihre eigene Platine für die Verwendung eines 4-stelligen 7-Segment-Displays her. Das Verbindungsschema dafür ist unten gezeigt:
Um zu verstehen, wie das 4-stellige Sieben-Segment-Modul funktioniert, müssen wir uns die obigen Schaltpläne ansehen. Wie gezeigt, sind die A-Pins aller vier Anzeigen so verbunden, dass sie für B, C… bis zu DP als ein A und dasselbe zusammengefasst sind. Wenn also Trigger A eingeschaltet ist, sollten alle vier A hoch gehen, oder?
Das passiert aber nicht. Wir haben zusätzliche vier Pins von D0 bis D3 (D0, D1, D2 und D3), mit denen gesteuert werden kann, welche Anzeige von den vier hoch gehen soll. Beispiel: Wenn mein Ausgang nur auf dem zweiten Display vorhanden sein soll, sollte nur D1 hoch eingestellt werden, während andere Pins (D0, D2 und D3) so niedrig gehalten werden. Mit den Pins von D0 bis D3 können wir einfach auswählen, welche Anzeige aktiv werden soll und welches Zeichen mit den Pins von A bis DP angezeigt werden soll.
4-stelliges 7-Segment-Modul mit Raspberry Pi verbinden:
Lassen Sie uns sehen, wie und wie wir dieses 4-stellige 7-Segment-Modul mit unserem Raspberry Pi verbinden können. Das 7-Segment-Modul verfügt über 16 Pins (siehe unten). Ihr Modul hat möglicherweise weniger, aber keine Sorge, es wird mit Sicherheit Folgendes haben
- 7 oder 8 Segmentstifte (hier Stifte von 1 bis 8)
- Erdungsstift (hier Pin 11)
- 4-stellige Pins (hier Pins 13 bis 16)
Nachstehend finden Sie das Schema für die Himbeer-Pi-Digitaluhr, indem das 4-stellige Sieben-Segment-Anzeigemodul mit dem Himbeer-Pi verbunden wird:
Die folgende Tabelle hilft Ihnen auch dabei, die Verbindungen herzustellen und zu überprüfen, ob sie den oben gezeigten Schaltplänen entsprechen.
S.No. |
Rsp Pi GPIO-Nummer |
Rsp Pi PIN-Nummer |
7-Segment-Name |
7-Seg Pin-Nummer (hier in diesem Modul) |
1 |
GPIO 26 |
PIN 37 |
Segment a |
1 |
2 |
GPIO 19 |
PIN 35 |
Segment b |
2 |
3 |
GPIO 13 |
PIN 33 |
Segment c |
3 |
4 |
GPIO 6 |
PIN 31 |
Segment d |
4 |
5 |
GPIO 5 |
PIN 29 |
Segment e |
5 |
6 |
GPIO 11 |
PIN 23 |
Segment f |
6 |
7 |
GPIO 9 |
PIN 21 |
Segment g |
7 |
8 |
GPIO 10 |
PIN 19 |
Segment DP |
8 |
9 |
GPIO 7 |
PIN 26 |
Ziffer 1 |
13 |
10 |
GPIO 8 |
PIN 24 |
Ziffer 2 |
14 |
11 |
GPIO 25 |
PIN 22 |
Ziffer 3 |
15 |
12 |
GPIO 24 |
PIN 18 |
Ziffer 4 |
16 |
13 |
Boden |
Boden |
Boden |
11 |
Identifizieren Sie die Pins Ihres Moduls und Sie können mit den Verbindungen fortfahren. Das Erkennen der GPIO-Pins in Raspberry Pi könnte eine etwas herausfordernde Aufgabe sein, daher habe ich Ihnen dieses Bild für GPIO-Pins zur Verfügung gestellt.
Programmieren Ihres Raspberry Pi:
Hier verwenden wir die Programmiersprache Python zum Programmieren von RPi. Es gibt viele Möglichkeiten, Ihren Raspberry Pi zu programmieren. In diesem Tutorial verwenden wir die Python 3-IDE, da sie am häufigsten verwendet wird. Das vollständige Python-Programm finden Sie am Ende dieses Tutorials. Weitere Informationen zum Programmieren und Ausführen von Code in Raspberry Pi finden Sie hier.
Wir werden über einige Befehle sprechen, die wir im PYHTON-Programm für dieses Projekt verwenden werden.
Zuerst importieren wir die GPIO-Datei aus der Bibliothek. Mit der folgenden Funktion können wir die GPIO-Pins von PI programmieren. Wir benennen auch "GPIO" in "IO" um. Wenn wir also im Programm auf GPIO-Pins verweisen möchten, verwenden wir das Wort "IO". Wir haben auch Zeit und Datum / Uhrzeit importiert , um den Wert der Zeit von Rsp Pi zu lesen.
Importieren Sie RPi.GPIO als GPIO-Importzeit, Datum / Uhrzeit
Manchmal, wenn die GPIO-Pins, die wir verwenden möchten, andere Funktionen ausführen. In diesem Fall erhalten wir während der Ausführung des Programms Warnungen. Der folgende Befehl weist den PI an , die Warnungen zu ignorieren und mit dem Programm fortzufahren.
IO.setwarnings (False)
Wir können die GPIO-Pins von PI entweder anhand der Pin-Nummer an Bord oder anhand ihrer Funktionsnummer referenzieren. Wie 'PIN 29' auf der Karte ist 'GPIO5'. Also sagen wir hier entweder, dass wir den Pin hier durch '29' oder '5' darstellen werden. GPIO.BCM bedeutet, dass wir die Verwendung von 5 für GPIO5 Pin 29 darstellen.
IO.setmode (GPIO.BCM)
Wie immer sollten wir zunächst die Pins initialisieren, hier sind sowohl die Segmentpins als auch die Ziffernpins Ausgangspins. Zu Programmierzwecken bilden wir Arrays für Segment-Pins und initialisieren sie auf '0', nachdem wir sie als GPIO deklariert haben
segment8 = (26,19,13,6,5,11,9,10) für Segment in Segment8: GPIO.setup (Segment, GPIO.OUT) GPIO.output (Segment, 0)
In ähnlicher Weise deklarieren wir die Ziffernstifte als Ausgangsstifte und machen sie standardmäßig auf '0'
#Digit 1 GPIO.setup (7, GPIO.OUT) GPIO.output (7, 0) #Off initial #Digit 2 GPIO.setup (8, GPIO.OUT) GPIO.output (8, 0) #Off initial #Digit 3 GPIO.setup (25, GPIO.OUT) GPIO.output (25, 0) #Off initial #Digit 4 GPIO.setup (24, GPIO.OUT) GPIO.output (24, 0) #Off initial
Wir müssen Arrays bilden, um jede Zahl auf einer Sieben-Segment-Anzeige anzuzeigen. Um eine Zahl anzuzeigen, müssen wir alle 7 Segmentstifte steuern (Punktstift ausgeschlossen), dh sie müssen entweder ausgeschaltet oder eingeschaltet sein. Um beispielsweise die Nummer 5 anzuzeigen, haben wir die folgende Anordnung getroffen
S.No. |
Rsp Pi GPIO-Nummer |
7-Segment-Name |
Status zur Anzeige von '5'. (0-> AUS, 1-> EIN) |
1 |
GPIO 26 |
Segment a |
1 |
2 |
GPIO 19 |
Segment b |
1 |
3 |
GPIO 13 |
Segment c |
0 |
4 |
GPIO 6 |
Segment d |
1 |
5 |
GPIO 5 |
Segment e |
1 |
6 |
GPIO 11 |
Segment f |
0 |
7 |
GPIO 9 |
Segment g |
1 |
Ebenso haben wir eine Sequenznummer für alle Nummern und Alphabete. Sie können selbst schreiben oder die folgende Tabelle verwenden.
Mit diesen Daten können wir die Arrays für jede Nummer in unserem Python-Programm bilden, wie unten gezeigt.
null = null = eins = zwei = drei = vier = fünf = sechs = sieben = acht = neun =
Wenn Sie das Programm folgen wird es eine Funktion sein, jedes Zeichen zu unserer 7-Segment - Anzeige angezeigt werden, sondern kann dies jetzt überspringen und in denen bekommen, während Endlosschleife. Wo die aktuelle Zeit von Raspberry Pi lesen und den Wert der Zeit zwischen vier Variablen aufgeteilt. Wenn zum Beispiel die Zeit 10.45 ist, hat die Variable h1 1, h2 hat 0, m1 hat 4v und m2 hat 5.
now = datetime.datetime.now () hour = now.hour minute = now.minute h1 = Stunde / 10 h2 = Stunde% 10 m1 = Minute / 10 m2 = Minute% 10 Druck (h1, h2, m1, m2)
Wir müssen diese vier variablen Werte jeweils auf unseren vier Ziffern anzeigen. Um einen Variablenwert in eine Ziffer zu schreiben, können Sie die folgenden Zeilen verwenden. Hier werden wir auf Ziffer 1 angezeigt, indem wir sie auf Hoch setzen. Dann wird die Funktion print_segment (Variable) aufgerufen, um den Wert in Variable auf der Segmentanzeige anzuzeigen. Sie fragen sich vielleicht, warum wir danach eine Verzögerung haben und warum wir diese Ziffer danach ausschalten.
GPIO.output (7, 1) # Ziffer 1 einschalten print_segment (h1) # Drucken Sie h1 auf Segment time.sleep (delay_time) GPIO.output (7, 0) # Ziffer 1 ausschalten
Der Grund ist, wie wir wissen, dass wir jeweils nur eine Ziffer anzeigen können, aber vier Ziffern angezeigt werden müssen. Nur wenn alle vier Ziffern angezeigt werden, ist die vollständige vierstellige Nummer für den Benutzer sichtbar.
So, wie Sie zeigen alle 4 Stellen zur gleichen Zeit ?
Glücklicherweise ist unsere MPU sehr viel schneller als ein menschliches Auge. Was wir also tatsächlich tun: Wir zeigen jeweils eine Ziffer an, aber wir tun es sehr schnell, wie oben gezeigt.
Wir wählen eine Ziffernanzeige aus und warten 2 ms (variable Verzögerung_Zeit), damit die MPU und das 7-Segment sie verarbeiten können. Dann schalten wir diese Ziffer aus und fahren mit der nächsten Ziffer fort und machen dasselbe, bis wir die letzte Ziffer erreichen. Diese Verzögerung von 2 ms kann von einem menschlichen Auge nicht beobachtet werden und alle vier Ziffern scheinen gleichzeitig eingeschaltet zu sein.
Das Letzte, was Sie lernen müssen, um zu wissen, wie die Funktion print_segment (Variable) funktioniert. Innerhalb dieser Funktion verwenden wir die Arrays, die wir bisher deklariert haben. Unabhängig davon, welche Variable, die wir an diese Funktion senden, den Wert zwischen (0-9) haben sollte, erhält das Variablenzeichen diesen Wert und vergleicht ihn mit dem tatsächlichen Wert. Hier wird die Variable mit '1' verglichen. In ähnlicher Weise vergleichen wir mit allen Zahlen von 0 bis 9. Wenn es sich um eine Übereinstimmung handelt, verwenden wir die Arrays und weisen jeden Wert den jeweiligen Segment-Pins zu, wie unten gezeigt.
def print_segment (charector): wenn charector == 1: für i im Bereich (7): GPIO.output (segment8, one)
Anzeigezeit auf 4-stelligem 7-Segment mit Raspberry Pi:
Verwenden Sie den hier angegebenen Schaltplan und Code, um die Verbindungen herzustellen und Ihren Himbeer-Pi entsprechend zu programmieren. Nachdem alles erledigt ist, starten Sie einfach das Programm und Sie sollten die aktuelle Uhrzeit in der Sieben-Segment-Anzeige finden. Es gibt jedoch einige Dinge, die Sie vorher überprüfen müssen
- Stellen Sie sicher, dass Sie Ihren Raspberry Pi auf die aktuelle Zeit eingestellt haben, nur für den Fall, dass er offline läuft.
- Versorgen Sie Ihren Raspberry pi mit einem Adapter und nicht mit Ihrem Laptop / Computer, da der vom 7-Segment-Display aufgenommene Strom hoch ist und Ihr USB-Anschluss ihn nicht beziehen kann.
Wenn alles wie erwartet funktioniert, sollten Sie unten so etwas finden.
Die vollständige Funktionsweise dieser Himbeer-Pi-Uhr kann auch im folgenden Video überprüft werden. Ich hoffe, Ihnen hat das Projekt gefallen und Sie haben es genossen, eines zu bauen. Lassen Sie mich wissen, was Sie denken oder ob Sie Hilfe benötigen.