Variable Runterzählen

Hab da mal ne kurze Frage ich habe eine Varable mit anfangs 255 nach dem Ansteuern einer RGB Led sollte die Variable um 10 Runtergesetzt werden. Hier kurz das Programm:

int Rot = D8;
int Gruen = D7;
int Blau = D6;

int r = 0;
int g = 0;
int b = 0;


void setup() {
pinMode(Rot, OUTPUT);
pinMode(Gruen, OUTPUT);
pinMode(Blau, OUTPUT);

}

void loop(){
 
 while (r > 0)
 {
   digitalWrite(Rot,r);
   digitalWrite(Gruen ,g);
   digitalWrite(Blau, b);

   delay(100);

   r = //hier weiß ich nicht wie das funktioniert der Variable 10 abzuziehen
   
 }

if (r == 0)
{
 r = 255;// damit das Programm wieder von vorne anfängt
}

Ich hoffe jemand kann mir helfen

r -= 10;

Hallo,

bin mal so frei weitere Korrekturen vorzunehmen.
Zum Bsp. analog statt digital - Write

const byte pin_Rot = 8;
const byte pin_Gruen = 7;
const byte pin_Blau = 6;

byte r = 0;
byte g = 0;
byte b = 0;


void setup()
{
pinMode(pin_Rot, OUTPUT);
pinMode(pin_Gruen, OUTPUT);
pinMode(pin_Blau, OUTPUT);

}

void loop()
{
  update_RGB (100);     // aller 100ms
  
}


void update_RGB (unsigned int interval)
{
  static unsigned long last_ms = 0;
  unsigned long ms = millis();

  if (ms - last_ms <= interval)  return;
  last_ms = ms;

  r -= 10;          // r=r-10  // nutzt den Byte Wertebereich Überlauf aus
   
  analogWrite(pin_Rot,r);
  analogWrite(pin_Gruen ,g);
  analogWrite(pin_Blau, b);
}

Danke für die schnelle Antwort Hat funktioniert es zählt jezt runter aber die LED wird nicht gedimmt. Ich verwende einen ESP 8266 und habe die LED am PWM Pin angeschlossen. Wieso ged das nicht?

Evtl. weil Deine 3 Pins keine PWM-Pins sind? Welchen ESP8266 benutzt Du? Schaue Dir mal das Pinout an.

Gruß Tommy

Hallo Junky,

das war nun so richtig schlau von dir in einem Arduino Forum ohne weitere Info heimlich einen ESP zuverwenden. Der ESP hat zwar PWM, aber die Pinbelegungen sind kaotisch und je nach Bauart verschieden. Musste selbst rausfinden. Desweiteren könnte mein automatisch genutzter Byte Variablenüberlauf auf dem ESP schief gehen. Weiß ich jetzt nicht genau.

Vielen Dank. Das mit dem ESP im Arduino Forum ist mir auch bewust das das etwas unbedacht war aber ursprünglich ging es ja auch nicht um den ESP sondern um die Programiersprache also die Arduino IDE. Also danke nochmal und wegen der PWM Pins werde ich mich noch wo ander informieren.

Arduino_Junky:
… ursprünglich ging es ja auch nicht um den ESP sondern um die Programiersprache …

haste auch wieder recht. :slight_smile: alles gut.
Also schau mal nach der richtigen Pinbelegung für dein Board und wenns dann beim programmieren weiterhin klemmt gehts weiter … :wink: