Ydle - version 0.5

Node capteur DS18B20

Exemple de sketch:

/* Author : Fabrice Scheider AKA Denia
* Modifications: Xylerk
* Description : Node envoyant température en utilisant le protocole radio ydle.
* Note : J'utilise dans cette librairie un DS18B20, il est donc nécessaire que vous l'ayez dans
* votre répertoire librairies pour que le sketch compile.
* Licence : CC-BY-SA
*/
 
#include <TimerOne.h>
#include "Ydle.h"
#include <DallasTemperature.h>
#include <OneWire.h>
 
#define RX_PIN 12
#define TX_PIN 10
#define BT_PIN 3
 
#define DELAY_SEND 15000
 
#define DS18B20_PIN 9
 
OneWire oneWire(DS18B20_PIN);
DallasTemperature sensors(&oneWire);
 
ydle y(RX_PIN, TX_PIN, BT_PIN);
 
unsigned long last_send, cur_time;
 
void setup()
{
   Serial.begin(115200);
   Serial.println("init complete");
 
   y.init_timer();
 
   cur_time = millis();
   last_send = cur_time;
}
 
void loop()
{
   y.receive();
   if(y.initialized()){
      cur_time = millis();
      if(cur_time - last_send >= DELAY_SEND){
         last_send = cur_time;
         // code de récupération des informations venant du capteurs
         sensors.requestTemperatures();
         float temperature = sensors.getTempCByIndex(0);
         // Création de la frame qui va être envoyée
         Frame_t frame;
         // On y insère la valeur dont nous avons besoin
 
         /** Nous demandons un accusé réception.
         * La bibliothèque va s'occuper seule de l'acquittement
         * Si aucun acquittement n'est reçu au bout d'une seconde
         * elle procédera à un nouvel envois. Si au bout de 3 envois successifs
         * aucun acquittement n'est reçu, nous considérons la trame comme perdue.
         */
         y.dataToFrame(&frame, YDLE_TYPE_STATE_ACK);
 
         /** Nous ajoutons la valeur que nous avons récupérée auprès du capteur
         */
         y.addData(&frame, YDLE_DATA_DEGREEC, temperature);
         /** Nous procédons à l'envoi de la trame.
         *
         */
         y.send(&frame);
 
      }
   }
}

Autres langues
Traductions de cette page:
QR Code
QR Code Node capteur DS18B20 (generated for current page)