hi
und zwar hab ich einen arduino nano 3.0 in einer tron legacy identity disc verbaut und ein programm dazu geschrieben.
das board soll 12 smd leds mit einen abstand von 1 s anschalten und die dann leuchten lassen. gesteuert wird es über 1 schalter/magnetschalter und einen taster.
wenn der taster gedrückt wird sollen die leds wie beschrieben angehen und dann nach 60s wieder aus.
wenn der schalter geschaltet wird sollen sie auch wie beschrieben angehen aber erst wenn der schalter auf aus ist nach 60s ausgehen.
die leds sind auf den digitalpins 2-13 und der taster an digital pin 0/tx und der schalter auf digital pin 1/rx.
nun das problem ist das kaum das ich das board unter strom setzte gehen die leds an und beginnen alle nach einander zu leuchten dann dauerts 60s und sie gehen aus und das gleiche beginnt von vorne.
der schalter und der taster haben keinen einfluss darauf.
ich bin mit dem latein am ende hab schon alles durchprobiert was mir einfiel aber komme einfach net weiter
hier mal das programm wo ich net weiter komme.
hoffe ihr könnt mir helfen
/////definieren der ein und ausgänge
// pins an denen die leds angeschlossen sind
int led1 = 13;
int led2 = 12;
int led3 = 11;
int led4 = 10;
int led5 = 9;
int led6 = 8;
int led7 = 7;
int led8 = 6;
int led9 = 5;
int led10 = 4;
int led11 = 3;
int led12 = 2;
// pins an denen die schalter sind
int taster = 0; //taster
int schalter = 1; // schalter und magnetschalter
// weitere festlegung
void setup () {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(taster, INPUT);
digitalWrite(taster, HIGH);
pinMode(schalter, INPUT);
digitalWrite(schalter, HIGH);
}
///// Programm bei Tasteraktivierung
void loop() {
int val = digitalRead(taster);
if (val == HIGH) { // wenn taster gedrückt wird
digitalWrite(led1,HIGH); // schaltet jede led nacheinander an mit 1s wartezeit
delay(1000);
digitalWrite(led2,HIGH);
delay(1000);
digitalWrite(led3,HIGH);
delay(1000);
digitalWrite(led4,HIGH);
delay(1000);
digitalWrite(led5,HIGH);
delay(1000);
digitalWrite(led6,HIGH);
delay(1000);
digitalWrite(led7,HIGH);
delay(1000);
digitalWrite(led8,HIGH);
delay(1000);
digitalWrite(led9,HIGH);
delay(1000);
digitalWrite(led10,HIGH);
delay(1000);
digitalWrite(led11,HIGH);
delay(1000);
digitalWrite(led12,HIGH);
delay(60000); // sind alle leds an wird 60s gewartet und dann alle leds wieder abgeschaltet
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
digitalWrite(led12, LOW);
} // ende des tastersprogramm
/////Programm bei schalter/magnetschalter aktivierung
val = digitalRead(schalter);
if (val == HIGH) {
digitalWrite(led1,HIGH);
delay(1000);
digitalWrite(led2,HIGH);
delay(1000);
digitalWrite(led3,HIGH);
delay(1000);
digitalWrite(led4,HIGH);
delay(1000);
digitalWrite(led5,HIGH);
delay(1000);
digitalWrite(led6,HIGH);
delay(1000);
digitalWrite(led7,HIGH);
delay(1000);
digitalWrite(led8,HIGH);
delay(1000);
digitalWrite(led9,HIGH);
delay(1000);
digitalWrite(led10,HIGH);
delay(1000);
digitalWrite(led11,HIGH);
delay(1000);
digitalWrite(led12,HIGH);
}
else {
delay(60000); /// wenn schalter aus dann alle leds ausschalten nach 60s
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
digitalWrite(led12, LOW);
}
}