Détecteur de reves REM

Parlez nous de vos projets et de vos idées, imaginez des applications

Re: Détecteur de reves REM

Message non lude heinekeken » Mer 21 Sep 2011 21:55

En attendant l' arrivée du reste de mes commandes, j ai fait une refonte du code.
Il est maintenant beaucoup plus compréhensible et facilement modifiable.
Pour ceux qui sont intéressés par le projet, voici le code :

Code: Tout sélectionner
// Projet ZEO-reves lucides


// UTILISATION DES DONNEES TRANSMISES DEPUIS ZEO
// AFIN DE PRODUIRE DES INDICES LUMINEUX
// A x MN DE y PHASE
// POUR AIDER LE REVEUR A DEVENIR CONSCIENT DANS SON REVE


//////////////////////////////////////////////////////////////////////////////////////////
                               //////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//////////
    int      dix =    60000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
    int   trente =  1800000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
    int soixante =  3600000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
                               //////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//////////
//////////////////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////REMPLACEZ LES NOMBRES POUR MODIFIER LA FONCTION////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
                                                                                           ////
                                                                                           ////
    //Nombre souhaité de phase cible pour déclenchement flashs lumineux                    ////
    int NBREphaseCIBLE = 10;                                                                ////
                                                                                           ////
    //Temps avant recherche de phase                                                       ////
    //10 minutes = 60000 //  //30 minutes = 1800000 //  //1 heure = 3600000 //             ////
    int DECOMPTEnombre   =60000;                                                           ////
                                                                                           ////
    //LEDS sortie digitale                                                                 ////
    int LEDpinD1 = 11; // MESSAGES VISUELS QUAND PHASE CIBLE DETECTEE  X2 LEDS             ////
    int LEDpinD2 = 10; // capteurs = aucune informations                                   ////
    int LEDpinD3 = 13; // messages visuels indicatifs                                      ////
                                                                                           ////
    //LED sortie analogue                                                                  ////
    int LEDpinA1 = 9; // MESSAGES VISUELS QUAND PHASE CIBLE DETECTEE                       ////
                                                                                           ////
                                                                                           ////
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////


//Compteurs phases de sommeils
int LEGERnombre = 0;
int REMnombre = 0;
int INCONNUEnombre = 0;
int EVEILnombre = 0;
int PROFONDnombre = 0;

//Données ZEO
int incomingByte = 0;   
byte header[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int NOMBRE = 0; // COMPTEUR
int SIZE = 0;
int *DATA;
int val;
unsigned long digit = 0;


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void setup() {
 
     
 Serial.begin(38400);  // ouverture du port serial du ZEO, regle le debit donnees à 38400 bps
 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
 
  pinMode(9, OUTPUT);  // LED messages visuels quand phase cible détectée
  pinMode(10, OUTPUT); // LED capteurs = aucune informations   
  pinMode(11, OUTPUT); // LED MESSAGES VISUELS QUAND PHASE CIBLE DETECTEE  X2 LEDS 
  pinMode(13, OUTPUT); // LED messages visuels indicatifs

 Serial.println(" Void setup ok ");delay(4000);


// Test LED 1 ( messages visuels quand phase cible détectée )

Serial.println(" Test LED 1 ");

  analogWrite(LEDpinA1, 0);delay(500);
  analogWrite(LEDpinA1, 63);delay(100);
  analogWrite(LEDpinA1, 0);delay(500);
  analogWrite(LEDpinA1, 127);delay(100);
  analogWrite(LEDpinA1, 0);delay(500);
  analogWrite(LEDpinA1, 190);delay(100);
  analogWrite(LEDpinA1, 0);delay(500);
  analogWrite(LEDpinA1, 255);delay(100);
  analogWrite(LEDpinA1, 0);

 
// Test LED 2 ( messages visuels quand phase cible détectée ) X2 LEDS

Serial.println(" Test LED 2 ");

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);   
 
  digitalWrite(LEDpinD1, LOW);   
  delay(500);             
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW); 
  delay(500);             
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW); 
 
 
// Test LED 3 ( capteurs = aucune informations )

Serial.println(" Test LED 3 ");
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);   
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
 
   
// Test LED 1 et 2

Serial.println("5s avant Test LED 1 et 2");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);

Serial.println("4");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("3");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("2");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("1");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);

Serial.println(" Test LED 1 et 2 ");
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW); analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500); 

