myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Ungelesen 18.03.19, 08:18   #1
DrBeshir
Mitglied
 
Registriert seit: Sep 2008
Beiträge: 324
Bedankt: 249
DrBeshir wird langsam von ratten respektiert | 241 Respekt PunkteDrBeshir wird langsam von ratten respektiert | 241 Respekt PunkteDrBeshir wird langsam von ratten respektiert | 241 Respekt Punkte
Standard Arduino Nano zwei Sketche kombinieren

Ich bastel an einem Arduino Projekt für das meine Fähigkeiten offensichtlich nicht ausreichen. Ich habe zwei Sketche die ich kombinieren möchte. Das Eine lässt LEDs in einer bestimmten Reihenfolge blinken. Das Andere erzeugt einen Ton auf einem passiven Piezo Buzzer. Jeder Sketcht einzeln für sich funktioniert. Nur kombinieren kann ich die Sketche nicht. Es liegt wohl irgendwie an dem delay.
Sketch LED

Code:
int led1 = 5;
int led2 = 7;
int led3 = 9;
int led4 = 11;


void setup() {


pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}


void loop()
{

//Light Status 1
digitalWrite(led4, HIGH);

digitalWrite(led1, HIGH);
delay(600);

digitalWrite(led1, LOW);
delay(600);

//Light Status 2
{digitalWrite(led2, HIGH);
delay(600);

digitalWrite(led2, LOW);
delay(600);}

//Light Status 3
{digitalWrite(led3, HIGH);
delay(600);

digitalWrite(led3, LOW);
delay(600);}

//Light Status 4
{digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
delay(600);

digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(600);}

//Light Status 5
{digitalWrite(led1, HIGH);
digitalWrite(led3, HIGH);
delay(600);

digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
delay(600);}

//Light Status 6
{digitalWrite(led3, HIGH);
delay(600);

digitalWrite(led3, LOW);
delay(600);}

//Light Status 7
{digitalWrite(led1, HIGH);
delay(600);

digitalWrite(led1, LOW);
delay(600);}

//Light Status 8
{digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
delay(600);

digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
delay(600);}

//Light Status 9
{digitalWrite(led1, HIGH);
digitalWrite(led3, HIGH);
delay(600);

digitalWrite(led1, LOW);
digitalWrite(led3, LOW);
delay(600);}

}
Sketch Buzzer

Code:
int buzzer = 8; //Spezifiziert den Buzzer Pin


void setup() {


  pinMode(buzzer, OUTPUT);
}


void loop() {



  unsigned char i;
  while (1)
  {

    //Frequenz 1
    for (i = 0; i < 80; i++)
    {
      digitalWrite (buzzer, HIGH) ;
      delay (1) ;
      digitalWrite (buzzer, LOW) ;
      delay (1) ;
    }
    //Frequenz 2
    for (i = 0; i < 100; i++)
    {
      digitalWrite (buzzer, HIGH) ;
      delay (2) ;
      digitalWrite (buzzer, LOW) ;
      delay (2) ;
    }
  }

}
Habe nun gelesen das ich das mit einer state machine oder yield() machen könnte. Habe jetzt zwei Tage gelesen und versucht zu verstehen. Ohne Erfolg. Offensichtlich bin ich zu dumm
Könnte mir dabei jemand helfen?
DrBeshir ist gerade online   Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.


Sitemap

().