Цифровой датчик температуры 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