ACHTUNG:
Links überprüfen bzw. anpassen
Scratch durch Python ersetzen.
Projekt Ampelsteuerung: Eine vollständige Ampelkreuzung steuern
Für diesen Versuch benötigen wir
Steckbrett
7 Verbindungskabel
6 Widerstände 220 Ω (Farbkodierung: rot rot braun)
6 LED, je zwei in den Farben rot, gelb und grün
Nun wird es eng auf dem Steckbrett.
Für eine einfache Kreuzung müssen wir mindestens zwei Ampeln vorsehen, die getrennt gesteuert werden - je eine für die Haupt- und Nebenrichtung.
Selbstverständlich besteht eine tatsächliche Straßenkreuzung aus mehr Ampeln. Wenn man genau hinschaut, zeigen aber immer mehrere Ampeln dieselbe Farbe, so dass mehrere Ampeln parallel geschaltet werden können. Für eine minimale Kreuzung reichen zwei aus. Mit zusätzlichen vielleicht notwendigen Fußgängerampeln beschäftigen wir uns in einem späteren Kapitel.
Schematisch haben wir hier den Aufbau auf dem Steckbrett dargestellt. Die Minus-Leitung ist auch eingezeichnet. Die sechs farbigen Signalleitungen haben wir nur unvollständig eingetragen, indem wir nur die Anschlusspunkte markiert haben.
Am Rasperry Pi verwenden wir für die erste Ampel die PINs 11, 12, 13 und für die zweite Ampel die PINs 15, 16 und 18.
Der PIN 17 (3,3V) darf auf keinen Fall verbunden werden!
Die Verbindung zum Ras.Pi sollte bei ausgeschaltetem Rechner (Shutdown und Netzteil abziehen) hergestellt werden. Erst nach sorgfältiger Prüfung des Aufbaus den Rechner wieder mit dem Netzteil verbinden und dadurch neu starten.
![]() |
Die Entwicklung eines guten Skripts zur Steuerung einer Ampelanlage ist direkt in SCRATCH etwas unübersichtlich. Das ist in anderen Programmierumgebungen nicht anders. Die Entwickler solcher Ampelsteuerungen haben deshalb eine Form ersonnen, die die Signale einer solchen Steuerung sehr übersichtlich darstellt. Eine solche Darstellung ist der Signalplan. Eine mögliche Variante eines solchen Signalplans kann man sehr erfolgreich und übersichtlich mit Hilfe einer Tabellenkakulation erstellen. Die Vorgehensweise wird im Folgenden beschrieben.
|
Signalplan für eine Ampelkreuzung
|
Die Abbildung zeigt den Signalplan zum obigen Skript in einer Tabellenkalkulation. Es wird sofort klar, was der Plan darstellt. Sehr übersichtlich wird hier deutlich, welche Farben in den einzelnen Phasen wie lange (letzte Zeile) leuchten. Durch Einfügen von weiteren Spalten kann man die Steuerung leicht präzisieren und neuen Bedingungen anpassen. Die Umsetzung eines solchen Signalplans in ein SCRATCH-Skript ist dann reine Routine und gelingt fast immer auf Anhieb fehlerfrei. |
Du kannst hier verschiedene Versionen des Signalplans passend für Deine Tabellenkalkulation herunterladen: signalplanampelkreuzung.ods signalplanampelkreuzung.xls
![]() |
Aufgabe 3: Einen vorhandenen Signalplan analysieren, erweitern und anpassen. Lade dir eine der beiden Versionen des Signalplans passend für deine Tabellenkalkulation herunter. Erweitere diesen Plan durch Einfügen neuer Phasen (Spalte einfügen), so dass sich eine realistischere Ampelsteuerung für eine kleine Kreuzung ergibt. Setze diesen Plan in ein SCRATCH-Skript um. Bedenke dabei, dass beim Übergang zu nächsten Phase immer nur die Änderungen programmiert werden müssen. Nur in Phase 1 ist das anders. Warum? |
Das Ergebnis aus Aufgabe 3 ist schon ein shr langes und unübersichtliches Skript. Dabei bieten sich noch viele Erweiterungen an: z. B. die Nachtabschaltung aus Aufgabe 4 im vorangegangenen Kapitel.
Ganz allgemein kann man eine Apparatur, die eine Ampelkreuzung steuert, als einen Automaten bezeichen. Informatikerinnen und Informatiker haben sich sehr intensiv und allgemein mit Automaten beschäftigt. In der Automatentheorie sind grundlegende Ideen zusammengefasst und werden an Schulen und Universitäten gelehrt. Das folgende Kapitel "Automaten" stellt die für unsere Steuerung wichtigen Teile dar und zeigt, wie man mit diesem Wissen umfangreiche Skripte übersichtlich organisiert.