Ks0124 keyestudio EASY plug DS18B20 Temperature Sensor: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
While there are many types of temperature sensors available in the market, the DS18B20 temperature sensor is the best choice in applications which require high accuracy and high reliability.<br>
While there are many types of temperature sensors available in the market, the DS18B20 temperature sensor is the best choice in applications which require high accuracy and high reliability.<br>
For electronic enthusiasts and hobbyists, the DS18B20 is a good start for learning and developing temperature-dependent prototypes.  <br>
For electronic enthusiasts and hobbyists, the DS18B20 is a good start for learning and developing temperature-dependent prototypes.  <br>
<span style="color: red">'''Note: ''' this module should be used together with EASY plug control board.
This module should be used together with EASY plug control board.
 
<span style=color:red> '''Special Note:''' <br>
The sensor/module is equipped with the RJ11 6P6C interface, compatible with our keyestudio EASY plug Control Board with RJ11 6P6C interface. <br> If you have the control board of other brands, it is also equipped with the RJ11 6P6C interface but has different internal line sequence, can’t be used compatibly with our sensor/module. </span><br>
 
<br>
<br>


Line 27: Line 31:


<br>
<br>
==Upload the Code==
Below is an example code. Open or drag below code to [https://wiki.keyestudio.com/Getting_Started_with_Mixly  Mixly Blocks] and upload. <br>
<br>[[File:ks0398 20.1.png|500px|frameless|thumb]]<br>


==Upload the Code==
<br>
Copy and paste below code to [http://wiki.keyestudio.com/index.php/How_to_Download_Arduino_IDE Arduino IDE] and upload.
==What You Should See==
<pre>
<br>[[File:ks0398 20-1.png|500px|frameless|thumb]]<br>
#include <OneWire.h>
<br>
int DS18S20_Pin = 6; //DS18S20 Signal pin on digital pin 6
Done uploading the code, open the serial monitor, on the window will print out the Celsius and Fahrenheit value.
//Temperature chip i/o
<br>[[File:ks0398 20-2.png|500px|frameless|thumb]]<br>
OneWire ds(DS18S20_Pin);// on digital pin 6
 
void setup(void) {
<br>
Serial.begin(9600);
== Adding OLED Display ==
}
<br>
void loop(void) {
'''Hookup Guide'''<br>
float temperature = getTemp();
<br>[[File:18B20 OLED.jpg|500px|frameless|thumb]]<br>
Serial.println(temperature);
delay(100); //to slow down the output so it is easier to read
}
float getTemp(){
//returns the temperature from one DS18S20 in DEG Celsius
byte data[12];
byte addr[8];
if ( !ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -1000;
}


if ( OneWire::crc8( addr, 7) != addr[7]) {
<br>
Serial.println("CRC is not valid!");
'''Test Code'''<br>
return -1000;
<br>[[File:ks0398 20.2.png|500px|frameless|thumb]]<br>
}
if ( addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1); // start conversion, with parasite power on at the end
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE); // Read Scratchpad


for (int i = 0; i < 9; i++) { // we need 9 bytes
data[i] = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float tempRead = ((MSB << 8) | LSB); //using two's compliment
float TemperatureSum = tempRead / 16;
return TemperatureSum;
}
</pre>
<br>
<br>
'''What You Should See'''<br>
Upload success, you should be able to see the Celsius and Fahrenheit value are printed out on the OLED screen.
<br>[[File:ks0398 20-6.png|500px|frameless|thumb]]<br>


==What You Should See==
<br>
Done uploading the code, you should be able to read the temperature your temperature sensor is detecting on the serial monitor in the Arduino IDE.  
<span style="color: red"><big>'''Troubleshooting:'''</big> </span> <br>
<br>[[File:ks0124 Result.gif|700px|frameless|thumb]]<br>
* '''OLED Not Lighting Up?'''<br>
If upload the code successfully, but LED still not lights up. Make sure your board and OLED module are connected correctly. <br>
<br>
* '''Upload Failed ?'''<br>
This happens sometimes, the most likely case is a confused Board and serial port, you should firstly select your proper board and port. <br>
Or check whether add the library or not.<br>
<br>[[File:ks0398 20-3.png|500px|frameless|thumb]]<br>
<br>[[File:Ks0398 9-4.png|500px|frameless|thumb]]<br>
<br>[[File:ks0398 9-5.png|500px|frameless|thumb]]<br>


<br>
<br>
<br>


==Resources ==
==Resources ==
'''Download the PDF:''' <br>
https://drive.google.com/open?id=1rQcFliA1owTEl0gyZMYrAcMo53diTWfi


'''Download the libraries:'''  <br>
https://fs.keyestudio.com/KS0124
https://drive.google.com/open?id=1QJELOfzuE0oJyHRoZ3m9rpICm1GvtDOv
 
'''Download the code:'''  <br>
https://drive.google.com/open?id=1ey7e3o94LndQtD0hnAGEooL_IINdPfhB


<br>
<br>
<br>


==Buy from ==
==Buy from ==
*'''Official Website:''' http://www.keyestudio.com/ks0124.html
*[https://www.keyestudio.com/new-keyestudio-easy-plug-ds18b20-temperature-sensor-for-arduino-steam-p0068-p0068.html '''Official Website''' ]


*[https://www.aliexpress.com/store/product/New-Keyestudio-EASY-Plug-DS18B20-Temperature-Sensor-for-Arduino/1452162_32642758650.html?spm=2114.12010612.8148356.18.7da057f6bcAapG  Shop on aliexpress ]
*[https://www.aliexpress.com/store/product/New-Keyestudio-EASY-Plug-DS18B20-Temperature-Sensor-for-Arduino/1452162_32642758650.html?spm=2114.12010612.8148356.18.7da057f6bcAapG  Shop on aliexpress ]


[[category:EASY Plug]]
[[category:EASY Plug]]

Latest revision as of 16:27, 7 January 2021

EASY plug DS18B20 Temperature Sensor

Introduction

The DS18B20 temperature sensor is exactly what it sounds like - a sensor used to measure ambient temperature.
The usable temperature ranges from -55°C to +125°C. It also supports multi-point mesh networking.

While there are many types of temperature sensors available in the market, the DS18B20 temperature sensor is the best choice in applications which require high accuracy and high reliability.
For electronic enthusiasts and hobbyists, the DS18B20 is a good start for learning and developing temperature-dependent prototypes.
This module should be used together with EASY plug control board.

Special Note:
The sensor/module is equipped with the RJ11 6P6C interface, compatible with our keyestudio EASY plug Control Board with RJ11 6P6C interface.
If you have the control board of other brands, it is also equipped with the RJ11 6P6C interface but has different internal line sequence, can’t be used compatibly with our sensor/module.


Specification

  • Connector: Easy plug
  • Supply Voltage: 3.3V to 5V
  • Temperature range: -55°C to +125°C
  • Interface: Digital


Technical Details

  • Dimensions: 38mm*20mm*18mm
  • Weight: 4.4g


Connect It Up

Connect the EASY Plug DS18B20 temperature sensor to control board using an RJ11 cable. Then connect the control board to your PC with a USB cable.
thumb


Upload the Code

Below is an example code. Open or drag below code to Mixly Blocks and upload.

thumb


What You Should See


thumb

Done uploading the code, open the serial monitor, on the window will print out the Celsius and Fahrenheit value.
thumb


Adding OLED Display


Hookup Guide

thumb


Test Code

thumb


What You Should See
Upload success, you should be able to see the Celsius and Fahrenheit value are printed out on the OLED screen.
thumb


Troubleshooting:

  • OLED Not Lighting Up?

If upload the code successfully, but LED still not lights up. Make sure your board and OLED module are connected correctly.

  • Upload Failed ?

This happens sometimes, the most likely case is a confused Board and serial port, you should firstly select your proper board and port.
Or check whether add the library or not.

thumb

thumb

thumb



Resources

https://fs.keyestudio.com/KS0124



Buy from