Modifications

Cestpasidiot

509 octets ajoutés, 16 septembre 2015 à 12:52
émetteur pour capteur DHT + luxmètre : ajout du télémètre
==assemblage de code fonctionnel==
=== émetteur pour capteur DHT + luxmètre + télémètre ===
<pre>
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
#include "DHT.h" // Vous devez télécharger et installer la librairie DHT dans votre dossier "/libraries" !
#include<stdlib.h>
#include <Wire.h>
#include <Adafruit_Sensor.h> // Vous devez télécharger et installer la librairie Adafruit Sensor dans votre dossier "/libraries" !#include <Adafruit_TSL2561_U.h> #include <NewPing.h> // pour le télémètre DYP-ME007 // Vous devez télécharger les broches et installer la librairie Adafruit TSL2561 dans votre dossier "paramètre du télémètre#define TRIGGER_PIN 12 /libraries" !/ broche reliée au trigger du télémètre.#define ECHO_PIN 11 // broche reliée à l'echo du télémètre.#define MAX_DISTANCE 99 // distance maximale évaluée (en centimeters).NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
float tempValue=2000; // variable de température
float humidityValue=6000; // variable % hygrométrie de l'air
unsigned int luxValue=48; unsigned int distanceValue=10;
// unsigned int sensLight = 0 ; // variable dédiée au niveau lumièe en lux
// unsigned int sensProx = 0 ; // variable de distance
{
time = millis();
getTemp(time);// temp & humidité
getLux(time);
//getMsgContent(time); //on l'imprime
getDistance(time);
sendMsg(time); // on doit assembler les valeurs en tableau de char
}
}
latestSensingMillis = time;
return;
}
}
 
void getDistance(long time)
{
if (time - latestDHTSensingMillis > i2cSensingIntervalMillis){
unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
if ((uS / US_ROUNDTRIP_CM)>10){ // pour filtrer les valeurs < à 10 et ne pas décaler le registre d'envoi
distanceValue=(uS / US_ROUNDTRIP_CM);
};
return;
}
void getTemp(long time)
{
if (time - latestDHTSensingMillis latestSensingMillis > sensingDHTIntervalMillis){
//Serial.println("get");
tempValue = dht.readTemperature();
}
}
 
void sendMsg(long time)
msg[4]=(buildMyValue(luxValue))[0];
msg[5]=(buildMyValue(luxValue))[1]; // ne marche que pour lux >= 10 et < 100
msg[6]=(buildMyValue(distanceValue))[0]; msg[7]=(buildMyValue(distanceValue))[1]; // ne marche que pour lux >= 10 et < 100 msg[8]='\0';
for (i = 0; i < strlen(msg); i++)
{
//============== fonctions du capteur de luminosité TSL2561 ===================================
 
void getRightValues(int value){
// fonction à écrire qui doit ajouter les 0 manquants dans l'array
return ;
}
Emailconfirmed
471
modifications