//////////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                                    //
// Temps avant recherche de phase//                                                                 //
                                                                                                    //
if  ( DECOMPTEnombre == dix )      { MISEenROUTEdans10mn();  }  // 10 MN avant recherche de phase   //
if  ( DECOMPTEnombre == trente )   { MISEenROUTEdans30mn();  }  // 30 MN avant recherche de phase   //
if  ( DECOMPTEnombre == soixante ) { MISEenROUTEdans60mn();  }  // 60 MN avant recherche de phase   //
Serial.println("debut de la recherche de phase cible");                                             //
//////////////////////////////////////////////////////////////////////////////////////////////////////
}


//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////


void loop() {
   
// attend les informations
if (Serial.available() > 0) {
// lecture des donnees :
incomingByte = Serial.read();
if ( incomingByte == 65 ) { holeHeader(); }  // nouvelles informations arrivent
  }             
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


void holeHeader() {
 
NOMBRE = 0;
while ( NOMBRE < 10 ) {if (Serial.available() > 0) {header[NOMBRE] = Serial.read();NOMBRE++;}}
SIZE = (( header[3] * 256 ) + header[2]);
if ( SIZE > 20 ) { SIZE = 1; }
if ( header[3] + header[5] == 255 & header[2] + header[4] == 255 ) { holeDaten(SIZE); }
else { Serial.println(" CAPTEURS = AUCUNES INFORMATIONS DETECTEES ");

  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
 
  digitalWrite(LEDpinD2, HIGH); 
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);     
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  }
}
 

//////////////////////////////////////////////////////////////////////////////////////////////////////

 
void holeDaten(int SIZE) {
 
DATA = (int*)calloc(1, SIZE * sizeof(int));
NOMBRE = 0;
while ( NOMBRE < SIZE ) {if (Serial.available() > 0) {DATA[NOMBRE] = Serial.read();NOMBRE++;}}

if ( DATA[0] == 157 ) { Serial.print("Phase de sommeil");
                       if (DATA[1] == 0) { Serial.println(": INCONNUE"); INCONNUEnombre++;}
                       if (DATA[1] == 1) { Serial.println(": EVEIL"); EVEILnombre++;}
                       if (DATA[1] == 2) { Serial.println(": REM //phase cible//"); REMnombre++;
                           Serial.print("numero REM= ");Serial.println(REMnombre); }
                       if (DATA[1] == 3) { Serial.println(": LEGER"); LEGERnombre++;}
                       if (DATA[1] == 4) { Serial.println(": PROFOND"); PROFONDnombre++;}
                       
  }

if ( PROFONDnombre  > 0 ) { REMnombre = 0; PROFONDnombre = 0;}
if ( LEGERnombre    > 0 ) { REMnombre = 0; LEGERnombre = 0;}
if ( EVEILnombre    > 0 ) { REMnombre = 0; EVEILnombre = 0;} 
if ( INCONNUEnombre > 0 ) { REMnombre = 0; INCONNUEnombre = 0;}   

if ( REMnombre == NBREphaseCIBLE ) { LEDflash(); REMnombre = 0; } //
free(DATA);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


void LEDflash() {

 Serial.print("PHASE REM DETECTEE"); 
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW); analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);             
 
  digitalWrite(LEDpinD1, HIGH); analogWrite(LEDpinA1, 255);   
  delay(100);             
  digitalWrite(LEDpinD1, LOW);analogWrite(LEDpinA1, 0);   
  delay(500);               
}



/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans10mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
// Si le decompte avant début de recherche de phase cible est de 10 minutes        //
// LEDpinD3 clignotera 1fois toutes les 2 minutes de la manière suivante :         //
//                                                                                 //
// 1ere série de flashs :  1 fois pour annoncer que le décompte est de 10 minutes  //
// 2eme série de flashs :  1 fois pour annoncer que 2 minutes ont passées          //
// 3eme série de flashs :  1 fois pour annoncer que 4 minutes ont passées          //
// 4eme série de flashs :  1 fois pour annoncer que 6 minutes ont passées          //
// 5eme série de flashs :  1 fois pour annoncer que 8 minutes ont passées          //
// 6eme série de flashs :  1 fois pour annoncer que 10 minutes ont passées         //
//                               -------Début de la recherche de phase cible         //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(118000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////




