Bonjour voici un code tout simple de fader sur une led ça fonctionne mais quand on a fait une fois le loop la led se rallume à fond de suite et pourtant quand on démarre une fois le programme la led s'allume lentement et s'éteind lentement. Une idée pour résoudre ce problème? Voici le code `// LED borne 10
const int ledb = 10;
void setup() {
// la led est configuree en sortie
pinMode(ledb, OUTPUT);
}
void loop() {
// variation lumiere augmente de 0 (min) a 255 (max)
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledb, brightness);
delay(40);
}
// variation lumiere diminue de 255 a 0
for (int brightness = 255; brightness <= 255; brightness--) {
analogWrite(ledb, brightness);
delay(40);
Ta seconde boucle for doit plutôt être for (int brightness = 255; brightness >=0; brightness--)
Et cette ligne est inutile int brightness = 0; //on remet a zero
Merci super avec votre correction ça fonctionne parfaitement. j'ai modifié pour que l'augmentation et la diminution de l'effet FADER soit plus rapide ainsi au lieu de brightness++ ou -- j'ai mis brightness+10 et -10 pour avoir des pas de 10 au lieu de 1 mais ça ne fonctionne pas je suppose que je dois faire un système de comptage style for i= 1 to 255 step 10? Une idée pour moi afin de bien orthographier ce code svp? Merci
Merci ça fonctionne comme votre proposition. Voici le code for (int brightness = brightness + 40; brightness <= 255; brightness++) { analogWrite(ledr, brightness); delay(40);
Encore merci pour votre aide, cordialement
@didiersee ça fait un moment que tu es inscrit sur ce forum, je pense que tu as eu largement le temps de lire les "Bonnes pratiques du forum" ce serait bien de les appliquer.
Merci de poster le code entre balise comme demandé
Nouveau problème mon code ci-dessous fonctionne bien sur Arduino nano j'ai transféré ce code sur arduino pro mini 168 et la séquence n'est plus respectée je reste tout le temps en fin de code avec les 3 leds allumées??? Une idée pour moi? Merci
/*
RGB Fader
*/
// LED borne 10
const int ledr = 8;
const int ledv = 9;
const int ledb = 10;
void setup() {
// la led est configuree en sortie
pinMode(ledr, OUTPUT);
pinMode(ledb, OUTPUT);
pinMode(ledv, OUTPUT);
}
void loop() {
// variation lumiere augmente de 0 (min) a 255 (max) pour led rouge
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledr, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour led rouge
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledr, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour led verte
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour led verte
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour led bleu
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledb, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour led bleu
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledb, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour leds verte et bleu
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledb, brightness);
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour leds verte et bleu
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledb, brightness);
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour leds verte et rouge
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledr, brightness);
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour leds verte et rouge
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledr, brightness);
analogWrite(ledv, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour leds bleu et rouge
for (int brightness = 0; brightness <= 255; brightness++) {
analogWrite(ledb, brightness);
analogWrite(ledr, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour leds bleu et rouge
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledb, brightness);
analogWrite(ledr, brightness);
delay(10);
}
// variation lumiere augmente de 0 (min) a 255 (max) pour les 3 leds
for (int brightness = 0; brightness <= 21010; brightness++) {
analogWrite(ledr, brightness);
analogWrite(ledv, brightness);
analogWrite(ledb, brightness);
delay(10);
}
// variation lumiere diminue de 21010 a 0 pour les 3 leds
for (int brightness = 0; brightness >=255; brightness++) {
analogWrite(ledr, brightness);
analogWrite(ledv, brightness);
analogWrite(ledb, brightness);
delay(10);
}
// variation lumiere diminue de 255 a 0 pour leds bleu et rouge
for (int brightness = 255; brightness >=0; brightness--) {
analogWrite(ledr, brightness);
analogWrite(ledv, brightness);
analogWrite(ledb, brightness);
delay(10);
}
}
A froid, je dirais que ça vient des pins qui peuvent faire du PWM, qui sont différentes sur cette carte. Voici ce qu'on trouve ici :
PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite function.
Si ce n'est pas la bonne carte, cherche avec la bonne référence quelles sont les pins qui font du PWM : ce sont celles que tu dois utiliser dans ton code.