Цифровой датчик температуры DS1624 (Arduino)

Цифровой датчик температуры DS1624 состоит из двух отдельных функциональных блоков:

  • EEPROM 256 байт
  • датчик температуры

Энергонезависимая память может быть использована для хранения любого типа информации, которую пожелает сохранить пользователь. Доступ к памяти и данным цифрового датчика осуществляется через шину I2C.
Цифровой датчик температуры позволяет измерять температуру окружающей среды с разрешением 12-бит (разрешение 0,0625°C).

Основные параметры датчика температуры DS1624

  • Диапазон измерения температуры от -55°C до +125°C с разрешением 0,0625°C
  • Точность ±0,5°C в диапазоне от 0°C до 70°C
  • EEPROM 256 байт
  • Температура считывается как 12-битное значение, которое содержится в 2-х байтах
  • Напряжение питания от 2,7 до 5,5 В

На шину I2C можно подключить до 8-и датчиков температуры DS1624. Адрес DS1624 на шине I2C 0B1001000, замыкание выводов А0 А1 А2 на GND (0) или VDD (1) позволяет изменять три младшие бита адреса —  A2 A1 A0.

Выводы SDA и SCL должны иметь подтягивающие резисторы по 4,7 кОм к +5 В.

Ниже показан скетч который позволяет считывать измеряемую температуру:

#include <Wire.h>
#define ADDR 0b1001000 // 0x48

void setup() {
  Serial.begin(9600);
  Wire.begin();
  conf_ds1624();

}

void loop() {
  Serial.println(ds1624_Read(),4);
  delay(1000);
}

float ds1624_Read(){
  Wire.beginTransmission(ADDR);
  Wire.write(0xAA);
  Wire.requestFrom(ADDR,2);
  while(Wire.available()<2);
  float value = Wire.read() + float(Wire.read()>>4)*0.0625;
  Wire.endTransmission();
  return value;
  }

void conf_ds1624(){  
  Wire.beginTransmission(ADDR);
  Wire.write(0xAC);
  Wire.write(0x00);
  Wire.endTransmission();
  delay(100);
  Wire.beginTransmission(ADDR);
  Wire.write(0xEE);
  Wire.endTransmission();
  delay(100);
  }  

ds1624.pdf

Добавить комментарий

Войти с помощью: