3 Replies Latest reply on Dec 8, 2016 1:42 PM by Intel Corporation

    Multiple DS18B20 sensors with Intel Edison

    codeinator

      Has anyone successfully used multiple DS18B20 temperature sensors with the Intel Edison? In my setup, single sensor works fine, but with 2 or more sensors, I'm seeing a strange issue, detailed below:

      I'm using Intel Edison with latest firmware, and the Intel XDK for a Node.js project on the board. I'm using the upm module "jsupm_ds18b20" to communicate with the sensors, with mraa v1.5.1 and upm v1.0.1 installed. It works fine for a single sensor. But once I add a second sensor, it detects both, but is unable to read temperature from either sensor. i.e, the "ds18b20.devicesFound()" method returns "2", and I can read the ID's using "ds18b20.getId(0)" and "ds18b20.getId(1)". However, trying to update temperature readings using "ds18b20.update()" results in the following errors:

      ERROR: readSingleTemp: crc check failed for device 0, returning previously measured temperature

      ERROR: readSingleTemp: crc check failed for device 1, returning previously measured temperature

       

      Connections are as detailed in : http://iotdk.intel.com/docs/master/upm/node/classes/ds18b20.html . "Data" pin of second sensor is connected directly to the data pin of the first. We're using only a single 1n4148 diode on the Tx line, which is common to both sensors, if that matters (though we tried it with separate circuits for each individual sensor too).

       

      What am I missing here?