Dalas Temp Sensor (DB18B20) + Shield Shiled [SOLVED]

I received my Spark yesterday (YAY!) and have done some minor fun things with it. But I’m starting to get around to converting my Aquarium controller from Arduino to Spark. My Arduino can read the temp sensor just fine - but Spark cannot.

I’m using a Shield Shield with a wirenut/protoboard shield. Temp sensor is on D2 (with a pull-up resistor). I tried it both using external 5V power for the sensor (how I use it with Arduino) and with vampiric power, yet it seems to be unable to find it.

Is it the logic converters doing something naughty on the Shield Shield or something or? Has anyone been able to get a temp sensor working with Spark and Shield Shield?

The shield shield seems to not do well with any of it’s pins that go through the onboard chip that allow it to be 5v tolerant. If you put a regular sensor on them they will get stuck to once they get triggered. Your best option is to either use A0, A1, or A2 which are directly mapped or to use a knife to sever a connection to the pin you want to use and to then use the pin next to the core to connect up to your sensor.

The shield mapped non-direct pins do great with output, but the input thing definitely needs a new design or something like that.

Doh! Makes sense. I’ll try that out this weekend, thanks! Putting the sensors on another pin won’t be a big deal. The relays might - I’ll need to see if digitalWrite works of over those, but I’m guessing (hoping) that is much less of a problem than trying to read data. Looks like I might have other issues when I start adding in some I2C bits though as those pins seem to be 5V tolerant as well.

Anyways I’ll give that a shot. Thanks for the help!

@m00dawg you can also use D7

digital write works fine…it’s just the reads on the shield.

@m00dawg @lgleasain The datasheet for the Shield Shield hardware pretty much states that pullup resistors across I/O lines have to be >50,000Ohm to avoid messing up the output drivers on the Shield Shield, and more or less states "Use a different series of hardware products to use i2c and 1-wire devices."
You can look more closely on page 11 of the datasheet

I thought maybe using external power instead of vampiric mode would be a fix for this issue, but it appears m00dawg has already tried this with no success :frowning:

It does seem like output functions work (e.g. I can use SPI to drive LEDs with 330Ohm resistor across Core pin A5/Arudino pin 11), but people have had issues with input.

Correct, I tried external power first in fact, though I briefly tried vampiric power as well. I took @lgleasain’s suggestion of trying one of the analog pins (in my case A0) and that seems to have done the trick. In that case I used 3.3V external power. For my immediate needs, that should do the trick as controlling relays was the only other essential part, and that’s all output.

Since it looks like RX and TX are also being converted according to the schematic, looks like I’ll have to either modify the Shield Shield or go about another way, per @Elijah’s suggestion, when I start looking at I2C. I had planned on seeing if I could get Adafruit’s RGB LCD shield working with some modifications. Although at some point I foresee probably going the route of custom boards anyway.

For now, I have arrived at a solution that gets me going. Thanks everyone for the helpful advise! It is greatly appreciated!