Einen schönen guten Abend an das Forum,
inspiriert durch das "Belebte Haus" von Herbert und durch die tatkräftige Unterstützung verschiedener Forenmitglieder habe ich inzwischen die ersten "Gehversuche" mit dem Arduino und Attiny hinter mir und einige kleinere Projekte erfolgreich abgeschlossen.
Aktuell arbeite ich am Bahnstellwerk. Die Räume wurden mit Leds bestückt, die nach dem Zufallsprinzip ein- und ausschalten. Auf dem "Balkon" steht ein Bahnwärter, der eine Laterne hält (angeklebte smd-Led), die blinkt.
Das Ganze habe ich mittels Arduino (Version 1.0.5-r2) und Attiny 85 programmiert.
Nachstehend der Sketch (die Ausgänge für led1 - led4 sind bereits für den Attiny):
/* Bahnhofstellwerk mit Blinken für Bahnwärter und Ein-/Ausschalten für Erdgeschoss */
int led1 = 0;
int led2 = 1;
int led3 = 2;
int led4 = 3;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop () {
Bahnwaerter();
Erdgeschoss();
}
void Bahnwaerter() {
digitalWrite(led1, HIGH);
delay(1000);
digitalWrite(led1, LOW);
delay(1000);
}
void Erdgeschoss() {
if (random(1500) < 900)
digitalWrite(led2, HIGH);
else
digitalWrite(led2, LOW);
delay(1500);
if (random(2000) < 1000)
digitalWrite(led3, HIGH);
else
digitalWrite(led3, LOW);
delay(500);
if (random(1000) < 500)
digitalWrite(led4, HIGH);
else
digitalWrite(led4, LOW);
delay(1500);
}
Der Sketch funktioniert soweit auch ganz gut.
Einen Punkt würde ich gerne verbessern wollen, soweit das möglich ist. Die "Delays" beim void "Erdgeschoss" sind relativ kurz, d.h. die Leds schalten entsprechend zügig, was etwas unrealistisch wirkt. Wenn ich bei den "Delays" höhere Werte eingebe, entsteht dadurch eine nicht gewollte Verzögerung beim Blinkintervall beim void "Bahnwärter".
Ist es möglich, das Programm so zu gestalten, dass die beiden voids unabhängig voneinander arbeiten? Das ist meine Frage an die Experten.
Im Voraus ein großes Dankeschön für Eure Hilfe.
Einen schönen Abend wünscht
Bierrudl