Hi, i’m using the OneWire library and i have been able to string numerous DS18B20’s together (like 15) and have had no problems getting readings from them when using the ‘normal’ 3 pin’s.
I adapted the official Onewire library and am using my own class as a thin wrapper.
However, i wish to use parasitic power to power the temperature sensors. So reading the datasheet, my noobie skills tell me that in order to wire this up, i should short the ground and Vdd wires together on the sensor; such that the diagram on the official electric imp onewire page would have the two outer legs both connect to ground, whilst leaving everything the same. i do not use the mosfet as recommended.
So i power up my imp with the temperature sensor in parasitic mode, and my
discover() function appears to find the temperature sole sensor… yippee! i think… but then i notice that the temperature reading is always 85C. as soon as i recable the circuit to use the full three wires, the sensor reads the correct temperature.
so i add a function to get the “Read Power Supply” [B4h] of the sensor… but it always seems to return true. what am i doing wrong? have i wired the sensor incorrectly? do i simply need the mosfet? (any recommendations?)
i also know that i’m supposed to “keep a strong pullup on the 1-wire bus” during conversions… how do i do that?