#include "My_Eeprom.h" #include #include "Testeur.h" #include newPin tabPin[NBPIN]; int pinTECBA = 22; unsigned long valRandom; void setup() { Serial.begin(115200); Wire.begin(); initTabPin(); pinMode(pinTECBA,OUTPUT); valRandom = (long)1000*60*MINUTE/DELAYLOOP; randomSeed(analogRead(0)); } void loop() { for(int i = 0; i 0) { int incomingByte = Serial.read(); if(incomingByte=='A'){ AfficheEEprom(); } if(incomingByte=='E'){ erase(); } if(incomingByte=='I'){ instantane(); } } delay(DELAYLOOP); } /* pinBRAS1, pinBRAS2, pinOSMOL, pinCHAUF, pinECUME, pinREMON, pinLUMIE pinTECBA, pinTECHA, pinCUVAU, pinRESBA */ void initTabPin(void){ for(int i = 0; i= intervalleMinimum) { digitalWrite(pinTECBA, LOW); } // si le signal est actuellement bas, attendre un temps aléatoire avant de le mettre en marche if (digitalRead(pinTECBA) == LOW && tempsActuel - tempsPrecedent >= tempsAttente) { tempsSignal = tempsActuel; digitalWrite(pinTECBA, HIGH); tempsAttente = random(intervalleAttenteMinimum, intervalleAttenteMaximum + 1); // temps d'attente aléatoire avant le prochain signal } // si le signal a été éteint, attendre 1 seconde avant de recommencer if (digitalRead(pinTECBA) == LOW && tempsActuel - tempsPrecedent >= 1000) { tempsPrecedent = tempsActuel; } // si le signal a été allumé, attendre un temps aléatoire avant de l'éteindre if (digitalRead(pinTECBA) == HIGH && tempsActuel - tempsSignal < intervalleMinimum) { tempsPrecedent = tempsActuel; } // si le signal a été allumé pendant le temps imparti, attendre un temps aléatoire avant de recommencer if (digitalRead(pinTECBA) == HIGH && tempsActuel - tempsSignal >= intervalleMinimum) { digitalWrite(pinTECBA, LOW); tempsPrecedent = tempsActuel; nbSignaux++; if (nbSignaux >= 5) { while (true) {} // arrêter le programme } tempsAttente = random(intervalleAttenteMinimum, intervalleAttenteMaximum + 1); // temps d'attente aléatoire avant le prochain signal } } void fc_BRAS1(int val) { if(val){ Enregistre(BR1ON); } else{ Enregistre(BR1OF); } } void fc_BRAS2(int val) { if(val){ Enregistre(BR2ON); } else{ Enregistre(BR2OF); } } void fc_OSMO(int val) { if(val){ Enregistre(OSMON); } else{ Enregistre(OSMOF); } } void fc_CHAUFF(int val) { if(val){ Enregistre(CHAON); } else{ Enregistre(CHAOF); } } void fc_ECUM(int val) { if(val){ Enregistre(ECUON); } else{ Enregistre(ECUOF); } } void fc_REMO(int val) { if(val){ Enregistre(REMON); } else{ Enregistre(REMOF); } } void fc_LUMI(int val) { if(val){ Enregistre(LUMON); } else{ Enregistre(LUMOF); } } void fc_TECBA(int val) { if(val){ Enregistre(TEBON); } else{ Enregistre(TEBOF); } } void fc_TECHA(int val) { if(val){ Enregistre(TEHON); } else{ Enregistre(TEHOF); } } void fc_CUVAU(int val) { if(val){ Enregistre(CUHON); } else{ Enregistre(CUHOF); } } void fc_RESBA(int val) { if(val){ Enregistre(REBON); } else{ Enregistre(REBOF); } }