/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans30mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
// Si le decompte avant début de recherche de phase cible est de 30 minutes        //
// LEDpinD3 clignotera 3fois toutes les 10 minutes de la manière suivante :        //
//                                                                                 //
// 1ere série de flashs :  3 fois pour annoncer que le décompte est de 30 minutes  //
// 2eme série de flashs :  3 fois pour annoncer que 10 minutes ont passées         //
// 3eme série de flashs :  3 fois pour annoncer que 20 minutes ont passées         //
// 4eme série de flashs :  3 fois pour annoncer que 30 minutes ont passées         //
//                               -------Début de la recherche de phase cible         //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(597000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(597000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(594000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans60mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
// Si le decompte avant début de recherche de phase cible est de 60 minutes        //
// LEDpinD3 clignotera 6fois toutes les 10 minutes de la manière suivante :        //
//                                                                                 //
// 1ere série de flashs :  6 fois pour annoncer que le décompte est de 60 minutes  //
// 2eme série de flashs :  6 fois pour annoncer que 10 minutes ont passées         //
// 3eme série de flashs :  6 fois pour annoncer que 20 minutes ont passées         //
// 4eme série de flashs :  6 fois pour annoncer que 30 minutes ont passées         //
// 5eme série de flashs :  6 fois pour annoncer que 40 minutes ont passées         //
// 6eme série de flashs :  6 fois pour annoncer que 50 minutes ont passées         //
// 7eme série de flashs :  6 fois pour annoncer que 60 minutes ont passées         //
//                               -------Début de la recherche de phase cible         //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(688000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////
heinekeken
 
Messages: 16
Inscription: Lun 5 Sep 2011 22:24

Re: Détecteur de reves REM

Message non lude heinekeken » Ven 23 Sep 2011 23:22

J ai reçu une partie de mon matériel, j ai donc pu faire un prototype RF fonctionnant avec 1 accu AAA 850mAh
L' accu est montée sur une platine qui permet de fournir une tension de +5 Vcc max

Tout fonctionne à merveille...je vous ferais quelques photos et vidéos bientot...

Manque plus que le reste de mes autres commandes et je pourrais miniaturiser tout ça.


Voila le nouveau code :

Code: Tout sélectionner
// Projet ZEO-reves lucides


// Merci à EOK des forums ZEO pour son partage de code
// Ce code étant fait à partir du sien
 
 
// UTILISATION DES DONNEES TRANSMISES DEPUIS ZEO
// AFIN DE PRODUIRE DES INDICES LUMINEUX
// A x MN DE y PHASE
// POUR AIDER LE REVEUR A DEVENIR CONSCIENT DANS SON REVE


#include <VirtualWire.h>


//////////////////////////////////////////////////////////////////////////////////////////
                               //////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//////////
    int     TEST =     5000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
    int      dix =    60000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
    int   trente =  1800000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
    int soixante =  3600000;   //////////!!!!!NE RIEN CHANGER DANS CE CADRE!!!!!//////////
                               //////////!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//////////
//////////////////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////REMPLACEZ LES NOMBRES POUR MODIFIER LA FONCTION////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////
                                                                                           ////
                                                                                           ////
    //Nombre souhaité de phase cible pour déclenchement flashs lumineux                    ////
    int NBREphaseCIBLE = 10;                                                               ////
                                                                                           ////
    //Temps avant recherche de phase                                                       ////
    //10 minutes = 60000 //  //30 minutes = 1800000 //  //1 heure = 3600000 //             ////
    int DECOMPTEnombre   =3600000;                                                         ////
                                                                                           ////
    //LEDS sortie digitale                                                                 ////
    int LEDpinD1 = 9; // MESSAGES VISUELS QUAND PHASE CIBLE DETECTEE                       ////
    int LEDpinD2 = 10; // capteurs = aucune informations                                   ////
    int LEDpinD3 = 13; // messages visuels indicatifs                                      ////
                                                                                           ////
    //LED sortie analogue                                                                  ////
    int LEDpinA1 = 9; // MESSAGES VISUELS QUAND PHASE CIBLE DETECTEE                       ////
                                                                                           ////
                                                                                           ////
///////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////


//Compteurs phases de sommeils
int LEGERnombre = 0;
int REMnombre = 0;
int INCONNUEnombre = 0;
int EVEILnombre = 0;
int PROFONDnombre = 0;

