Also ich kopiere mal zum Schluss den eigentlichen Sketch.
Jetzt aber erstmal kann ich zumindest einen Teilerfolg verkünden.
Ich habe die Blinklicht Methode mit 2 LED einfach erweitert so das ich jetzt 4 LEDs dran habe.
Er macht also jetzt mit delay 200 eine Lauflicht Logik. Wobei das Feintuning mit delay kein Problem sein sollte. Also eigentlich nichts anderes wie bei dem bereits von mir gelöteten Lauflicht mit NE555 und IC4017 über Poti. Jetzt will ich sozusagen noch ein blitzen mit rein bekommen. Ähnlich diesem Video LEDPROFISHOP Rundumlicht D=30 mm GELB für RC Modelle - YouTube
Mein Sketch sieht jetzt so aus:
/*Einfaches LED Blinklicht*/
/*Pin’s für die LED’s definieren*/
int led1 = 0;
int led2 = 1;
int led3 = 2;
int led4 = 3;
/*Den Modus (Eingang oder Ausgang) der Pin’s definieren*/
void setup(){
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
/*Das eigentliche blinken der LED’s*/
void loop(){
digitalWrite(led1, HIGH); /*LED 1 an*/
digitalWrite(led2, LOW); /*LED 2 aus*/
digitalWrite(led3, LOW); /*LED 3 aus*/
digitalWrite(led4, LOW); /*LED 4 aus*/
delay(200); /*warte 500 ms*/
digitalWrite(led1, LOW); /*LED 1 aus*/
digitalWrite(led2, HIGH); /*LED 2 an*/
digitalWrite(led3, LOW); /*LED 3 aus*/
digitalWrite(led4, LOW); /*LED 4 aus*/
delay(200); /*warte 500ms*/
digitalWrite(led1, LOW); /*LED 1 aus*/
digitalWrite(led2, LOW); /*LED 2 aus*/
digitalWrite(led3, HIGH); /*LED 3 an*/
digitalWrite(led4, LOW); /*LED 4 aus*/
delay(200); /*warte 500ms*/
digitalWrite(led1, LOW); /*LED 1 aus*/
digitalWrite(led2, LOW); /*LED 2 aus*/
digitalWrite(led3, LOW); /*LED 3 aus*/
digitalWrite(led4, HIGH); /*LED 4 an*/
delay(200); /*warte 500ms*/
}
So nun noch der Sketch der von Franzis bzw. rcarduino.tk der die Fehler bringt. Hab mal das Copyright usw. weg gelassen um Platz zu sparen. Auch werde ich wohl keinen Schalter brauchen wie hier geschrieben.:
#include <SoftPWM.h>
#include <SoftPWM_timer.h>
/*
leuchtturm.ino - Rundumlichtsteuerung - Version 0.1
Leuchtturm mit 12 LED's an den Ausgängen D0..D11. Alle LED werden mit SoftPWM angesteuert,
so kann man das Nachleuchten schön simulieren.
1 Taster zum Einschalten an D12.
Über das Array kann die Leuchtfolge bestimmt werden.
*/
// Anzahl der LED's
const byte MAX_LED = 12;
// Zeit für einen Umlauf
const int UMLAUFZEIT = 2000;
// Leuchtfolge
byte leuchtfolge[] = {
0, 0, 0, 0, 0, 128, 255, 128, 0, 0, 0, 0};
// Schalter zum Einschalten
const byte SCHALTER = 12;
// ab hier kommen die Programmvariablen
int zeit = UMLAUFZEIT / MAX_LED;
void setup() {
// Schalter ist Eingang mit Pullup
pinMode(SCHALTER, INPUT_PULLUP);
// Start der SoftwarePWM-Bibliothek
SoftPWMBegin();
// Alle LED's als OUTPUT Pins und erstmal aussschalten
for (int i = 0; i < MAX_LED; i++) {
SoftPWMSet(i, 0);
}
// Hier kann man Zeiten definieren, damit die LED's nicht nur einfach an und aus gehen,
// sondern schön faden.
SoftPWMSetFadeTime(ALL, 100, 100);
}
void loop() {
if (digitalRead(SCHALTER) == 0) {
for (int i = 0; i < MAX_LED; i++) {
SoftPWMSet(i, 0);
}
}
else {
for (int i = 0; i < MAX_LED; i++) {
SoftPWMSet(i, leuchtfolge[i]);
}
byte temp = leuchtfolge[0];
for (int i = 1; i < MAX_LED; i++) {
leuchtfolge[i-1] = leuchtfolge[i];
}
leuchtfolge[MAX_LED - 1] = temp;
}
delay(zeit);
}