TMP102 — различия между версиями
SkyStorm (обсуждение | вклад) м |
SkyStorm (обсуждение | вклад) м (→Описание) |
||
Строка 9: | Строка 9: | ||
[[Image:TMP102PinConf.png|300px]] | [[Image:TMP102PinConf.png|300px]] | ||
[[Image:TMP102Diagram.png|300px]] | [[Image:TMP102Diagram.png|300px]] | ||
+ | |||
+ | Соответственно | ||
+ | # '''SCL''' - I2C Clock | ||
+ | # '''GND''' - Земля | ||
+ | # '''ALERT''' - Тревога, при использовании в режиме термостат | ||
+ | # '''SDA''' - I2C Data | ||
+ | # '''V+''' - Питание '''3.3V MAX!''' | ||
+ | # '''ADD0''' - Конфигурация I2C адресса | ||
'''Внимание:''' TMP102 это устройство с рабочим напряжением 3.3V, для подключения к 5V Arduino непроходимо преобразование уровней например при помощи [http://www.sparkfun.com/commerce/product_info.php?products_id=8745 Logic Level Converter] | '''Внимание:''' TMP102 это устройство с рабочим напряжением 3.3V, для подключения к 5V Arduino непроходимо преобразование уровней например при помощи [http://www.sparkfun.com/commerce/product_info.php?products_id=8745 Logic Level Converter] |
Версия 13:29, 4 сентября 2010
Содержание
Описание
TMP102 это цифровой термометр с интерфейсом I2C(TWI) в миниатюрном корпусе SOT563. TMP102 не нуждается в обвязке, и считывает температуру с шагом 0.0625°C.
TMP102 поддерживает SMBus и I2C(TWI), что позволяет использовать до 4х таких датчиков на одной шине. Так же поддерживает такую функцию как "SMB alert".
TMP102 это идеальный датчик для измерения изменений температуры, шаг измерения 0.0625°C, качество 0.5°C, диапазон от –40°C до +125°C.
Соответственно
- SCL - I2C Clock
- GND - Земля
- ALERT - Тревога, при использовании в режиме термостат
- SDA - I2C Data
- V+ - Питание 3.3V MAX!
- ADD0 - Конфигурация I2C адресса
Внимание: TMP102 это устройство с рабочим напряжением 3.3V, для подключения к 5V Arduino непроходимо преобразование уровней например при помощи Logic Level Converter
Подключение
к Arduino(5V)
Вариант подключения TMP102(3.3V) к Arduino(5V)с Logic Level Converter:
- LV к 3.3V pin Arduino
- HV к 5V pin Arduino
- HV Канал 1 TXO к SDA pin Arduino (analog 4)
- HV Канал 2 TXO к SCL pin Arduino (analog 5)
- LV Канал 1 TXI к SDA pin of TMP102
- LV Канал 2 TXI к SCL pin of TMP102
- RX pins Logic Level Converter не используются
- V+ от TMP102 на 3.3V
- GND от TMP102 на землю
- ADD0 от TMP102 на землю
- ALT от TMP102 не подключаем
- Все земли соединяем между собой
к Arduino(3.3V)
Вариант подключения TMP102(3.3V) к Arduino(3.3V) без преобразований:
- V+ от TMP102 на 3.3V Arduino
- SDA от TMP102 на SDA pin (analog 4)
- SCL от TMP102 на SCL pin (analog 5)
- GND от TMP102 на землю
- ADD0 отTMP102 на землю
- ALT от TMP102 не подключаем
- Все земли соеденяем между собой
Расположение контактов
Расположение контактов при взгляде на верхнюю сторону:
Пример кода
Пример кода для Arduino который показывает как считать данные с TMP102, преобразовать их в градусы по Цельсии и по Фарингейту. Полученные результаты выводятся на ЖКИ дисплей и дублируются в последовательный порт.
#include <LiquidCrystal.h> #include <Wire.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte res; byte msb; byte lsb; int val; float tC; // temperature in Celsius float tF; // temperature in Fahrenheit void setup() { // set up the LCD's number (col,row): lcd.begin(20, 2); lcd.print("Temp"); Serial.begin(9600); Wire.begin(); } void loop() { lcd.clear(); /* get new value from TMP102 */ res = Wire.requestFrom(72,2); if (res == 2) { msb = Wire.receive(); /* Whole degrees */ lsb = Wire.receive(); /* Fractional degrees */ val = ((msb) << 4); /* MSB */ val |= (lsb >> 4); /* LSB */ /* calculate temperature */ tC = val*0.0625; tF = (tC * 9/5) + 32; /* show temperatures on display */ lcd.print(tC); lcd.print("\xdf""C"); lcd.setCursor(0, 1); lcd.print(tF); lcd.print("\xdf""F"); Serial.print(tC); Serial.print("C "); Serial.print(tF); Serial.println("F"); } else { lcd.print("ERR"); Serial.println("ERROR"); } delay(1000); }
Материалы
- Источник: TMP102 Wiring
- Описание: TMP102 Datasheet
- Схема отладочной платы: TMP102 Breakout
- Подключение к Arduino(5v) используя преобразователь уровней Sparkfun Logic Level Converter: http://forum.sparkfun.com/viewtopic.php?f=8&t=20938&p=97163
- Где купить Sparkfun, 4Robots и другие.