//Données ZEO
int incomingByte = 0;   
byte header[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int NOMBRE = 0; // COMPTEUR
int SIZE = 0;
int *DATA;
int val;
unsigned long digit = 0;

//Message RF
const char *msg = "REM : envoie du signal RF";

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


void setup() {
 
     
 Serial.begin(38400);  // ouverture du port serial du ZEO, regle le debit donnees à 38400 bps
 
// Initialisation IO et ISR pour RF
vw_set_tx_pin(11);
vw_setup(2000);   
 
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
 
  pinMode(9, OUTPUT);  // LED messages visuels quand phase cible détectée
  pinMode(10, OUTPUT); // LED capteurs = aucune informations   
 
  pinMode(13, OUTPUT); // LED messages visuels indicatifs

 Serial.println(" Void setup ok ");delay(4000);


// Test LED 1 ( messages visuels quand phase cible détectée )

Serial.println(" Test LED 1 ");

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);   
 
  digitalWrite(LEDpinD1, LOW);   
  delay(500);             
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW); 
  delay(500);             
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD1, LOW); 
 
 

 
// Test LED 3 ( capteurs = aucune informations / mal positionné / )

Serial.println(" Test LED 3 ");
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);   
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
  delay(500);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
 
  digitalWrite(LEDpinD2, LOW);   
 
   
// Test RF

Serial.println("5s avant Test RF");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);

Serial.println("4");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("3");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("2");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
Serial.println("1");digitalWrite(LEDpinD3, HIGH); delay(100);digitalWrite(LEDpinD3, LOW);   delay(900);
messageRF();


//////////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                                    //
// Temps avant recherche de phase//                                                                 //
                                                                                                    //
if  ( DECOMPTEnombre == TEST )      { delay(4900);  }           // 4.9 s avant recherche de phase   //
if  ( DECOMPTEnombre == dix )      { MISEenROUTEdans10mn();  }  // 10 MN avant recherche de phase   //
if  ( DECOMPTEnombre == trente )   { MISEenROUTEdans30mn();  }  // 30 MN avant recherche de phase   //
if  ( DECOMPTEnombre == soixante ) { MISEenROUTEdans60mn();  }  // 60 MN avant recherche de phase   //
Serial.println("debut de la recherche de phase cible");                                             //
//////////////////////////////////////////////////////////////////////////////////////////////////////
}


//////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////


void loop() {
   
// attend les informations
if (Serial.available() > 0) {
// lecture des donnees :
incomingByte = Serial.read();
if ( incomingByte == 65 ) { holeHeader(); }  // nouvelles informations arrivent
  }             
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


void holeHeader() {
 
NOMBRE = 0;
while ( NOMBRE < 10 ) {if (Serial.available() > 0) {header[NOMBRE] = Serial.read();NOMBRE++;}}
SIZE = (( header[3] * 256 ) + header[2]);
if ( SIZE > 20 ) { SIZE = 1; }
if ( header[3] + header[5] == 255 & header[2] + header[4] == 255 ) { holeDaten(SIZE); }
else { Serial.println(" CAPTEURS = AUCUNES INFORMATIONS DETECTEES ");

  digitalWrite(LEDpinD2, LOW);   
  delay(500); 
 
  digitalWrite(LEDpinD2, HIGH); 
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);     
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  delay(100);             
  digitalWrite(LEDpinD2, HIGH);   
  delay(100);             
  digitalWrite(LEDpinD2, LOW);   
  }
}
 

//////////////////////////////////////////////////////////////////////////////////////////////////////

 
void holeDaten(int SIZE) {
 
DATA = (int*)calloc(1, SIZE * sizeof(int));
NOMBRE = 0;
while ( NOMBRE < SIZE ) {if (Serial.available() > 0) {DATA[NOMBRE] = Serial.read();NOMBRE++;}}

if ( DATA[0] == 157 ) { Serial.print("Phase de sommeil");
                       if (DATA[1] == 0) { Serial.println(": INCONNUE"); INCONNUEnombre++;}
                       if (DATA[1] == 1) { Serial.println(": EVEIL"); EVEILnombre++;}
                       if (DATA[1] == 2) { Serial.println(": REM //phase cible//"); REMnombre++;
                           Serial.print("numero REM= ");Serial.println(REMnombre); }
                       if (DATA[1] == 3) { Serial.println(": LEGER"); LEGERnombre++;}
                       if (DATA[1] == 4) { Serial.println(": PROFOND"); PROFONDnombre++;}
                       
  }

if ( PROFONDnombre  > 0 ) { REMnombre = 0; PROFONDnombre = 0;}
if ( LEGERnombre    > 0 ) { REMnombre = 0; LEGERnombre = 0;}
if ( EVEILnombre    > 0 ) { REMnombre = 0; EVEILnombre = 0;} 
if ( INCONNUEnombre > 0 ) { REMnombre = 0; INCONNUEnombre = 0;}     

if ( REMnombre == NBREphaseCIBLE ) { LEDflash(); REMnombre = 0; } //Quand phase cible detectee = 8 flashs lumineux des modules RF et filiaires
free(DATA);
}


