Bonjour, je vient sollicité votre aide suite à de longue recherche sans résultat ..
Tout d'abord je suis au Lycée et le travail que je vais vous présentez et mon projet en STI2D.
Voilà, notre projet consiste à utilisé un capteur volumétrique avec comme support une carte Arduino Uno, détecter un individu puis ensuite renvoyer l'information à une autre carte Arduino Uno.
Mon travail consiste à crée un programme pour mon capteur volumétrique celui ci et fonctionnel.
Voici le programme :
int calibrationTime = 10; // 10 secondes de calibrage
int inputPin = 2; // Définir l'ensemble des variables utilisé
int pirState = LOW;
int val = 0;
void setup() {
pinMode(inputPin, INPUT); // Déclaration du capteur en entrer
Serial.begin(9600);
Serial.print("Calibrage du Capteur Volumetrique "); // Initialisation en cours
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
delay(1000);
}
}
void loop(){
val = digitalRead(inputPin); // Lire la valeur d'entrer : 0 Rien à signaler
Serial.println(val);
if (val == HIGH) {
delay(100); // Vitesse de rafraichissement des informations
if (pirState == LOW) {
Serial.println(" !! MOUVEMENT SUSPECT "); // Message de prévention (allumage d'une led possible)
pirState = HIGH;
}
} else {
delay(100);
if (pirState == HIGH){
// we have just turned of
Serial.println("!! PLUS DE MOUVEMENT !!"); // Message de prévention, plus de signal
pirState = LOW;
}
}
}
La suite de mon travail consiste désormais a envoyer l'information binaire (1-0) à une autre carte Arduino Uno, celle ci s'occupera de traiter l'information et à juger si oui ou non la menace est réel et alerter l'utilisateur de la présence d'un intrus dans la zone protéger par le capteur.
Voici désormais le programme qui enverra l'information (sous Xbee)
#include <SoftwareSerial.h>
// RX, TX : Définition ports séries du module XBee
SoftwareSerial XbeeSerial(10, 11);
//config d'Arduino initiale
void setup() {
Serial.begin(9600);
XbeeSerial.begin(9600);
//Lance le réglage par défaut du module XBee pour la partie émettrice
Configuration();
}
//Programme en boucle ... (attente d'un message de l'arduino + recon. vocale)
void loop() {
delay(15000);
Serial.println("Ready !"); //UNIQUEMENT POUR LE DEBOGAGE PC
char reception[20];
String decryption;
int i;
//Reste en attente de réception dans cette boucle
while(1){
i = 0 ;
while ( Serial.available()>0 ) {
//Si reçoit quelque chose, commence à inscrire caractère par caractère dans la chaîne 'decryption'
//'reception' sert d'intermède pour mettre l'entièreté de la valeur reçue dans 'decryption'
reception = Serial.read();
_ decryption += reception*;_
_ i++;_
_ delay(100);_
_ }_
_ if (i>0) {_
_ //Serial.println(decryption); //UNIQUEMENT POUR LE DEBOGAGE PC*_
* XbeeSerial.print(decryption); //Envoi l'information reçue au récepteur XBee*
* delay(1000);*
* decryption = ""; //Remet à zéro la variable decryption*
* }*
* }*
}
//Configuration du XBEE (automatique)
void Configuration() {
* Serial.println("START CONFIG"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("+++");*
* delay(3000);*
* Serial.println("BAUD RATE : 9600"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATBD3\r");*
* delay(90);*
* Serial.println("CHANNEL : 12"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATCH12\r");*
* delay(90);*
* Serial.println("ID CHANNEL : 2014"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATID2014\r");*
* delay(90);*
* Serial.println("MODULE ADRESS : 1"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATMY1\r");*
* delay(90);*
* Serial.println("DESTINATION ADRESS : 2"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATDL2\r");*
* delay(90);*
* Serial.println("AES KEY : ATKY26CF2FD6DE74D631A7ED434125997B3D"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATKY26CF2FD6DE74D631A7ED434125997B3D\r");*
* delay(90);*
* Serial.println("AES ENABLED"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATEE1\r");*
* delay(90);*
* Serial.println("NO PARITY"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATNB0\r");*
* delay(90);*
* Serial.println("MODULE NAME"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATNI MODULE1\r");*
* delay(90);*
* Serial.println("WRITE CONFIGURATION"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATWR\r");*
* delay(90);*
* Serial.println("CLOSE NODE"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* XbeeSerial.print("ATCN\r");*
* delay(90);*
* Serial.println("BACK TO LOOP"); //UNIQUEMENT POUR LE DEBOGAGE PC*
* //Retour à la boucle principale du programme*
* loop();*
Voici maintenant mon problème
Je cherche à combiner les deux programme si dessus .. seulement je ne trouve rien, aucune information sur la combinaison de deux programmes simultané. j'ai entendu parler de la librairy write mais je ne sais pas comment m'y prendre, si vous avez des informations pour avance un peut, la revu de projet approche et j'ai peur de montrer quelque chose de peu concluant
Merci encore