Modifications

Aller à : navigation, rechercher

Cestpasidiot

2 196 octets ajoutés, 16 septembre 2015 à 13:26
récepteur pour capteur DHT + luxmètre : + détecteur de mouvement
==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 ;
}
</pre>
=== récepteur pour capteur DHT + luxmètre + télémètre + détecteur de mouvement ===
<pre>
#include <VirtualWire.h> // librairie radio
#define RADIO_PIN 3 // broche DATA du récepteur RF
 
// message reçu.
float tempValue = 0;
float humidityValue = 0;
int luxValue = 0;
float distanceValue = 0;
 
 
void setup() {
Serial.begin(9600);
vw_setup(2000); // Bits par seconde
vw_set_rx_pin(RADIO_PIN); // broche DATA du récepteur
vw_rx_start();
Serial.println("Virtual wire started");
}
 
void loop() {
// Get current button state.
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
String ficelle="";
if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
{
int i;
int nombre;
//Serial.println("nouveau msg");
for (i = 0; i <= buflen; i++)
{
ficelle+=char(buf[i]); // msg lettre par lettre. buf[4] == 5ème lettre envoyée
}
ficelle[buflen] = '\0';
Serial.print("ficelle : ");
Serial.println(ficelle);
tempValue=(ficelle.substring(0,2).toInt());
humidityValue=(ficelle.substring(2,4).toInt());
luxValue=(ficelle.substring(4,6).toInt());
distanceValue=(ficelle.substring(6,8).toInt());
motionValue=(ficelle.substring(8,9).toInt());
 
//Serial.print(luxValue);
//Serial.println(" lux");
}
}
 
//============== FIN DU LOOP ==============================
 
//============== emplacements de vos fonctions ==============================
 
 
//============== fonctions à ne pas modifier ==============================
 
 
 
</pre>
=== récepteur pour capteur DHT + luxmètre ===
<pre>
Emailconfirmed
471
modifications

Menu de navigation