Hello everyone,
(to be honest I'm allmost a newbbie to this world ) so that being said... I have a question concerning OneWire support for an arduino Nano 33 BLE (sense) with DS18B20 temperature sensor
Ive tested the sensor and connection with an arduino UNO board and a pullup resistor (4,7k) without any troubles,
I can reproduce this using severals of the many examples and codes provided by OneWire libraries to find adresses and ask for temperature readings smoothly.
OneWire library finds every sensor individually and a group af five also without any troubles,
then Dallas Temperature library does the rest without any mistakes with the respective delay of conversion, and sensors are really working as spected
so far everything it's ok!
Problem is when I try to do this on a brand New Arduino Nano 33 BLE sense....
no sensors are detected with the same exact configuration and double checked everything and even trying to force OneWire to look for the sensorsat the HEX address (given by the same code in arduino)
----- partial code -----WIP
#include <OneWire.h>
#include <DallasTemperature.h>
// Data wire is plugged into port 2 on the Arduino or ESP32
#define ONE_WIRE_BUS 2
#define TEMPERATURE_PRECISION 12
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);
// OneWire | arrays to hold device addresses
DeviceAddress in = { 0x28, 0xF6, 0xC3, 0x79, 0xA2, 0x01, 0x03, 0x16 };
DeviceAddress out = { 0x28, 0xCB, 0x5F, 0x79, 0xA2, 0x01, 0x03, 0x27 };
void setup() {
Serial.begin(115200);
// while the serial stream is not open, do nothing:
// while (!Serial) ; //while debuging
u8g2.begin();
u8g2.setPowerSave(0);
// Start up on board sensors
if (!BARO.begin()) //Initialize Pressure sensor
{ Serial.println("Failed to initialize Pressure Sensor!"); while (1);}
if (!HTS.begin()) //Initialize Temperature and Humidity sensor
{ Serial.println("Failed to initialize Temperature and Humidity Sensor!"); while (1);}
// Start up external temperature sensors
sensors.begin();
// locate devices on the bus
Serial.print("Locating devices...");
Serial.print("Found ");
Serial.print(sensors.getDeviceCount(), DEC);
Serial.println(" devices.");
}
---------end of partial code------- WIP
After really a lot of search & reading, I think that as far as I can understand, this is a specific issue with the new processor/and software core used in The "Nano 33 BLE" boards, I know by several internet samples that OneWire and theese sensors works OK with the "Nano 33 IOT" but even with the very close similarity of the name there are big differences between them.
It would be really very kind if any one could confirm my suspects...
If it is true, hopefully maybe anybody knows if there is any planned new version of OneWire library that could take in count this problem..
I really will appreciate any feed back
Many many thanks in advance.
Ale