Bonjour et je vous remercie d'avance pour votre aide.
Mon problème, je pense qu'il est simple mais nécessite une intuition de génie que je n'ai pas encore à l'heure où j’écris ces lignes. ci dessous voici mon code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include <FlexiTimer2.h> #include "Arduino.h" int entreeNum15 = 15; int entreeNum16 = 16; int etatEntreeNum16 = 0; int etatEntreeNum15 = 0; int sortieNum02 = 2; int sortieNum03 = 3; int temporisationRelais = 250; // 250 ms int temps1 = 0 , temps2 = 0 void setup () { FlexiTimer2::set(10,interruption); FlexiTimer2::start(); pinMode(entreeNum15,INPUT); pinMode(entreeNum16,INPUT); pinMode(sortieNum02,OUTPUT); pinMode(sortieNum03,OUTPUT); } void loop() { etatEntreeNum15 = digitalRead(entreeNum15); etatEntreeNum16 = digitalRead(entreeNum16); if(etatEntreeNum15 && etatEntreeNum16) // exemple { while(temps1<=temporisatisation) analogWrite(sortieNum02,255); // je met le relais à etat Bas } temps1=0; temps2=0; if(etatEntreeNum15 && etatEntreeNum16) // exemple { while(temps2<=temporisation) analogWrite(sortieNum03,255); // je met le relais à etat Bas } temps1=0; temps2=0; } void interruption() { temps1++; temps2++; } |
Avec ce code, mon souci est que je n'entre pas dans le 2ième IF tant que la condition de mon 1er WHILE est vraie. Esperant que j'était assez clair sur mon problème, si vous avez des idées sur comment je pourrais optimiser ce code, je reste ouvert à toute proposition .
P.S , je ne peux pas utiliser la fonction millis (), contrainte d'entreprise.
D'avance, je vous en remercie.
+0
-0