bonjour tout le monde ;D
voila je fait un test avec un capteur dht11 or il se trouve que lorsque je fais une lecture de la temperature et du taux d'humidité cela me renvoi Nan j'aurai aimé savoir si parmis vous il y aurait un quelqu'un pour m'aiguiller car la je seche
merci....
bonjour,
code, branchement?
#include "DHT.h"
#include <VirtualWire.h>
#define DHTPIN 2 //pin data du dht11
#define DHTTYPE DHT11 //on utilise le capteur dht11
//variable et initalisation pour dht11
DHT dht(DHTTYPE, DHTPIN);
//variable pour capteur PIR
//temps pour calibrer le capteur
int calibrationTime = 30;
//temps pour le capteur allumé apres avoir dit qu'il ne detectait plus aucun mouvement
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int pirPin = 7; //capteur PIR sur pin 7
int ledPin = 8; //led pour indiquer presence pin8
int txPin=3;
// variable 433mhz
int mouvement_detecte;
char MessageMvt[64];
//SETUP
void setup(){
Serial.begin(9600);
pinMode(pirPin, INPUT);
pinMode(ledPin, OUTPUT);
digitalWrite(pirPin, LOW);
pinMode(txPin, OUTPUT);
digitalWrite(txPin,LOW);
dht.begin();
vw_set_tx_pin(12);
vw_setup(2000); // Bits par seconde
//laisser le temps au cateur de se calibrer
Serial.print("calibrating sensor ");
for(int i = 0; i < calibrationTime; i++){
Serial.print(".");
delay(1000);
}
Serial.println(" done");
Serial.println("SENSOR ACTIVE");
delay(50);
}
//LOOP
void loop(){
delay(2000);
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
Serial.print("temperature : ");
Serial.println(t);
Serial.print("humidite: ");
Serial.println(h);
if(digitalRead(pirPin) == HIGH){
digitalWrite(txPin, true); // flash pour voir que ca transmet la led est sur la pin3
digitalWrite(ledPin, HIGH); //allumé la led si mouvement
mouvement_detecte=1;
sprintf(MessageMvt,"%d,%d,%f,%f",mouvement_detecte,t,h);
vw_send((uint8_t *)MessageMvt, strlen(MessageMvt));
vw_wait_tx(); // On attend la fin de la transmission
digitalWrite(txPin, false);
delay(1000); // et on se repose un peu...
if(lockLow){
//etre sur d'attendre un changement d'etat avant qu'un autre mouvement ne soit detecté
lockLow = false;
Serial.println("---");
Serial.print("motion detected at ");
Serial.print(millis()/1000);
Serial.println(" sec");
Serial.println(mouvement_detecte);
delay(50);
}
takeLowTime = true;
}
if(digitalRead(pirPin) == LOW){
digitalWrite(ledPin, LOW);
if(takeLowTime){
lowIn = millis();
takeLowTime = false;
}
if(!lockLow && millis() - lowIn > pause){
lockLow = true;
Serial.print("motion ended at ");
Serial.print((millis() - pause)/1000);
Serial.println(" sec");
delay(50);
}
}
}
voila pour le code sinon pour le capteur il est brancher sur la pin2 de mon arduino le pb c'est que quand je fait le test avec juste l"exemple testdht ca fonctionne il me renvoi temperature et humidite avec les bonnes valeurs mais lorsque je l'integre à mon programme ca ne veut pas marcher :o
en tout cas merci d'avoir pris la peine de repondre
affaire à suivre
bon j'ai trouvé j avais inversé DHTTYPE et DHTPIN DHT dht(DHTTYPE, DHTPIN);
.....
erreur à la c....
bonne soiree tout le monde
sujet resolu
le fait de mettre le code, on voit mieux.
édite ton premier post et mets RESOLU pour plus de lisibilité