DO1XXY
New member
- Registriert
- 12.04.2013
- Beiträge
- 579
Hallo Gemeinde,
vor einiger Zeit habe ich einen Bruder Warnleitanhänger mit einer Timerschaltung (NE555) umgerüstet. Dadurch fiel die automatische Abschaltung der Blinkanlage weg und ich konnte die Zeitvorgaben für das Aufleuchten der beiden Flasher und der LEDs für die Richtungspfeile selber bestimmen.
Um dem Verkehrsleitschild noch mehr Aufmerksamkeit zu verschaffen habe ich für ein Adurinoboard ein Sketch (Programm) geschrieben. Das Pflichtenheft:
- Doppelblitz der beiden oberen großflächigen Leuchten (Flasher)
- weiches auf- und nachleuchten der LEDs für den Richtungspfeil
- Ansteuerung einer Bakenkette mit x-beliebiger Anzahl von LED (bei mir 5).
So sieht das Ergebniss aus:
Der Sketch dazu:
Gruß
Armin de DO1XXY
P.S.: ich helfe gerne beim Programmieren eines Arduino
vor einiger Zeit habe ich einen Bruder Warnleitanhänger mit einer Timerschaltung (NE555) umgerüstet. Dadurch fiel die automatische Abschaltung der Blinkanlage weg und ich konnte die Zeitvorgaben für das Aufleuchten der beiden Flasher und der LEDs für die Richtungspfeile selber bestimmen.
Um dem Verkehrsleitschild noch mehr Aufmerksamkeit zu verschaffen habe ich für ein Adurinoboard ein Sketch (Programm) geschrieben. Das Pflichtenheft:
- Doppelblitz der beiden oberen großflächigen Leuchten (Flasher)
- weiches auf- und nachleuchten der LEDs für den Richtungspfeil
- Ansteuerung einer Bakenkette mit x-beliebiger Anzahl von LED (bei mir 5).
So sieht das Ergebniss aus:
Der Sketch dazu:
Code:
/* Lichtsteuerung für Verkehrsleittafel mit gedimmten Richtungspfeil, Flasher und Bakenlauflicht */
// Zuordnung der LEDs auf die Pins des Portsteckers
int ledPin = 3; // Richtungspfeile analoger Ausgang für Dimmer
int led1 = 2; // Flasher
int led2 = 4; // Bakenlauflicht
int led3 = 5; // Bakenlauflicht
int led4 = 6; // Bakenlauflicht
int led5 = 7; // Bakenlauflicht
int led6 = 8; // Bakenlauflicht
int del1=50; // Impulszeit Flasher
int del2=250; // Übergangszeit zwischen Flasher und Richtungspfeilen
int del3=20; // FadeIn/FadeOut für die Richtunspfeile
int del4=40; // Übergangszeit LED zu LED im Bakenlauflicht
int del5=30; // Leuchtdauer der einelnen LEDs im Bakenlauflicht
int del6=5; // Übergangszeit Fade Out zu Flasher
void setup() {
pinMode(ledPin, OUTPUT); // Richtungspfeile
pinMode(led1, OUTPUT); // Flasher
pinMode(led2, OUTPUT); // Bakenlauflicht
pinMode(led3, OUTPUT); // Bakenlauflicht
pinMode(led4, OUTPUT); // Bakenlauflicht
pinMode(led5, OUTPUT); // Bakenlauflicht
pinMode(led6, OUTPUT); // Bakenlauflicht
}
// Verkehrsleittafel
void loop() {
{
// fade in from min to max in increments of 5 points:
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(del3);
}
digitalWrite(led6, HIGH); // Baken LED 6
delay(del4); // Leuchtdauer LED 6
digitalWrite(led6, LOW);
delay(del5);
digitalWrite(led5, HIGH); // Baken LED 5
delay(del4); // Leuchtdauer LED 5
digitalWrite(led5, LOW);
delay(del5);
digitalWrite(led4, HIGH); // Baken LED 4
delay(del4); // Leuchtdauer LED 4
digitalWrite(led4, LOW);
delay(del5);
digitalWrite(led3, HIGH); // Baken LED 3
delay(del4); // Leuchtdauer LED 3
digitalWrite(led3, LOW);
delay(del5);
digitalWrite(led2, HIGH); // Baken LED 2
delay(del4); // Leuchtdauer LED 2
digitalWrite(led2, LOW);
delay(del5);
// fade out
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { // Fadingrange 0-255
analogWrite(ledPin, fadeValue);
delay(del6); // Wartezeit bis zum Fading
}
digitalWrite(led1, HIGH); // Impulszeit für den Flasher
delay(del1);
digitalWrite(led1, LOW);
delay(del1); // Übergangsverzögerung vom Flasher zu de Richtungspfeilen
digitalWrite(led1, HIGH); // Impulszeit für den Flasher
delay(del1);
digitalWrite(led1, LOW);
delay(del2); // Übergangsverzögerung vom Flasher zu de Richtungspfeilen
}
}
Gruß
Armin de DO1XXY
P.S.: ich helfe gerne beim Programmieren eines Arduino