Arduino Nano: Reading DS1820/DS18S20 Maxim One Wire Thermometer Address With Visuino

by BoianM in Circuits > Arduino

9073 Views, 46 Favorites, 0 Comments

Arduino Nano: Reading DS1820/DS18S20 Maxim One Wire Thermometer Address With Visuino

TitleImage.png

OneWire Maxim DS1820/DS18S20//DS18B20 are very popular Thermometers, and for good reason. Multiple thermometers can be connected and even powered by only 2 wires. I already posted Instructable on how to connect and read OneWire thermometer here.

Each OneWire Thermometer has a unique address. When you connect one Thermometer, you don't need to know or use this address, however when you connect multiple thermometers, you need the address in order to be able to know from which thermometer the data arrives.

Here I will show you how you can get the OneWire address of the thermometer with Visuino. In the following instructables, I will show you how you can use this address to specify from which thermometer to read data when multiple thermometers are connected to a single Arduino pin.

Components

DSC02393_Bright.JPG
  1. One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine )
  2. One DS18S20 Thermometer module I got from this cheap 37 sensors set.
  3. 3 Female-Female jumper wires

Connect the Thermometer to Arduino

567493482e7fb65b2f00064f.jpeg
567db7d845bcebeceb000307.jpeg
567db7bb2e7fb6b632000b98.jpeg
567db5eb4936d47d3000036c.jpeg
567db84850e1b64ef4000364.jpeg
  1. Connect Ground(Black wire), Power(Red wire), and Data(Gray wire) to the Thermometer Sensor Module (Picture 1)
  2. Connect the other end of the Power wire(Red wire) to the 5V power pin of the Arduino board(Picture 2)
  3. Connect the other end of the Ground wire(Black wire) to Ground pin of the Arduino board(Picture 2)
  4. Connect the other end of the Data wire(Gray wire) to Digital pin 2 of the Arduino board(Picture 3, and 4)
  5. Picture 5 shows where are the Ground, 5V Power, and Digital 2 pins of the Arduino Nano.

Start Visuino, and Select the Arduino Board Type

SelectBoard.png
SelectBoard.png

To start programming the Arduino, you will need to have the Arduino IDE installed from here: http://www.arduino.cc/ .

Please be aware that there are some critical bugs in Arduino IDE 1.6.6.

Make sure that you install 1.6.7 or higher, otherwise this Instructable will not work!

The Visuino: https://www.visuino.com also needs to be installed.

  1. Start Visuino as shown in the first picture
  2. Click on the "Tools" button on the Arduino component (Picture 1) in Visuino
  3. When the dialog appears, select Arduino Nano as shown in Picture 2

In Visuino: Add OneWire Thermometer Component, and Connect It

ComponentThermometer.png
ComponentThermometerConnect1.png
ComponentThermometerConnect2_2.png
  1. Type "one" in the Filter box of the Component Toolbox then select the "Maxim 1-Wire Thermometer" component (Picture 1), and drop it in the design area
  2. Connect the "OneWire" output pin of the Thermometer component to the "Digital" input pin of the Digital[ 2 ] channel of the Arduino component(Picture 2)
  3. Connect the "Address" output pin of the Thermometer component to the "In" input pin of the Serial[ 0 ] channel of the Arduino component(Picture 3)

Generate, Compile, and Upload the Arduino Code

GenerateCtopped.png
Arduino IDE.png
  1. In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  2. In the Arduino IDE, click on the Upload button, to compile and upload the code (Picture 2)

If you get compiler error in the Arduino IDE, this means that you are missing at least one of the following libraries:

https://github.com/adafruit/MAX31850_OneWire

https://github.com/adafruit/MAX31850_DallasTemp

Look at the Next Step to see how to install them!

If Not Installed: Install the OneWire Thermometer Arduino Libraries From Adafruit

Open Libraries.png
InstallOneWire.png
InstallOneWireThermometer.png

If you don't have the OneWire libraries already installed, follow these steps:

  1. In the Arduino IDE menu, select |Sketch|Include Library|Manage Libraries...| (Picture 1)
  2. Type "onewir" in the filter box (Picture 2)
  3. Select the MAX31850 OneWire by Adafruit library, and click the Install button (Picture 2)
  4. Select the MAX31850 DallasTemp by Adafruit library, and click the Install button (Picture 3)
  5. Click on the Close button (Picture 3)
  6. In the Arduino IDE, click on the Upload button, to compile and upload the code

And Play...

567491d94936d425f2000de6.jpeg
SerialTerminal.png
VisuinoDiagramCropped.png

You can see the connected and running Thermometer on Picture 1.

If you open Serial Terminal in the Arduino IDE or Visuino, you will see the One Wire address of the Thermometer (Picture 2)

On Picture 3 you can see the complete Visuino diagram.

Also attached is the Visuino project, that I created for this Instructable. You can download and open it in Visuino: https://www.visuino.com