Temperature Sensor DS18B20 - shown as a black, three-pin electronic component with the text "DALLAS 18B20 0442B7 106AC" printed on its top surface.
Temperature Sensor DS18B20 - shown as a black, cylindrical electronic component with three long, thin silver metal pins extending from its base.
Temperature Sensor DS18B20 - the front view with three leads labeled GND, DQ, and VDD, and a bottom view of the TO-92 package.
Temperature Sensor DS18B20 - a black TO-92 package with three pins, alongside a diagram illustrating the pin assignment for GND, DQ, and VDD.
Temperature Sensor DS18B20 - the sensor connected to an Arduino board with a 4.7k ohm resistor and three-pin connector.
Temperature Sensor DS18B20 - shown as a black, three-pin electronic component with the text "DALLAS 18B20 0442B7 106AC" printed on its top surface.
Temperature Sensor DS18B20 - shown as a black, cylindrical electronic component with three long, thin silver metal pins extending from its base.
Temperature Sensor DS18B20 - the front view with three leads labeled GND, DQ, and VDD, and a bottom view of the TO-92 package.
Temperature Sensor DS18B20 - a black TO-92 package with three pins, alongside a diagram illustrating the pin assignment for GND, DQ, and VDD.
Temperature Sensor DS18B20 - the sensor connected to an Arduino board with a 4.7k ohm resistor and three-pin connector.

Temperature Sensor DS18B20

Sale price Rs 260
SKU: B707,TMD20,Th5
Log in to use Wishlist
Add to Compare

Frequently Bought Together

Customers building this project usually buy these together.

Temperature Sensor DS18B20 - shown as a black, three-pin electronic component with the text "DALLAS 18B20 0442B7 106AC" printed on its top surface.
+
Waterproof DS18B20 Temperature Sensor - a stainless steel probe tip connected to a long black cable with three exposed wires at the end.
+
Original LM35 Temperature Sensor - shown as a black, three-pin electronic component with a diagram labeling pins 1, 2, and 3 with their respective functions.
+
Pulse Sensor Pulse Heart Rate Sensor Arduino Heartbeat Sensor - a close-up of the circular heart-shaped black and white PCB held by fingers with three attached red, black, and purple wires.
Pulse Sensor Pulse Heart Rate Sensor Arduino Heartbeat Sensor - a close-up of the circular heart-shaped black and white PCB held by fingers with three attached red, black, and purple wires.
This item: Temperature Sensor DS18B20 -
Sale price Rs 260
Waterproof DS18B20 Temperature Sensor - a stainless steel probe tip connected to a long black cable with three exposed wires at the end.
Waterproof DS18B20 Temperature Sensor -
Sale price Rs 290
Original LM35 Temperature Sensor - shown as a black, three-pin electronic component with a diagram labeling pins 1, 2, and 3 with their respective functions.
Original LM35 Temperature Sensor -
Sale price Rs 260
Pulse Sensor Pulse Heart Rate Sensor Arduino Heartbeat Sensor - a close-up of the circular heart-shaped black and white PCB held by fingers with three attached red, black, and purple wires.
Price for all:
Sale total price Rs 1,220

Pickup available at Digilog Electronics

Usually ready in 2 hours

Temperature Sensor DS18B20 - shown as a black, three-pin electronic component with the text "DALLAS 18B20 0442B7 106AC" printed on its top surface.

Temperature Sensor DS18B20

  • Digilog Electronics

    Pickup available, usually ready in 2 hours

    🏢 Digilog Electronics 13th the RegalStreet,
    Back side of KFC, Near Abubakar Masjid Mall Road
    Lahore
    Pakistan

    +923124002221

    Check this on google map

The SparkFun DS18B20 Digital Temperature Sensor is a user-favorite for its accuracy, ease of use, and versatility. This sensor measures temperature in degrees Celsius with user-selectable resolution (9-12 bits) and a wide range of -55°C to +125°C. Here's why the DS18B20 is a must-have for your projects:

Key Features:

  • Unique 1-Wire Interface: Requires only one data pin for communication, simplifying wiring.
  • Multi-Sensor Support: Each sensor has a unique 64-bit ID, allowing you to use multiple sensors on a single bus.
  • Flexible Power Options: Powered directly from the data line (3.0V to 5.5V) or by an external source.
  • High Accuracy: Offers ±0.5°C accuracy from -10°C to +85°C.
  • Programmable Resolution: Choose between 9-12 bit resolution for optimal balance between precision and speed.
  • Alarm Functionality: Set temperature alarms for automated control in your projects.

