{"id":411,"date":"2021-01-26T12:33:44","date_gmt":"2021-01-26T11:33:44","guid":{"rendered":"https:\/\/followthescore.org\/schueler-labor\/?p=411"},"modified":"2021-01-27T17:11:51","modified_gmt":"2021-01-27T16:11:51","slug":"verkehrsampel","status":"publish","type":"post","link":"https:\/\/followthescore.org\/schueler-labor\/verkehrsampel\/","title":{"rendered":"Verkehrsampel"},"content":{"rendered":"\n<p>Wir bilden die Schaltzyklen einer sehr einfachen Ampelanlage nach. Die ganze Anlage besteht aus vier Masten, die jeweils am rechten Fahrbahnrand vor der Einfahrt in eine Kreuzung stehen. Da gegen\u00fcber liegende Masten sich identisch verhalten, betrachten wir insgesamt nur zwei Masten; wir nennen sie &#8222;tlA&#8220; (traffic light A) und &#8222;tlB&#8220;.<br>wenn tlA RED zeigt, ist tlB GREEN und umgekehrt.<\/p>\n\n\n\n<p>Genau genommen ist es aber noch etwas komplizierter. Die typische Schaltfolge sieht so aus:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n1   tlA = RED          tlB = RED                          0.5 Sek\n2   tlA = RED+YELLOW   tlB = RED                            1 Sek\n3   tlA = GREEN        tlB = RED                           10 Sek\n4   tlA = YELLOW       tlB = RED                            2 Sek\n5   tlA = RED          tlB = RED                          0.5 Sek\n6   tlA = RED          tlB = RED+YELLOW                     1 Sek\n7   tlA = RED          tlB = GREEN                         10 Sek\n8   tlA = RED          tlB = YELLOW                         2 Sek\n<\/pre><\/div>\n\n\n<p><br>Die Angaben der Verweildauer f\u00fcr jeden Zustand sind einigerma\u00dfen plausibel, aber nat\u00fcrlich etwas willk\u00fcrlich. Manchmal fehlen der Zustand 1 und 5, d.h. ihre Dauer betr\u00e4gt 0 Sekunden. <\/p>\n\n\n\n<p>Au\u00dferdem gibt es noch Sonderschaltfolgen f\u00fcr das Abschalten und Wiedereinschalten der gesamten Anlage. Sie wechselt beim Ausschalten von ROT-ROT (Zustand 1 oder 5) nach YELLOW-BLINK (Sekundenrhythmus, 10 Sek lang) auf allen Masten, dann auf BLACK auf allen Masten. Beim Einschalten ist es umgekeht: Von BLACK her kommend zeigt sie auf allen Masten zun\u00e4chst YELLOW_BLINK (5 Sek lang), dann YELLOW (Dauerlicht, 5 Sek), dann RED (3 Sek). Dann wechselt sie in den Zustand 1 aus der obigen Tabelle und nimmt ihre Arbeit auf.<\/p>\n\n\n\n<h2>Umsetzung<\/h2>\n\n\n\n<p>Wir verwenden die Hardware des Weihnachtssterns. RED \/ YELLOW \/ GREEN von tlA sind auf den Armen 1,2,3 dargestellt (LEDs 1..6), zu tlB geh\u00f6ren die Arme 6,5,4 (= LEDs 12..7). Die Reihenfolge ist gegenl\u00e4ufig; man kann den Stern dann so hinlegen oder hinstellen, dass RED jeweils oben ist.<br>LED #0 und LED#13 bleiben unbenutzt.<\/p>\n\n\n\n<p>\u00dcber die Touchkontakte k\u00f6nnen wir z.B. simulieren, dass Fu\u00dfg\u00e4nger \u00fcber die Stra\u00dfe gehen wollen. Die Software k\u00f6nnte dann die aktuelle GREEN-Dauer f\u00fcr den kreuzenden Verkehr verk\u00fcrzen (aber nicht beliebig!). Wir m\u00fcssen die Anlage auch gegen den Missbrauch solcher Kn\u00f6pfe sch\u00fctzen, damit nicht ein Verkehrsstau entsteht, wenn jemand mutwillig einen solchen Knopf sehr oft dr\u00fcckt. <br><br>Wir k\u00f6nnten auch durch mehrfaches Ber\u00fchren (anderer) Touch-Kontakte &#8222;Verkehrsdichte&#8220; simulieren und daraufhin die GREEN-Phasen beider Richtungen unterschiedlich lang machen (&#8222;dynamische Schaltzeitanpassung&#8220;). <\/p>\n\n\n\n<h2>Software<\/h2>\n\n\n\n<p>Also: Nach dem RESET bleibt alles f\u00fcr eine Sekunde lang dunkel. Dann beginnt die Aufweckphase, dann werden 3 normale Zyklen absolviert, dann beginnt die Ausschaltphase und es ist f\u00fcr 10 Sekunden lang Nacht. Danach wiederholt sich das Spiel.<\/p>\n\n\n\n<p>Wir beginnen bei der Entwicklung des Programms mit der Kernfunktion, d.h. mit dem normalen Schaltzyklus. Um das Ein- und Ausschalten k\u00fcmmern wir uns sp\u00e4ter.<\/p>\n\n\n\n<p>Wenn dann irgendwann alles klappt, versuchen wir den Programmcode so sch\u00f6n wie m\u00f6glich zu machen. Dazu gliedern wir ihn in mehrere Funktionen, die auf unterschiedlichen Abstraktionsebenen  angesiedelt sind. Die &#8222;oberen&#8220; Ebenen kennen den Zeitablauf und koordinieren die beiden Ampeln, die &#8222;unteren&#8220; Funktionen k\u00fcmmern sich darum, dass die passenden LEDs mit der richtigen Farbe angesteuert werden.<\/p>\n\n\n\n<h2>Weitere Ideen &#8211; bevor es losgeht ..<\/h2>\n\n\n\n<p>Wir k\u00f6nnten irgendwann eine Ampelanlage aus 4 getrennten Masten entwerfen, die als 3D Objekte gedruckt werden. Wir w\u00fcrden unter einer Bodenplatte die Kabel verlegen. Etwas abseits der Kreuzung steht dann ein kleines K\u00e4stchen mit dem LILY-TTGO, also mit der Steueranlage.<br>Die Masten w\u00fcrde man getrennt drucken und in die Bodenplatte stecken, welche daf\u00fcr Halterungen vorsehen m\u00fcsste.<\/p>\n\n\n\n<p>Wir k\u00f6nnten die Verkabelung zentral von den Masten zum TTGO f\u00fchren und in der Software vier verschiedene LED strips definieren.<br>Wir k\u00f6nnen aber auch ringf\u00f6rmig verkabeln und die Lichter aus Softwaresicht als Teil eines einzigen LED Streifens betrachten.<\/p>\n\n\n\n<p>Wir k\u00f6nnten die Ampelanlage um getrennte Signale f\u00fcr Fu\u00dfg\u00e4nger und\/oder um spezielle Abbiegespuren erg\u00e4nzen. Wir k\u00f6nnen mehrere Anlagen miteinander \u00fcber WLAN verbinden und eine gr\u00fcne Welle simulieren.<\/p>\n\n\n\n<p>Wir k\u00f6nnten kleine Reed-Kontakte unter der Sra\u00dfe anbringen und auf diese<br>Weise Spielzeugautos erkennen, in denen sich Magnete befnden. So k\u00f6nnten wir bedarfsgerechte Verkehrsfluss-Steuerung simulieren. <br>Als Kr\u00f6nung des Ganzen, k\u00f6nnte man sogar noch Einsatzfahrzeuge (Notarzt, Feuerwehr) oder \u00d6PV-Busse einf\u00fchren, die Vorrang haben und den aktuellen Ampelzyklus durchbrechen. Das gibt es auch in der Realit\u00e4t. Beispielsweise melden sich \u00d6PV-Busse manchmal schon 100m vorher bei einer Ampel an, damit diese &#8222;in Ruhe&#8220; daf\u00fcr sorgen kann, dass sie GREEN zeigt, wenn der Bus bei ihr angelangt.<\/p>\n\n\n\n<p>Hier geht es zur <a href=\"https:\/\/followthescore.org\/schueler-labor\/2021\/01\/27\/verkehrsampel-v1\/\" data-type=\"post\" data-id=\"425\">Version 1 der Software<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir bilden die Schaltzyklen einer sehr einfachen Ampelanlage nach. Die ganze Anlage besteht aus vier Masten, die jeweils am rechten Fahrbahnrand vor der Einfahrt in eine Kreuzung stehen. Da gegen\u00fcber liegende Masten sich identisch verhalten, betrachten wir insgesamt nur zwei Masten; wir nennen sie &#8222;tlA&#8220; (traffic light A) und &#8222;tlB&#8220;.wenn tlA RED zeigt, ist tlB&hellip; <a class=\"more-link\" href=\"https:\/\/followthescore.org\/schueler-labor\/verkehrsampel\/\"><span class=\"screen-reader-text\">Verkehrsampel<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/411"}],"collection":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/comments?post=411"}],"version-history":[{"count":14,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/411\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/posts\/411\/revisions\/446"}],"wp:attachment":[{"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/media?parent=411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/categories?post=411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/followthescore.org\/schueler-labor\/wp-json\/wp\/v2\/tags?post=411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}