sensors.begin(); // ds18b20

Bonsoir,
Cette commande active le capteur de température ds18b20
mais quelle est la commande qui le désactive ?
En fait j'ai un soucis de mise en veille de ma carte arduino MKRFOX,
(LowPower.sleep(SLEEPTIME); dès que je me sert de cette librairie (DallasTemperature.h)

Avez vous rencontré le même problème ?

Merci.

qui le désactive ?

pourtant si tu regardes le code de cette methode begin() :

// initialise the bus
void DallasTemperature::begin(void){

    DeviceAddress deviceAddress;

    _wire->reset_search();
    devices = 0; // Reset the number of devices when we enumerate wire devices

    while (_wire->search(deviceAddress)){

        if (validAddress(deviceAddress)){

            if (!parasite && readPowerSupply(deviceAddress)) parasite = true;

            ScratchPad scratchPad;

            readScratchPad(deviceAddress, scratchPad);

            bitResolution = max(bitResolution, getResolution(deviceAddress));

            devices++;
        }
    }

}

on voit qu’en fait elle compte les sondes détectées sur le bus puis retourne, rien ne reste “en tache de fond”, il n’y a donc pas lieu d’avoir une méthode de désactivation…

c’est étrange ton problème.

Oui, j'ai refait des tests, si la librairie Dallas est activée, il est impossible d'eteindre la led verte du mkrfox, il est peut être en veille mais avec cette led verte de la carte mère. si je desactive la librairie il arrive à se mettre en veille avec la commande LowPower.sleep(SLEEPTIME);

bonjour,
et si tu mettais ton code (entre balise code </>) ca ne serait pas mieux?

//librairie capteur ds18b20
#include <OneWire.h> //Librairie du bus OneWire
#include <DallasTemperature.h> //Librairie du capteur

OneWire oneWire(7); //Bus One Wire sur la pin 6 de l'arduino
DallasTemperature sensors(&oneWire); //Utilisation du bus Onewire pour les capteurs
DeviceAddress sensorDeviceAddress; //Vérifie la compatibilité des capteurs avec la librairie

typedef struct __attribute__ ((packed)) sigfox_message { // see http://www.catb.org/esr/structure-packing/#_structure_alignment_and_padding
 int16_t temp2;
  int16_t dhtTemperature;
  uint16_t dhtHumidity;
  float poids;
  
} SigfoxMessage;

// stub for message which will be sent

HX711 scale;
SigfoxMessage msg;
DHT dht(DHTPIN, DHTTYPE);



void setup() {
pinMode(LED_BUILTIN, OUTPUT);
sensors.begin(); //Activation du capteur ds18b20
sensors.getAddress(sensorDeviceAddress, 0); //Demande l'adresse du capteur à l'index 0 du bus
sensors.setResolution(sensorDeviceAddress, 12);

bonjour,
petite question : pourquoi le capteur DHT22 est branché sur le pin 1?

le pin 1 n'est il pas réservé aux RX et TX de l'arduino ?

Je viens de voir sur la doc du MKRFOX que la led system est sur D6 et non sur D13, le fait que le capteur DS18D20 soit sur 6 empeche la led SYSTEME de s'éteindre, en mettant sur une autre pin cela fonctionne :slight_smile:

résolu