Need to measure more than 2 temperature-points? Or just wanna have some fun making something yourself? Jeti FourTemp is a very affordable temperature-sensor for Jeti, simple to make yourself!
RC-Thoughts Jeti FourTemp
First, dive into ebay and get some parts:
- Arduino Pro Mini 3.3V 8Mhz (Example in ebay here)
- Dallas DS18B20 temperaturesensors (Example link to Ebay here)
- As many 4.7kΩ resistors as you have temperature-sensors
- One 2.4kΩ resistor for Arduino
- A little 3-pole servo wire and heat shrink to wrap it up
- Pin-headers for easier installation and usage
Total cost for Arduino and four DS18B20 is around 6-7€ so really affordable!
Features are very simple:
- Measures up to four temperatures (You can use from 1 up to 4 sensors, choice is yours!)
- Installs as a normal sensor to transmitter
- Givesfour temperature-values
- Sensors readable also in Jetibox
- Temperatures updated every 750ms (DS18B20 feature)
- Separate versions for celsius and fahrenheit
Since DS18B20 is one-wire sensor you can choose from one up to four sensors and simply connect them parallel to each other.
Connections are easy:
- DS18B20 VDD (Pin3) (All) -> Arduino VCC
- DS18B20 GND (Pin2) (All) -> Arduino GND
- DS18B20 DQ (Pin2) (Sensor 1) -> Arduino pin 6
- DS18B20 DQ (Pin2) (Sensor 2) -> Arduino pin 7
- DS18B20 DQ (Pin2) (Sensor 3) -> Arduino pin 8
- DS18B20 DQ (Pin2) (Sensor 4) -> Arduino pin 9
Note that 4.7kΩ resistor needs to be soldered in each DS18B20 at the sensor between VDD and DQ. (Pin 2 and 3)
The Arduino-connection to receiver is same as always:
- Arduino pin 3 -> 2.4kΩ resistor AND receiver signal
- Arduino pin 4 -> 2.4kΩ resistor
- Arduino RAW -> Receiver positive
- Arduino GND -> Receiver negative
NOTE: Some boards have GRN where my boards have GND. Do NOT use GRN, use GND!
One way is to make the sensors to a “chain”, meaning wiring from Arduino to first sensor then o second etc. That might work in one model but not the other, so I chose to make a header and put every sensor to it’s own cable.
If you wan’t to use Arduino Nano, read this post.
DS18B20 and resistor
Really, no issues here. We need a 4.7kΩ resistor between pins 2 and 3 on the DS18B20. Since I wanted nice sensors without bulky parts i chose to use a SMD-resistor:
SMD-resistors are not that hard to solder in there. Put some solder to pins, then put the resistor on there and heat a little so it sticks. Do that to both pins so the resistor keeps in place. After that do the “proper” soldering. That’s just one way to do it. End result is quite neat:
I made three of these while I was on it, came out nice.
Arduino and connection header
Looking at the schematic might be confusing so maybe this helps:
I have two rows of 6-pin header, room for four sensors. This allow me to have one input for each sensor. This means Temp 1 is always Temp 1 regardless of what DS18B20 is connected to that pin.
The most outer pins in both rows are wired to VCC giving the 3.3V voltage from Arduino to sensors. There is a jump-lead from the most upper pins in the picture to lowest pins.
Next is the signal pin, this is wired to Arduino pin 6, 7, 8 or 9 depending on sensor, look in schematic.
Last is the pins in the middle providing GND to sensor. Looking at the schematic above and below you should get it.
Ready sensor looks like this after I moved the header a bit to the center to make the whole package shorter. The “bumps” behind header is hot-glue to keep header and wires secured. Very tiny footprint and very usable:
Programming Jeti FourTemp
Go and get the RCT-FourTemp_C.ino (celsius) or RCT-FourTemp_F.ino (fahrenheit) file from my Github here. You need to use the libraries included in Github repository. For info on how to use these look in RFID-sensor how-to here. For simplicity there is also ready .hex files to use with XLoader.
Set up Jeti FourTemp?
Jeti FourTemp works as any other sensor. So head on to “Main menu” -> “Timers/Sensors” -> “Sensor/Logging Setup” and after powering model wait a while for the new sensor to pop up:
As you notice temperature is in celsius. If you would like to use fahrenheit use the appropriate Arduino-files for that.
Usage of temperatures
Usage is as with any other temperature. Here’s all sensors on main-screen:
Values are presented with one decimal (maybe overkill) and if less than four sensors are connected the non-connected sensors shows 0 degrees.
Note about order of sensors
The sensor connected to Arduino pin 6 is always Temp 1, the one in Arduino pin 7 is Temp 2 and so on. This allows you to have easier installation to model and also easier programming when you add or remove sensors.
Jeti FourTemp also sends temperatures in for Jetibox:
There is no settings required in Jetibox, only values.
- 1.0 Initial release
- 1.1 Separate bus for each sensor and separate celsius & fahrenheit versions
Always make sure everything works as it should. Do not use faulty devices. Neither RC-Thoughts and/or me are in any way liable or responsible for anything you do with your equipment or to others with equipment used as described here. You should never use Lua-apps for operation-critical functions.
If you find something that is not working or is behaving strangely please let me know. I’m a car-mechanic by training, not a programmer-geek :)
Most Important thing
Is to have fun :)