Nouveau projet faisant suite à l’application très concluante du code concernant la télécommande.
Ici, je cherche comment mémoriser et figer en conséquence le PWM en pin 6, lorsque j’interromps sa progression.
Le code suivant, me permet de démarrer led éteinte et arriver à allumage complet en un certain temps.
Je ne peux pas arrêter l’évolution, pas plus dans le sens inverse. c’est ou une progression totale ou diminution totale.
2 touches distinctes de la tlc gèrent le PWM. La led en pin 6 suit parfaitement à la demande.
1 touche est allouée à l’arrêt du PWM à l’instant T, au bon vouloir.
je suppose devoir mémoriser la valeur à l’instant T, devoir stopper la progression, et dupliquer la valeur mémorisée en sortie.
#include <IRremote.h>
int IR = 11; // Récepteur IR en broche 11
int i = 0; // variable pour effectuer la variation
const byte IR_RECEIVE_PIN = 11;
int PWM = 6; // Déclaration Pin 6 sortie PWM
void setup(){
IrReceiver.begin(IR_RECEIVE_PIN);
pinMode(PWM,OUTPUT);
}
void loop() {
if (IrReceiver.decode()) {
if (IrReceiver.decodedIRData.decodedRawData == 0xE718FF00) {
for (i = 0; i <= 255; i++){
analogWrite(PWM,i); // touche tlc bleue 1 (V) inversée déclenche PWM+
delay(50); }}
if (IrReceiver.decodedIRData.decodedRawData == 0xAD52FF00){
for (i = 0; i <= 255; i++){
analogWrite(PWM, 255 - i); // touche tlc bleue (V)non inversée déclenche PWM -
delay(50); }}
if (IrReceiver.decodedIRData.decodedRawData == 0xE31CFF00){ }
// Touche prévue pour stopper la progression ou l'inverse.
IrReceiver.resume();
}}