Hallo zusammen,
ich muss für ein Schulprojekt eine Ampelsteuerung für eine größere Kreuzung realisieren.
Folgende Punkte sollen enthalten sein:
Es handelt sich um eine X-Kreuzung
Auf jeder Seite gibt es eine Spur für Autos die geradeaus und nach rechts fahren können
Auf jeder Seite eine Spur für Autos die nach links abbiegen möchten
Die Fußgänger sollen in alle Richtungen die Fahrbahn überqueren können mithilfe von
Fußgängerampeln
An jeder Ecke soll es eine gelbe LED geben die die Autofahrer auf Fußgänger hinweißt
Eine Nachtschaltung die nachts für die Hauptstraße dauerhaft grün gibt solange kein Auto auf
der Nebenstraße von einem Sensor erkannt wird oder eine Fußgängerampel betätigt wird
Das Problem an der ganzen Geschichte ist, das ich bisher nur eine einfache Ampelsteuerung einer einzelnen Ampel programmiert habe. Und sonst noch keine weiteren Erfahrungen mit der Arduino Programmierung habe.
Deshalb wäre es top wenn es die ein oder andere Hilfestellung zur möglichen Realisierung des Projekts hier finden könnte.
@firefighter112
dann mach mal eine einfache Ampelsteuerung.
Poste den Schaltplan und den Code.
Dann schauen wir uns das mal an.
Danach kannst du mal vorbereiten:
eine Lange Liste an Pins welcher Pin welche Ampel/Leuchte, Button, Sensor betätigen soll.
Und einen weiteren Lageplan wie oben, aber dann mit eingezeichneten LEDs gem. deiner Liste und Buttons und Sensoren.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
ich bin da sehr picky weil es eine HAUSAUFGABE ist.
Du brauchst eine Liste MIT ALLEN PINs - ganz genau.
Und da du in der C++ Welt bist, ... C++ beginnt mit dem Zählen mit 0 (nicht 1).
Also benenne wenigstens jeweils deinen letzte Nummer auf 0 um.
Wenn man mit A, B, C ... durchbenennt erspart man sich genau diese Diskussion
Ich hoffe das würde soweit passen von der Belegung her. Das Problem an dem ganzen ist das wir obwohl wir mit der Arduino Programmierung eigentlich keine Erfahrung haben gleich eine so in meinen Augen komplexe Schaltung machen sollen. Auf der Arbeit habe ich nur Mal ein Arduino Starterset ausprobiert. Dort hat man allerdings nur anhand der Anleitung und einem fertigen Code etwas aufgebaut.
Schöne Aufgabe.
Mach Dir einen grossen Zettel.
Schreibe darauf Deine Bedingungen.
z.B.
Wenn
Ampel 1 = rot
Ampel 2 = rot
Ampel 4 = rot
Ampel 5 = rot
Ampel 7 = rot
Dann darf Fußgängerampel 1 grün werden.
Dann musst Du klären, wie weit Du an die Realität ran möchtest.
Denn Fußgängerampel 1 und Ampel 4 gehen auch gleichzeitig grün, wobei dann hzuerst die Fußgänger losgehen und die auch wieder früher rot bekommen...
Vom Prinzip her sind das für jede FA die selben Funktionen. Somit muss der Code dafür nur einmal geschrieben werden und von jeder Position aus wird er aufgerufen, in dem die Funktion wiederverwendet wird...
Wenn der Ablaufplan für einen Umlauf klar ist, dann ist das Codeschreiben umso schneller.
Wenn:
Ampel 3= rot
Ampel 4= rot
Ampel 5= rot
Ampel 6= rot
Ampel 7= rot
Ampel 8= rot
Fußgängerampel 1= rot
Fußgängerampel 2= rot
Fußgängerampel 3= rot
Fußgängerampel 4= rot
Gelbe LED 1= Low
Gelbe LED 2= Low
Gelbe LED 3= Low
Gelbe LED 4= Low
Dann darf Ampel 1 und Ampel 2 grün werden.
Wenn:
Ampel 1= rot
Ampel 2= rot
Ampel 5= rot
Ampel 6= rot
Ampel 7= rot
Ampel 8= rot
Fußgängerampel 1= rot
Fußgängerampel 2= rot
Fußgängerampel 3= rot
Fußgängerampel 4= rot
Gelbe LED 1= Low
Gelbe LED 2= Low
Gelbe LED 3= Low
Gelbe LED 4= Low
Dann darf Ampel 3 und Ampel 4 grün werden.
Wenn
Ampel 1= rot
Ampel 2= rot
Ampel 3= rot
Ampel 4= rot
Ampel 7= rot
Ampel 8= rot
Fußgängerampel 1= rot
Fußgängerampel 3= rot
Gelbe LED 2= Low
Gelbe LED 4= Low
Dann darf Ampel 5, Ampel 6, Fußgängerampel 2 und Fußgängerampel 4 grün werden. Und die gelbe LED 1 und die gelbe LED 3 dürfen blinken.
Wenn:
Ampel 1= rot
Ampel 2= rot
Ampel 3= rot
Ampel 4= rot
Ampel 5= rot
Ampel 6= rot
Fußgängerampel 2= rot
Fußgängerampel 4= rot
Gelbe LED 1= Low
Gelbe LED 3= Low
Dann darf Ampel 7, Ampel 8, Fußgängerampel 1 und Fußgängerampel 3 grün werden. Und die gelbe LED 2 und die gelbe LED 4 dürfen blinken.
Also ich hab mal drüber geschaut.
Bau das ganze mal in Code zusammen.
Eine(!) Ampel. Eine Fussgängerampel und ein Blinklicht.
Der Sensor im Boden kommt später.
Und dann steht im Raume, auf welchem Level das von Euch umgesetzt werden soll.
Du schreibst das jetzt das zweite mal.
Ich kann da nur entgegen: Hör' auf zu jammern.
Wenns einfach wäre könnte es ja jeder.
Zerteile es in so kleine Schritte dass es eben nicht mehr komplex ist.
Übrigens warte immer noch auf deinen ersten Sketch mit einer Ampel.
Hier mein verwendeter Code
Hatte damit dann ausprobiert wie es ist wenn ich einfach eine zweite Ampel parallel schalte, da ja in meiner Schaltung die ich aktuell geplant habe immer die jeweils gegenüberliegenden Seite parallel fahren dürfen.
Der Projektstart war Mitte Januar. Dort wurden die Gruppen und die Themen festgelegt. Danach wurde mit dem entsprechenden Lehrer der die Gruppe betreut der Umfang des Projekts besprochen also in unserem Fall was die Kreuzung alles beinhalten soll. Und anhand dessen haben wir dann in der Gruppe angefangen eine Materialliste zu erstellen, eine Skizze der Kreuzung zu erstellen, eine Schaltungslogik zu erstellen, anhand dessen was wir bereits gemacht haben haben wir auch schon die Dokumentation angefangen und jetzt zuletzt nachdem die ersten Teile angekommen sind haben wir erste Versuche in der Programmierung gemacht.
Zeit haben wir theoretisch bis zum 19.06.2023 allerdings gibt es auch Vorzieher (wir sind in der Ausbildung) die bereits am 25.04.2023 abgegeben müssen. Und eigentlich ist das ganze ein Schulprojekt das dem entsprechend auch in der Schule gemacht werden soll. Wir haben allerdings nur alle 6 Wochen Schule. Das heißt jetzt muss man halt nach der Arbeit schauen das man das Projekt fertig bekommt, da die Firmen berechtigterweise nicht wollen das ein Schulprojekt auf der Arbeit gemacht wird.