Festo Filter-Regelventile


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Raspberry Pi, Schieberegister 74HC595 und die 7-Segmentanzeigen


In dem Versuch steuert Raspberry Pi über drei Schieberegister 75HC595 drei 7-Segmentanzeigen. Bei direkter Ansteuerung müsste Raspberry Pi, um alle drei 7-Segmentanzeigen zu bedienen, 21 Ausgänge zur Verfügung stellen. Dabei wird das achte Element der Anzeigen, der Punkt, nicht mal berücksichtigt. Hier zeigt sich noch mal sehr deutlich, wie wichtig solche Methoden sind, um Ausgänge für andere Zwecke zu sparen. Es werden für die Aufgabe lediglich drei Ausgänge von Raspberry Pi benötigt. Eine fertig aufgebaute Testschaltung könnte dann so aussehen:

Testschaltung


Die Aufgabe der Schaltung ist es, mit den drei 7-Segmentanzeigen den Satz "All you need is love" rauszubringen. Nur so zur Erinnerung, damit jeder weiß, worauf es im Leben so ankommt. Das passende Programm wird Raspberry Pi verarbeiten. Mit drei Leitungen (Ausgänge Pin 33, 35 und 37) wird das erste Schieberegister mit acht Bits geladen. Die Anordnung der Bits ist so gewählt, dass anschließend lesbare Zeichen auf der 7-Segmentanzeige erscheinen können. Alle drei Schieberegister sind in Reihe verschaltet. Bei der Übertragung von weiteren acht Bits werden die "vorherigen" in das zweite Register geschoben. Die Bits, die sich im zweiten Register befanden, wandern dann in das dritte.
Sind wir mit allen Bits fertig, wird das Ergebnis mit Pin 37 = HIGH auf den 7-Segmentanzeigen sichtbar gemacht.

Pinbelegung Schieberegister 74HC595


Der Schaltplan

Schaltplan (Teil 1)

Schaltplan (Teil 1)

Schaltplan (Teil 2)

Schaltplan (Teil 2)

Schaltplan (Teil 3)

Schaltplan (Teil 3)


Das Programm


# -----------------------------------------------------------
# Raspi & Schieberegister 74HC595
# Raspberry Pi 3B, Python 3
# -----------------------------------------------------------
from tkinter import*
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)

GPIO.setup(33,GPIO.OUT) # Shift Clock
GPIO.setup(35,GPIO.OUT) # Data
GPIO.setup(37,GPIO.OUT) # Latch Clock

A = ["A",0,1,1,1,0,1,1,1]
b = ["b",0,1,1,1,1,1,0,0]
C = ["C",0,0,1,1,1,0,0,1]
D = ["D",0,1,0,1,1,1,1,0]
E = ["E",0,1,1,1,1,0,0,1]
H = ["H",0,1,1,1,0,1,1,0]
I = ["I",0,0,0,0,0,1,1,0]
L = ["L",0,0,1,1,1,0,0,0]
N = ["N",0,1,0,1,0,1,0,0]
O = ["O",0,0,1,1,1,1,1,1]
P = ["P",0,1,1,1,0,0,1,1]
S = ["S",0,1,1,0,1,1,0,1]
U = ["U",0,0,1,1,1,1,1,0]
V = ["V",0,0,0,1,1,1,0,0]
Y = ["Y",0,1,1,0,0,1,1,0]
Z = ["Z",0,1,0,1,1,0,1,1]
_ = [" ",0,0,0,0,0,0,0,0]

SatzPos = 2
Satz = [_,_,_,A,L,L,_,Y,O,U,_,N,E,E,D,_,I,S,_,L,O,V,E,_,_]

def Start_Fenster():
    Hauptfenster.config (bg='#006699')
    Breite = Hauptfenster.winfo_screenwidth()
    Höhe = Hauptfenster.winfo_screenheight()
    Hauptfenster.geometry("%dx%d+0+0" % (Breite,Höhe))   

def Senden (Zeichen):
    for k in range(1,9):
        GPIO.output(33, GPIO.LOW)
        time.sleep(0.001)
        GPIO.output(35, Zeichen[k])
        time.sleep(0.001)
        GPIO.output(33, GPIO.HIGH)
    
Hauptfenster = Tk()
Start_Fenster()

def Hauptprogramm ():
    Ausgabe = ""
    global SatzPos
    SatzPos += 1
    if SatzPos == len(Satz):
        SatzPos = 2
    GPIO.output(37, GPIO.LOW)
    for i in range(3):
        Zeichen = Satz[SatzPos - i]
        Ausgabe = Zeichen[0] + Ausgabe
        Senden (Zeichen)
    GPIO.output(37, GPIO.HIGH)
    TextAusgabe.config (text = Ausgabe)
    Hauptfenster.after (1000, Hauptprogramm)

Button_Start = Button (Hauptfenster,
                       bd=4,
                       bg='#999999',
                       text="Start",
                       font=('Arial', 50, 'bold'),
                       command = Hauptprogramm)
Button_Start.place (x=180,y=330,width=300,height=150)

TextAusgabe = Label (Hauptfenster,
                     bg='#006699',
                     fg = "yellow",
                     text="Hi!",
                     font=('Arial', 120, 'bold'))
TextAusgabe.place (x=500,y=100,width=400,height=180)

Hauptfenster.mainloop()
# ----------------------------------------------------------- 



Kurzvideo

Kurzvideo


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz