Wie kann die LED's gleichzeitig steuern ?

Whandall:
Ich mache keine Hausaufgaben.

Hier sagt keiner dass du Hausaufgaben musst. Ich habe es bis jetzt selbst versucht zu machen, und werde es weiterhin versuchen. Bin nur am verzweifeln da ich nicht mehr weiterkomme, und um Hilfe bete. LG

cr4zym4rc0:
Hier sagt keiner dass du Hausaufgaben musst.

Stimmt, du sagst es nicht, ändert aber nichts an den Tatsachen.
Ausser Schülern/Studenten muss niemand Mittwoch Abend irgendwas fertig haben.

cr4zym4rc0:
Allerdings verstehe ich nicht was das if und die == bedeuten.

Wow, da hast du ja richtig viel versucht/gelernt/gemacht.

cr4zym4rc0:
Ich habe es bis jetzt selbst versucht zu machen, und werde es weiterhin versuchen. Bin nur am verzweifeln da ich nicht mehr weiterkomme, und um Hilfe bete.

Über den naiven Primitivansatz bist du bis zwei Tage vor Abgabe nicht herausgekommen?

Um Hilfe beten ist mal ein interessanter Ansatz... :wink:

Wie das Problem gelöst werden kann/sollte wurde dir geschildert.

Viel Erfolg.

Aus meiner Sicht machst Du konzeptionelle Fehler:

  • "gleichzeitig" benötigst Du für eine einfache Ampelschaltung nicht, daher auch keinen endlichen Automaten, delay genügt. Du willst nur LEDs ein- und ausschalten.
  • Ich weiß nicht, wo Du wohnst, aber Gelb für Fußgängerampeln habe ich in D noch nicht gesehen.
  • Eine einfache Schaltung für eine einfache Kreuzung kennt Grün für die eine und Rot für die andere Richtung. Logisch gibt es also nur AutoRot/AutoGelb/AutoGrün/FgRot/FgGrün für jede Richtung. Natürlich kannst Du jeder LED einen Ausgang vom Mega spendieren. Erstelle eine Tabelle, wann welche LED eingeschaltet sein soll.
  • Eine Ampel fängt mit einem definierten Zustand an, der gehört noch nach setup().
    Wenn Du Dich konzentrierst, hast Du das in zwei Stunden erledigt, also lege los!

Einen Sketch für eine Fußgängerampel findest Du hier: Anleitung: Endlicher Automat mit millis()

Tommy56:
Wer den schnellen Erfog sucht, sollte nicht programmieren, sondern Holz hacken.

Den muß ich mir merken :slight_smile:

cr4zym4rc0:
Ich brauche ja nicht alles wissen, brauche ja nur ein paar Commands.

Quatsch, die Commands sind didigtalWrite(). Entweder HIGH oder LOW. Und das ist das letzte, was Du erst brauchst, wenn Du Code schreibst.

Was Du als erstes brauchst, ist ein Plan.
Für eine Ampelanlage mit 36 LEDs.

Den Plan kannst Du Dir auf einem Blatt kariertem Papier aufmalen.

Ein Ampeldurchlauf besteht aus mehreren Ampelphasen. In jeder Phase sind bestimmte LEDs zu schalten.

Wenn Du 10 verschiedene Ampelphasen hast und jeder einen Buchstaben gibst, als Bezeichnung einer Spalte, dann hast Du die Ampelphasen mit den Buchstaben A, B,C,D,E,F,G,H, I,J als Spaltenüberschrift
Und die LEDs wären die Zeilen auf Deinem Karopapier, von oben nach unten gezählt 1, 2, 3, 4, 5,... 36.

Das ergibt ein schönes Gitter mit Kästchenfeldern von A1 bis J36.

Und jetzt kreuzt Du in dem Gitter an, welche LEDs in welcher Phase leuchten sollen.

Wenn in Phase A die LEDs 4,5,6 ,17,18 und 35 leuchten sollen, setzt Du ein Kreuz in A4, A5, A6, A17, A18 und A35.

Und wenn in Phase B die LEDs 7,8,12,13, 22 und 33 leuchten sollen, setzt Du ein Kreuz in B7,B8,B12,B13,B22, B33.

Und wenn Du das für alle Ampelphasen bis I durch machst, ganz unten vielleicht noch eine Zeile 37, in die Du die Anzahl Sekunden eintrrägst, die diese Ampelphase dauern soll, dann hast Du am Ende ein Blatt kariertes Papier, auf dem man auf einen Blick sehen kann, in welcher Ampelphase welche LEDs leuchten sollen und wie lange.

Und wenn Du den Plan hast, kannst Du dafür Daten und Code in ein Programm schreiben.

Jede Spalte (Ampelphase) ist dann ein Array von LED-Nummern.

Die werden in einem Zeitraster durchgeschaltet und am Ende , wenn alle Ampelphasen einmal für eine bestimmte Dauer geschaltet waren, fängt es vorne wieder an für den nächsten Durchlauf der Ampelphasen.

In der Fachsprache von Verkehrsplanern heißt ein Durchlauf aller Ampelphasen nacheinander, bis sich die Phasen wiederholen, glaube ich ein "Umlauf".

Wenn Du den Plan der Ampelphasen hast, als Exceltabelle oder auf Karopapier, ggf. auch 36 Zeilen herauskopiert aus dem Code-Editor können wir über den Code reden.

Planvorlage (kann im Code-Editor bearbeitet/ausgefüllt werden):

   A  B  C  D  E  F  G  H  I  J
1
2
3
4
5
6
7
8
9
10

11
12
13
14
15
16
17
18
19
20

21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

Trage da mal in den Spalten A bis J (oder wieviele Ampelphasen es an Deiner Ampelanlage geben soll, wie beschrieben ein "X" in die Spalten/Zeilen ein, wo die entsprechende LED in der Phase leuchten soll.

Anhand des Ampelphasen-Ablaufplans könnte man dann über Datenstrukturen und Code in einem Programm reden.

jurs:
In Deutschland gibt es keine Fußgängerampeln mit Gelbphase (meines Wissens nach), Fußgängerampfeln zeigen nur rot oder grün oder sind aus.

Absolutes Offtopic: Düsseldorf hat als einzige deutsche Stadt Fußgängerampeln mit Gelbphase.

sth77:
Absolutes Offtopic: Düsseldorf hat als einzige deutsche Stadt Fußgängerampeln mit Gelbphase.

Ich war da schon, ist mir nicht aufgefallen, da hatte ich meine Augen wohl woanders :slight_smile: