Télécommande IR, une LED, un Fade.

steadam
sam, 09/02/2017 - 15:01
Bonjour tout le monde, et merci aux membres de l'équipe pour le travail que vous faites pour partager vos connaissances.
Vos vidéos sont vraiment intéressantes et offrent la possibilité aux non spécialistes de pouvoir se projeter dans des projets qui mêlent électronique et programmation.
Pour ma part, c'est dans un but artistique que j'utilise des arduinos.
En ce moment je mélange photographie au collodion humide avec des leds et des façons de contrôler des effets ou des allumages.
Mon petit souci du jour, (enfin des deux derniers jours...) se situe dans le code qui permet :
1 : à l'appuie d'une touche de la télécommande de contrôler l'allumage d'une Led
2 : faire un fade sur cette Led
3 : pourvoir recommencer autant de fois que l'on souhaite.
C'est sur cette dernière partie que je bute... J'ai essayer de placer le : monRecepteurInfrarouge.resume(); , rien n'y fait je ne peux pas relancer la séquence pour rallumer ma led...
En sachant qu'a terme il me faudrait pouvoir contrôler plusieurs rubans leds.
voici l'ébauche de code :
#include <IRremote.h>
int led = 9;
int brightness = 0;
int fadeAmount = 5;
const char DIN_RECEPTEUR_INFRAROUGE = 2;
IRrecv monRecepteurInfraRouge (DIN_RECEPTEUR_INFRAROUGE);
decode_results messageRecu;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
monRecepteurInfraRouge.
monRecepteurInfraRouge.
}
void loop()
{
if (monRecepteurInfraRouge.
{
if (messageRecu.value == 0xFD08F7)
{
analogWrite(led, brightness);
brightness = brightness + fadeAmount;
}
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
brightness = constrain (brightness,0,254);
analogWrite(led, brightness);
delay(50);
// monRecepteurInfraRouge.resume(
}
delay(1);
// analogWrite(led, 0);
}
Encore merci et à bientôt !
steadam
dim, 09/03/2017 - 14:21
Bonjour brossden, merci pour ta réponse.
Effectivement je n'utilise pas le port série, j'ai oublié de supprimer cette ligne...
Par contre ma led est bien sur la pin 9 : int led = 9; que je met ensuite en pinMode OUTPUT.
Ce que l'on retrouve avec le 0 dans sa variable est le brightness qui variera ensuite cette valeur et 255.
Tu me dira.
Encore merci !
steadam
dim, 09/03/2017 - 14:57
Oui, c'était un test...
Je n'arrive pas à trouver là où il doit être... y a pas 10 000 lignes non plus...
steadam
dim, 09/03/2017 - 19:32
Avec ce code quand j'appuie sur le bouton 1, la led s'allume de sa valeur fadeAmount, et viens incrémenter à chaque nouvel appuie.
steadam
dim, 09/03/2017 - 20:39
Pas tout à fait, l'idée est qu'à l'appuie de la touche de la télécommande le fade se lance passe de 0 à 255 et reviens à 0.
Ensuite quand je réappuies sur la touche ça relance le fade.
steadam
lun, 09/04/2017 - 09:59
Je pensais que le .resume(); permettais justement de pouvoir renvoyer une nouvelle information de la télécommande.