ALIC Anwendungsbeispiel: Einfache Ampelanlage

Diese Ampelanlage besteht aus zwei Ampeln mit jeweils einer roten, einer gelben und einer grünen LED, die vom Controller automatisch in der Abfolge der Ampelphasen  angesteuert werden. Das Steuerprogramm für das Rotlicht der ersten Ampel (Ausgang 0) bildet dabei die zentrale Steuersequenz für alle  Lampen. Die anderen Lampen werden durch SETSWX- und CLRSWX-Befehle über ihre jeweils zugeordneten logischen Schalter zu den passenden Zeiten ein- und ausgeschaltet. Die Steuerprogramme für alle anderen LEDs, als "rot" der ersten Ampel, beschränken sich daher auf die einfache Ein-/Ausschalt-Funktion und sind für alle diese LEDs gleich, daher kann für die Ausgänge 1 bis 5 ein gemeinsames Steuerprogramm verwendet werden.

ALIC-Steuerprogramm für die Ampelanlage:

;Schalter/Kanalnummern der Ampel-Lampen:
#define rot_1 0
#define gelb_1 1
#define gruen_1 2
#define rot_2 3
#define gelb_2 4
#define gruen_2 5

;Kanal 0 = Rotlicht der ersten Ampel, steuert die anderen Lichter:
entry_ch0
DEFTICKLEN 100 ;Zeiteinheit = 100ms
;
ampelschleife
SETSX gruen_2 ;Ampel 2 auf grün
LIGHTON 100 ;Ampel1 rot/Ampel 2 grün = 10 Sekunden
CLRSX gruen_2 ;Ambel2 grün aus,
SETSX gelb_2 ;gelb an
DELAY 40 ;Gelbphase(A.2) dauert 4 Sekunden
CLRSX gelb_2
SETSX rot_2 ;Ampel2 auf rot
DELAY 40 ;beide Ampeln = rot, 4 Sekunden
SETSX gelb_1 ;Ampel1 = rot+gelb
DELAY 20 ;rot/gelb-Phase =2 Sekunden
CLRSX gelb_1 ;gelb aus
SETSX gruen_1 ;grün an
LIGHTOFF 100 ;Ampel 1 Grünphase = 10 Sekunden
CLRSX gruen_1
SETSX gelb_1 ;Ampel 1 Gelbphase
DELAY 40 ;dauert 4 Sekunden
CLRSX gelb_1 ;gelb aus,
LIGHTON 40 ;beide Ampeln rot: 4 Sekunden
SETSX gelb_2 ;Ampel 2: rot+gelb
DELAY 20 ;2 Sekunden lang
CLRSX rot_2
CLRSX gelb_2
JUMP ampelschleife ;dann Wiederholung... (Grünphase v.Ampel2)
;
entry_ch1
entry_ch2
entry_ch3
entry_ch4
entry_ch5
HALTSOFF ;alle Slave-Kanäle = simple Ein/Aus-Schalter
LIGHTON 0
HALTSON
P_RESET
   

Hardware:

Solche Signallichter, z.B. auf Modellbahn-Anlagen im H0-Maßstab, brauchen keine großen Leistungen, so daß die LEDs über Vorwiderstände direkt an den Microcontroller angeschlossen werden können. Die entsprechende Schaltung könnte z.B. mit einem PIC16F630 dann so aussehen:
 Schaltplan

<< zurück
Kontakt