Forum: Mikrocontroller und Digitale Elektronik Hilfe Ampelschaltung mit Bascom ATtiny26


von chris (Gast)


Angehängte Dateien:

Lesenswert?

hi habe volgendes  Problem,
Wenn ich die zweite Ampel2_gruen Alias Portb.4
Ampel2_gelb Alias Portb.5
Ampel2_rot Alias Portb.6
Reinschreibe dann geht die andere ampel bei gelb aus.
Bitte um Hilfe.Vielen Dank chris

von Dr. Ashayk Egsi (Gast)


Lesenswert?

Ich verstehe Dein Problem nicht.
Kannst Du das ein wenig deutlicher beschreiben?

Ich gehe davon aus, dass Du weisst wie sich diese Aufgabenstellung 
anhört...

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du hast glaube ich einen Denkfehler im Programm. Es ist 
verkehrstechnisch unklug, zuerst einen kompletten Zyklus von Ampel1 zu 
programmieren, bevor die Ampel2 das erste Mal angesprochen wird. In 
dieser Zeit hängen schon die ersten Autos aufeinander ;-)

Es hilft zuerst eine Tabelle zu machen, in der der Zeiten und Zustände 
der Ampellichter notiert sind

Zeit          A  B  C  D  E  F  G  H  A  wiederholen
Ampel1-rot    0  1  1  1  1  1  1  1
Ampel1-gelb   0  1  0  0  0  0  0  1
Ampel1-grün   1  0  0  0  0  0  0  0
Ampel2-rot    1  1  1  0  0  1  1  1
Ampel2-gelb   0  0  0  1  0  1  0  0
Ampel2-grün   0  0  0  0  1  0  0  0

Die einzelnen Phasen A,B,C... kann man dann den gewünschten 
Warte-/Fahrzeiten anpassen. Ich würde aus obigem Grund auch in jedem 
Zustand immer alle Ampellampen setzen/löschen.

Bei einem fortgeschrittenen Programm bietet sich sogar eine Schleife an, 
bei der die Steuerzeiten und die Zustände eines kompletten Ports aus 
zwei  Data Statements gelesen werden.

Bei einem noch fortgeschritteneren Programm würde man den Zeitgeber 
nicht durch wait Statements zwischen den Zuständen A,B,... 
programmieren, sondern einen Timerinterrupt als Zeitscheibenantrieb 
benutzen. Dann kann das Programm in den "Wartezeiten" noch andere Sachen 
machen z.B. Anzahl der Autos zählen oder MP3s für die Fussgänger 
abspielen ;-)

von chris (Gast)


Lesenswert?

hi danke ich habs.
MFG Chris

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.