//////////////////////////////////////////////////////////////////////////////////////////////////////


void LEDflash() {

 Serial.print("PHASE REM DETECTEE"); 
 messageRF();
}


/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans10mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
// Si le decompte avant début de recherche de phase cible est de 10 minutes        //
// LEDpinD3 clignotera 1fois toutes les 2 minutes de la manière suivante :         //
//                                                                                 //
// 1ere série de flashs :  1 fois pour annoncer que le décompte est de 10 minutes  //
// 2eme série de flashs :  1 fois pour annoncer que 2 minutes ont passées          //
// 3eme série de flashs :  1 fois pour annoncer que 4 minutes ont passées          //
// 4eme série de flashs :  1 fois pour annoncer que 6 minutes ont passées          //
// 5eme série de flashs :  1 fois pour annoncer que 8 minutes ont passées          //
// 6eme série de flashs :  1 fois pour annoncer que 10 minutes ont passées         //
//                               -------Début de la recherche de phase cible       //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(119000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(118000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////




/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans30mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
// Si le decompte avant début de recherche de phase cible est de 30 minutes        //
// LEDpinD3 clignotera 3fois toutes les 10 minutes de la manière suivante :        //
//                                                                                 //
// 1ere série de flashs :  3 fois pour annoncer que le décompte est de 30 minutes  //
// 2eme série de flashs :  3 fois pour annoncer que 10 minutes ont passées         //
// 3eme série de flashs :  3 fois pour annoncer que 20 minutes ont passées         //
// 4eme série de flashs :  3 fois pour annoncer que 30 minutes ont passées         //
//                             -------Début de la recherche de phase cible         //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(597000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(597000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(594000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
void MISEenROUTEdans60mn() {                                                       //
                                                                                   //
/////////////////////////////////////////////////////////////////////////////////////
                                                                                   //
// Si le decompte avant début de recherche de phase cible est de 60 minutes        //
// LEDpinD3 clignotera 6fois toutes les 10 minutes de la manière suivante :        //
//                                                                                 //
// 1ere série de flashs :  6 fois pour annoncer que le décompte est de 60 minutes  //
// 2eme série de flashs :  6 fois pour annoncer que 10 minutes ont passées         //
// 3eme série de flashs :  6 fois pour annoncer que 20 minutes ont passées         //
// 4eme série de flashs :  6 fois pour annoncer que 30 minutes ont passées         //
// 5eme série de flashs :  6 fois pour annoncer que 40 minutes ont passées         //
// 6eme série de flashs :  6 fois pour annoncer que 50 minutes ont passées         //
// 7eme série de flashs :  6 fois pour annoncer que 60 minutes ont passées         //
//                             -------Début de la recherche de phase cible         //
                                                                                   //
                                                                                   //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(694000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
delay(688000);                                                                     //
                                                                                   //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
digitalWrite(LEDpinD3, HIGH); delay(300);                                          //
digitalWrite(LEDpinD3, LOW);  delay(700);                                          //
                                                                                   //
}                                                                                  //
/////////////////////////////////////////////////////////////////////////////////////


void messageRF() {

  digitalWrite(LEDpinD1, LOW);   
  delay(500);
    vw_send((uint8_t *)msg, strlen(msg));
    vw_wait_tx();
  digitalWrite(LEDpinD1, HIGH);   
  delay(100); 

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100); 

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100); 
   
  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100); 

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);   

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);

  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100);
 
  digitalWrite(LEDpinD1, LOW);   
  delay(500); 
  digitalWrite(LEDpinD1, HIGH);   
  delay(100); 
  digitalWrite(LEDpinD1, LOW);   

heinekeken
 
Messages: 16
Inscription: Lun 5 Sep 2011 22:24

Précédente

Retourner vers Vos projets, vos idées

Qui est en ligne

Utilisateurs parcourant ce forum: Majestic-12 [Bot] et 4 invités

cron