Commit dd13ea416283840df0546e0365d8d1bd40b87bf5

Authored by csaad
1 parent 291f2cfa

création automatique(), utilisation capteur presence et controle led automatique en meme temps

Showing 1 changed file with 57 additions and 23 deletions   Show diff stats
progArduino/principal/principal.ino
... ... @@ -11,7 +11,7 @@
11 11 //INIT CAPTEUR PRESENCE
12 12  
13 13 //temps donné pour calibrer le capteur de présence.(10-60 secs according to the datasheet)
14   -int calibrationTime = 20;
  14 +int calibrationTime = 10;
15 15 //the time when the sensor outputs a low impulse
16 16 long unsigned int lowIn;
17 17 //the amount of milliseconds the sensor has to be low
... ... @@ -204,10 +204,10 @@ void mouvement()
204 204 {
205 205 //makes sure we wait for a transition to LOW before any further output is made:
206 206 lockLow = false;
207   - Serial.println("---");
208   - Serial.print("motion detected at ");
209   - Serial.print(millis()/1000);
210   - Serial.println(" sec");
  207 + //Serial.println("---");
  208 + //Serial.print("motion detected at ");
  209 + //Serial.print(millis()/1000);
  210 + //Serial.println(" sec");
211 211 delay(50);
212 212 }
213 213 takeLowTime = true;
... ... @@ -229,12 +229,14 @@ void mouvement()
229 229 //makes sure this block of code is only executed again after
230 230 //a new motion sequence has been detected
231 231 lockLow = true;
232   - Serial.print("motion ended at "); //output
233   - Serial.print((millis() - pause)/1000);
234   - Serial.println(" sec");
  232 + //Serial.print("motion ended at "); //output
  233 + //Serial.print((millis() - pause)/1000);
  234 + //Serial.println(" sec");
235 235 i++;
  236 + Serial.println(i);
236 237 //CHILD IS AWAKE
237   - if(i==5 || ((millis() - pause)/1000)-(millis()/1000)> 10 ){
  238 + // if(i==5 || ((millis() - pause)/1000)-(millis()/1000)> 10
  239 + if(i==5){
238 240 Serial.println("Sommeil agite !!!");
239 241 MESSAGE = 1; //servira pour la progra html (peut-être)
240 242 Serial.println(MESSAGE);
... ... @@ -246,6 +248,41 @@ void mouvement()
246 248 }
247 249 }
248 250  
  251 +
  252 +void automatique()
  253 +{
  254 + //On récupère la valeur du seuil
  255 + luminosite = analogRead(CAPTEUR);
  256 + int mouv =1;
  257 +
  258 + //Monitoring
  259 + Serial.print("Luminosite = ");
  260 + Serial.print(luminosite);
  261 + Serial.print(" / Seuil = ");
  262 + Serial.print(seuil);
  263 +
  264 + //Allumage de la led si la luminosité est inférieur au seuil (on l'allume dans la couleur blanche la base)
  265 + if(luminosite < seuil) {
  266 + couleur(255,255,255);
  267 + //Monitoring
  268 + Serial.println(" / LED ON");
  269 + }
  270 + //Dans le cas contraire, on l'éteint
  271 + else {
  272 + digitalWrite(PININ, LOW);
  273 + mouv=0;
  274 + eteindre();
  275 + Serial.println(" / LED OFF");
  276 + }
  277 + delay(50);
  278 +
  279 + if(mouv == 1)
  280 + {
  281 + //Serial.println("mouv");
  282 + mouvement();
  283 + }
  284 +}
  285 +
249 286 //---------------------------------------------------------------------------------------------------------------------------FONCTIONS PRINCIPALES
250 287  
251 288  
... ... @@ -253,24 +290,20 @@ void mouvement()
253 290 void mainVeilleuse()
254 291 {
255 292 etatBouton = digitalRead(pinInter); //Rappel :pinInter = 9
256   -
  293 +
257 294 //si la veilleuse est allumé et interrupteur = LOW on utilise le mode automatique.
258 295 while (etatBouton == LOW) //test si le bouton a un niveau logique HAUT
259   - {
260   - //le bouton est appuyée, la LED est allumée
261   - //couleur(255,255,255);
262   - //delay(1000);
263   - //couleur(0,0,0);
  296 + {
264 297 delay(1000);
265   -
266   - lumiere_auto();
267   -
  298 +
  299 + automatique();
  300 +
268 301 etatBouton = digitalRead(pinInter); //Rappel :pinInter = 9
269 302 }
270   -
  303 +
271 304 //on est eteint avec l'interrupteur manuel on peut tjrs utiliser l'application pour gerer la veilleuse
272 305 eteindre(); //la LED reste éteinte
273   - Serial.println("UTILISATION APPLICATION: application");
  306 + Serial.println("UTILISATION APPLICATION");
274 307  
275 308  
276 309 }
... ... @@ -285,8 +318,9 @@ void tests()
285 318 //eteindre();
286 319 //choix_intensite();
287 320 //choix_type_allumage();
288   - mouvement();
  321 + //mouvement();
289 322 //lumiere_auto();
  323 + automatique();
290 324 delay(200);
291 325 }
292 326  
... ... @@ -297,8 +331,8 @@ void tests()
297 331 void loop()
298 332  
299 333 {
300   - tests();
  334 + //tests();
301 335  
302   - //mainVeilleuse();
  336 + mainVeilleuse();
303 337 delay(200);
304 338 }
... ...