Raspberry Pi Ampelschaltung mit dem - Lab4Inf · Einführung in die Ampelschaltung Ampel (von...

29
Ampelschaltung mit dem Raspberry Pi => wiringPi.h <= Christopher Schwering, Jan Ole Thranow

Transcript of Raspberry Pi Ampelschaltung mit dem - Lab4Inf · Einführung in die Ampelschaltung Ampel (von...

Ampelschaltung mit dem Raspberry Pi

=> wiringPi.h <=Christopher Schwering, Jan Ole Thranow

Ablauf des Praktikums

1. Einführung2. 1. Aufgabe

● Vorstellung● Aufgabenstellung● Eigenarbeit● Kontrolle/ Vorstellen der Lösung

3. 2. Aufgabe● Vorstellung● Aufgabenstellung● Eigenarbeitung● Kontrolle/ Vorstellen der Lösung● Besprechung der Problematik

Einführung in die Ampelschaltung

Ampel (von lateinisch ampulla „Ölflasche“, spätere übertragene Bedeutung „Leuchte“) ist der umgangssprachliche Begriff für einen Signalgeber einer Lichtsignalanlage (LSA)

Zur Regelung des Straßenverkehrs und der Fußgängerüberwege

Einführung in die Ampelschaltung

Benötigte Mittel:x Raspberry Pix Raspberry Pi Simple Boardx Programmierumgebung

-> Anstatt farbige LEDs werden normale, jedoch eindeutig zugeordnete LEDs genutzt

1. Aufgabe

Los geht’s...

Eine ganz normale Ampel...

-> 4 Zustände-> Endlosschleife-> realistische Phasendauer ist zu betrachten

Zustandszuordnung

Autonomer Automat

4 Lichter-> Rot, Gelb, Grün

4 sinnvolle Ausgangskombinationen=> Redundanz = ld(2^3) - ld(4) = 1

Logische Gleichungen der Zustände

Grün = Z1 Z2Gelb = Z1 Z2 v Z1 Z2Rot = Z1 Z2 v Z1 Z2

KV Diagramme

Grün nicht minimierbar, da nur 1 Primterm

Rot = Z2 Gelb = Z1

Zustandsüberführung

x

Zustandsfolgetabelle

Aufgabenstellung

Zu realisieren ist eine Ampel mit Hilfe des Raspberry Pi und des Simple Boards, welche in einer Endlosschleife mit folgenden Eigenschaften funktioniert:1. Zuordnung der Pins

● Pin 0 = Rot● Pin 1 = Gelb● Pin 2 = Grün

2. Zeiten der Ampelphasen● t(Z Nr.0) = 6 Sekunden● t(Z Nr.1) = 2 Sekunden● t(Z Nr.2) = 6 Sekunden● t(Z Nr.3) = 1 Sekunde

Dabei sind die bestehenden Zustandsfolgetabellen zu beachten

Viel Erfolg!

x

Präsentation der Lösung

x

2. Aufgabe

Fußgänger gibt’s ja auch noch….

Weiterführung der 1. Aufgabe

Beispiel aus dem Buch:● Konstant Grün bis zum Tasterdruck● Fußgängerampel tritt in Aktion

Neue Elemente:● Fußgängertaster im aktiven Ampelzyklus bereit● Fußgängerampel mit 3 LEDs

-> Grün, Rot, Warten➔ Interaktivere und realitätsnähere Ampel

ZustandsfolgediagrammZustandsfolge- diagramm

Zustandszuordnung

9 Zustände => ld(9) = 3,17 => 4 Zustandsvariablen

Moore Automat, da● Inputs keinen direkten Einfluß auf den Ausgang● Ausgangsänderung mit Zustandsübergang● Ausgang = f(Z(t = n))

Zustandszuordnung

x

Logische GleichungenGrün = Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1Gelb = Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1Rot = Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1

FG-Grün = Z4 Z3 Z2 Z1FG-Rot = Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v

Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1Warten = Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1 v Z4 Z3 Z2 Z1

=> Da besteht Minimierungspotenzial!Da nicht alle Zustände genutzt werden, sind die ungenutzen Don’t Care

KV Diagramme

Grün = Z3 Z2 Z1 v Z3 Z2 Z1Gelb = Z4 v Z3 Z1 c Z3 Z2 Z1

KV Diagramme

Rot = Z3 Z1 v Z2 Z1 v Z4 Z2FG Grün = Z3 Z2 Z1

KV Diagramme

FG Rot = Z1 v Z2 v Z3Warten = Z3 Z1 v Z3 Z2

x

Zustandsfolgetabelle

AufgabenstellungZu programmieren ist nun eine Erweiterung des bestehenden Ampel Programms aus der 1. Aufgabe. Diese Erweiterung besteht in der Abfrage eines Tasters. Durch den Tasterdruck wird sofort die LED “Warten” auf HIGH gesetzt und anschließend erst nach Beendigung des aktuell aktiven Ampelzyklus die Fußgängerampel auf Grün gesetzt. Mit dem Setzen der FG Ampel auf Grün ist die “Warten” LED auf LOW zu setzen. Nachdem die FG Ampel wieder auf Rot steht soll in die normale Ampelfunktion (siehe 1. Aufgabe) übergegangen werden und auf den nächsten Tasterdruck gewartet werden. Die Reihenfolge der Zustandsfolgetabelle ist einzuhalten.Folgende Eigenschaften sind zu beachten:

1. Zuordnung der Pins● Pin 0 = Rot● Pin 1 = Gelb● Pin 2 = Grün● Pin 3 = Taster● Pin 4 = FG Rot● Pin 5 = FG Grün● Pin 6 = Warten

2. Zeiten der Ampelphasen

● t(Z Nr.0) = 6 Sekunden● t(Z Nr.1) = 2 Sekunden● t(Z Nr.2) = 6 Sekunden● t(Z Nr.3) = 1 Sekunde● t(Z Nr.4) = 6 Sekunde● t(Z Nr.5) = 6 Sekunde● t(Z Nr.6) = 2 Sekunde● t(Z Nr.7) = 6 Sekunde● t(Z Nr.8) = 1 Sekunde

Viel Erfolg!

x

Präsentation der Lösung

x

Probleme?

● Der Taster hat kein “Gedächtnis” daher muss er im richtigen Moment gedrückt werden damit das Programm es wahrnimmt.

● Innerhalb der Delay Funktion wird also ein Tasterdruck nicht bemerkt

➔ Erhöhung der Abtastrate des Tasterstandes durchaufteilen des großen Delays in kleine Delays

Einführung in die Ampelschaltung Danke für eure Aufmerksamkeit!