I had small Arduino project based on UNO + LCD on I2C + 2x DS18B20 onewire. It shows on LCD temperatures from 2 sensors and it worked perfectly for 2 years. Here is how code for that looks like:
Now I discovered Cayenne, so I immidiately wanted to export those readings to cloud and see those beautiful charts. Problem started when I merged Cayenne code with my code. Here is how it looks like now:
And results of that:
- compilation runs ok
- lcd works - shows strings from code
- ethernet works - uploads data to cayenne
- ds18b20 doesn’t work - shows -273,1C both in lcd and in dashboard
I thought that I messed some wiring during ethernet shield connection, but when I removed it and uploaded back old code it works ok and shows temperatures. When on working device i pull up probe pin from arduino it shows -273,1 on LCD so I think that the problem is here but I don’t know where exactly.
Things I tried to do and did not help:
- unmounted ethernet shield and mounted it to second arduino - same result - -273,1C
- increase power supply from 1A to 2A - thought maybe shield eats too much power so probes don’t work
- disconnect and connect all wiring again
- disconnect temp probe from PIN3 on shield and touch PIN3 on bottom of arduino
- moved probe from PIN3 to PIN7 and PIN10 (both in code and in wiring :P) in case if PIN3 is somehow reserved by eth shield but no changes
Any ideas what can be wrong in here?
I can post photo of wiring, but I don’t think there is a point to do that. It was taken from the simplest onewire tutorial for DS18B20 and since it works when I upload old code and remove shield I assume that problem is with my code merging.