Корзина
пусто

Цифровой термометр DS18B20, влагозащищённый

Цифровой термометр DS18B20, влагозащищённый

Нажмите, чтобы увеличить
Цифровой термометр DS18B20, влагозащищённый
Цифровой термометр DS18B20, влагозащищённый
Цифровой термометр DS18B20, влагозащищённый
Цена: 170 pуб.
Наличие: Нет в наличии 
Модель: DS18B20+
Производитель: Dallas
Количество: Добавить в корзину
Цифровой термометр Arduino Uno Резистор Дисплей 16*2

Цифровой термометр DS18B20 от компании Dallas в герметичной, влагозащитной трубке с кабелем.

Для работы датчика необходим подтягивающий резистор на 4.7 кОм.

  • диапазон работы от -55°C до +125°C
  • точность: ±0.5°C.
  • питание от 3.0В до 5.5В
  • интерфейс: 1-Wire
  • красный(VCC), жёлтый / белый (DATA), чёрный(GND)
  • длина кабеля: 1 метр

Пример работы с Ардуино (требуется библиотека OneWire):

Пример подключения DS18B20  к Ардуино

Техническая документация

Код для Ардуино:

#include <OneWire.h>

OneWire  ds(10);  // линия 1-Wire на pin 10

void setup(void)
{
  Serial.begin(9600);
}

void loop(void)
{
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
  
  if ( !ds.search(addr))
 
  {
    
      ds.reset_search();
      return;
 }
 
  if ( OneWire::crc8( addr, 7) != addr[7]) {
      Serial.print("CRC is not valid!\n");
      return;
  }
  
  Serial.print("R=");
  for( i = 0; i < 8; i++) {
    Serial.print(addr[i], HEX);
  
  }
 
   if ( addr[0] != 0x28) {
      Serial.print(" - Device is not a DS18B20.\n");
      return;
  }
  
  if ( addr[0] == 0x28) {
      Serial.println(" - It is a DS18B20.!!\n");
  
   ds.reset();
   ds.select(addr);
 
   ds.write(0x44,1);         // запускаем конвертацию
 
  delay(1000);     // достаточно 750ms
 
  present = ds.reset();
  ds.select( addr);   
  ds.write(0xBE);   
 
   for ( i = 0; i < 2; i++){           // обрабатываем 2 байта
    data[i] = ds.read();
   //Serial.print(data[i], HEX);
 }
 
int B,MSByte,C;
float LSByte,A,Temp;

LSByte = data[0];
MSByte = data[1];
A=(LSByte/16);
B=(MSByte<<4);
C=(MSByte>>7);
Temp = (A+B)*(1-2*C);
//Temp = A+B+C/256;

 Serial.println(Temp);
    Serial.println();
 } 
}