Applications:

  • Arduino Projects: Ideal for data logging, temperature control systems, and more.
  • Thermostatic Controls: Monitor and regulate temperature in various applications.
  • Industrial Systems: Integrate precise temperature measurement into industrial processes.
  • Consumer Products: Enhance temperature control in appliances and devices.
  • Scientific Experiments: Conduct accurate and reliable temperature measurements.

Upgrade your projects with the SparkFun DS18B20 Digital Temperature Sensor and experience precise temperature monitoring at an affordable price.

 

Datasheet:

Temperature Sensor Ds18b20

 

Example code

#include
<OneWire.h>
#include <DallasTemperature.h>

const int ONE_WIRE_BUS = 2;
const int GND_PIN = 8;
const int VCC_PIN = 7;
const int LED_PIN = LED_BUILTIN; // Pin 13 on Uno/Nano

const int REQUIRED_SAMPLES = 2;

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DeviceAddress deviceAddress;

// Result status
bool testPassed = false;

void powerDownSocket() {
  pinMode(ONE_WIRE_BUS, OUTPUT);
  digitalWrite(ONE_WIRE_BUS, LOW);
 
  digitalWrite(VCC_PIN, LOW);
  digitalWrite(GND_PIN, LOW);
  pinMode(VCC_PIN, OUTPUT);
  pinMode(GND_PIN, OUTPUT);
}

void powerUpSocket() {
  pinMode(GND_PIN, OUTPUT);
  digitalWrite(GND_PIN, LOW);
 
  pinMode(VCC_PIN, OUTPUT);
  digitalWrite(VCC_PIN, HIGH);
 
  pinMode(ONE_WIRE_BUS, INPUT);
  delay(150); // Power-on stabilization delay
}

void printAddress(DeviceAddress addr) {
  for (uint8_t i = 0; i < 8; i++) {
    if (addr[i] < 16) Serial.print("0");
    Serial.print(addr[i], HEX);
    if (i < 7) Serial.print(":");
  }
}

void setup() {
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);

  Serial.begin(115200);
  delay(100);

  Serial.println("\n----------------------------------------");
  Serial.println("Starting Test...");

  powerUpSocket();
  sensors.begin();
  sensors.setWaitForConversion(true);

  uint8_t count = sensors.getDeviceCount();

  if (count == 0) {
    Serial.println("[FAIL] -> No sensor detected. Check wiring/pull-up/orientation.");
    powerDownSocket();
    testPassed = false;
    return;
  }

  if (!sensors.getAddress(deviceAddress, 0)) {
    Serial.println("[FAIL] -> Address / CRC Error.");
    powerDownSocket();
    testPassed = false;
    return;
  }

  Serial.print("ROM ID: ");
  printAddress(deviceAddress);
  Serial.println("\nTaking Samples:");

  bool allSamplesValid = true;
  float samples[REQUIRED_SAMPLES];

  for (int i = 0; i < REQUIRED_SAMPLES; i++) {
    sensors.requestTemperatures();
    float tempC = sensors.getTempC(deviceAddress);

    samples[i] = tempC;
    Serial.print("  Sample ");
    Serial.print(i + 1);
    Serial.print("/");
    Serial.print(REQUIRED_SAMPLES);
    Serial.print(": ");
    Serial.print(tempC, 2);
    Serial.println(" °C");

    if (tempC == DEVICE_DISCONNECTED_C || tempC == 85.0 || tempC < -50.0 || tempC > 120.0) {
      allSamplesValid = false;
    }

    delay(100);
  }

  Serial.println("----------------------------------------");
  if (allSamplesValid) {
    Serial.println("RESULT: [OK] Sensor is Healthy.");
    testPassed = true;
  } else {
    Serial.println("RESULT: [FAIL] Inconsistent or invalid temperature readings.");
    testPassed = false;
  }
  Serial.println("----------------------------------------");

  powerDownSocket();
}

void loop() {
  if (testPassed) {
    // FAST BLINK (OK): Rapid flash (80ms ON / 80ms OFF)
    digitalWrite(LED_PIN, HIGH);
    delay(80);
    digitalWrite(LED_PIN, LOW);
    delay(80);
  } else {
    // SOLID ON (FAULTY): Continuous solid light
    digitalWrite(LED_PIN, HIGH);
  }
}