Using Ds1820/ds18s20 Maxim One Wire Thermometer Tutorial

About the project

I have received a lot of requests for OneWire Maxim DS1820/DS18S20 thermometer tutorial, so here is the first such project.

Project info

Difficulty: Easy

Platforms: ArduinoVisuino

Estimated time: 1 hour

License: GNU General Public License, version 3 or later (GPL3+)

Items used in this project

Hardware components

Jumper wires (generic) Jumper wires (generic) x 1
DS1820/DS18S20 Maxim OneWire Thermometer DS1820/DS18S20 Maxim OneWire Thermometer x 1
Arduino Nano R3 Arduino Nano R3 x 1

Software apps and online services

Visuino - Graphical Development Environment for Arduino Visuino - Graphical Development Environment for Arduino

Story

I have received a lot of requests for OneWire Maxim DS1820/DS18S20 thermometer tutorial, so here is the first such tutorial.

In the following tutorials I will demonstrate how to work with multiple thermometers connected to the same pin, as well as how to get the Thermometer OneWire address, so stay tuned!

Step 1: Components

  • One Arduino compatible board (I use Arduino Nano, because I have one, but any other will be just fine )
  • 3 female-female jumper wires

Step 2: Connect the Thermometer to Arduino

1 / 5Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

Picture 4

Picture 4

Picture 5

Picture 5

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

Step 3: Start Visuino and select the Arduino Board type

1 / 2Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

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 Tutorial will not work!

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

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

Step 4: In Visuino: Add OneWire Thermometer component, and connect it

1 / 3Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

  • 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
  • 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)
  • Connect the "Out" output pin of the Thermometer component to the "In" input pin of the Serial[ 0 ] channel of the Arduino component (Picture 3)

Step 5: Generate, Compile, and Upload the Arduino code

1 / 2Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

  • In Visuino, Press F9 or click on the button shown on Picture 1 to generate the Arduino code, and open the Arduino IDE
  • 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!

Step 6: If not installed: Install the OneWire Thermometer Arduino libraries from Adafruit

1 / 3Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

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

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

Step 7: And play...

1 / 3Picture 1

Picture 1

Picture 1

Picture 2

Picture 2

Picture 3

Picture 3

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 temperature measured by the Thermometer (Picture 2)

Congratulations! You have learned how to connect Maxim OneWire DS1820/DS18S20 Thermometer to Arduino, and read temperature from it.

On Picture 3 you can see the complete Visuino diagram.

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

Code

Github

https://github.com/adafruit/MAX31850_DallasTemp

Github

https://github.com/adafruit/MAX31850_OneWire

Credits

Photo of Ron

Ron

Arduino Developer

   

Leave your feedback...