Débutant en programmation et fonction de base.

Bonjour,
Je débute dans la programmation mon souci c'est de mixer plusieurs bouts de code récupérés par-ci, par-là . J'arrive à un conflit.
Je souhaiterai à la fois utiliser une télécommande infrarouge et un montage pour dimmer une lumière. Individuellement les codes fonctionnent bien . Mais quand j'essaye de les incorporer ensemble ils ne marchent plus sur la carte.
Merci d'avance pour votre aide

#include <DS1307RTC.h>
#include <IRremote.h>
#include <Wire.h>
#include <Time.h>

int pwm1=3;
int time;
int val_up=0;
int val_down=0;

//****************telecommande*************************************************
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

//****************
void setup() {
Serial.begin(9600); //initialise la communication pour le DS1307
analogWrite(pwm1,0); //initialise à 0 les leds blanches
setSyncProvider(RTC.get); //récupère les données du DS1307
irrecv.enableIRIn(); // Initialise le recepteur telecommande
}


void loop() {
  //****************telecommande*************************************************

  if  (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  
  }

//****************LEDS BLANCHES*************************************************
val_up = (map (minute(), 0, 59, 0, 255)); //permet d’attribuer une valeur d’intensitp des leds croissante sur 59 minutes, comprise entre 0 et 255 (valeur maximale du signal PWM)
val_down = (map (minute(), 0, 59, 255, 0)); //permet d’attribuer une valeur d’intensitp des leds dpcroissante sur 59 minutes, comprise entre 255 et 0 (valeur minimale du signal PWM)

//****************LEDS BLANCHES*************************************************
if (hour() == 7) { //entre 7:00:00 et 7:59:59
analogWrite (pwm1, val_up*0.8); //allumage progressif
}
else if (hour() == 21) { //entre 20:00:00 et 20:59:59
analogWrite (pwm1, val_down*0.8); // extinction progressive
}
else if ((hour() > 7 ) && (hour() < 21)) { //entre 13:00:00 et 19:59:59
analogWrite(pwm1, 255*0.8); //allumage max
}
else {
analogWrite(pwm1, 0);//le reste du temps les leds blanches sont éteintes
}
 }

Qu'est ce qui ne fonctionne plus quand tu les mets ensemble?

Salut,

Ta PWM utilise le timer 2, il se peut que ça génère un conflit avec la gestion de télécommande. Essaie de changer tes leds de place, sur un autre timer (le 0 ou le 1, soit sur l'une des pins 5, 6, 9 ou 10 ).

Pour moi tes tests ne correspondent pas à tes commentaires sur cette partie:

if (hour() == 7) { //entre 7:00:00 et 7:59:59
analogWrite (pwm1, val_up*0.8); //allumage progressif
}
else if (hour() == 21) { //entre 20:00:00 et 20:59:59
analogWrite (pwm1, val_down*0.8); // extinction progressive
}
else if ((hour() > 7 ) && (hour() < 21)) { //entre 13:00:00 et 19:59:59
analogWrite(pwm1, 255*0.8); //allumage max
}
else {
analogWrite(pwm1, 0);//le reste du temps les leds blanches sont éteintes
}

C'est normal?

merci pour votre aide!
Je n'ai pas édité les commentaires il sont la juste pour renseigner. (plus ou moins)
Quand je branche le tout, il n'y a plus la lampe qui marche, voilà.
je vais changer les leds de place voire si cela marche.

En tout cas cette partie:

if (hour() == 7) { //entre 7:00:00 et 7:59:59
analogWrite (pwm1, val_up*0.8); //allumage progressif
}
else if (hour() == 21) { //entre 20:00:00 et 20:59:59
analogWrite (pwm1, val_down*0.8); // extinction progressive
}

ne fait rien de progressif donc attention.

merci Super_Cinci.
j'ai changé de pwn, je suis sur 5 et cela marche !
merci à tous