wie Variable in if-abfrage ändern? -> neues problem: PulseIn, map und if/else

Nachdem ich das led-Chaos beseitigt habe (Danke uwe), funktioniert es :slight_smile:
Hab auch mal den Serial Monitor ausprobniert mir dem " Serial.begin(9600);" und dem "Serial.println(interval);"
Der monitor spuckt mir aber nichts aus. er springt zwar irgendwie rum und der scrollbalken wird kleiner, aber es erscheinen keine zahlen*?*

//EDIT:
Hab dann uach ma eben die if-abfrage erweitert, so dass ich jetzt den doppelblitzer habe. Sicher nicht die beste Lösung, aber es funktioniert:

Aktueller kompletter Code:

// Variables will change:
int ledState = LOW;             // ledState used to set the LED
long previousMillis = 0;        // will store last time LED was updated

// the follow variables is a long because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
int interval = 0;           // interval at which to blink (milliseconds)


#define led1 3
#define led2 5
#define fled1 10 //Led on digital pin 10
#define fled2 11 //Led on digital pin 11

unsigned long btnMillis = 0; //clock value to be stored at the time milli() is called

//Fade a led without delaying the rest of the code
//START
unsigned long fadeMillis = 0;
boolean fadeUp = true;
int fadeValue = 0;
void analogFade()
{
  if (millis() - fadeMillis >= 2)
  {
    fadeMillis = millis();

    if (fadeUp == true)
    {
      if (fadeValue < 255)
      {
        fadeValue++;
      }
      else
      {
        fadeUp = false;
        fadeValue--;
      }
    }
    else
    {
      if (fadeValue > 0)
      {
        fadeValue--;
      }
      else
      {
        fadeUp = true;
        fadeValue++;
      }
    }
    analogWrite(fled1, fadeValue);
    analogWrite(fled2, fadeValue);
  }
}
//STOP

void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop()
{  
  analogFade();

 unsigned long currentMillis = millis();

  if(currentMillis - previousMillis > interval) {
    // save the last time you blinked the LED 
    previousMillis = currentMillis;   

    // if the LED is off turn it on and vice-versa:
    if (ledState == LOW)
      ledState = HIGH;
    else
      ledState = LOW;

    // set the LED with the ledState of the variable:
    digitalWrite(led1, ledState);
    digitalWrite(led2, ledState);

  if (interval == 99)
     interval = 100;
  else if (interval == 100)
     interval = 101;
  else if (interval == 101)
     interval = 800;
  else
     interval = 99; 
  }

}

Ich finde, dafür dass ich erst vor 2 Tagen mit dem Arduino angefangen habe ist es schon nicht schlecht.

Das ganze ist übrigens für die Beleuchtung eines ferngesteuerten Autos.

@ Uwe:
3 & 5, sowie 10 & 11 sind jeweils eine LED vorne und hinten links und rechts.

Als nächstes kommt die Schaltung per Fernsteuerung, kann mir da mal jemand ein Beispiel geben, wie ich das Signal auslese?
Habe in den Beispielen spontan nichts gefunden.
Ich weiss dass es 3 Positionen gibt, 1ms, 1,5ms, und 2ms.

Danke erstmal für eure Hilfe :slight_smile: