Мазмуну:

Arduino Nano - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам
Arduino Nano - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino Nano - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino Nano - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам
Video: Измерение температуры с помощью автомобильного датчика ТОЖ и Arduino. 2024, Ноябрь
Anonim
Image
Image

TMP100 Жогорку тактык, аз кубаттуулук, санарип температура сенсору I2C MINI модулу. TMP100 узартылган температураны өлчөө үчүн идеалдуу. Бул түзмөк калибрлөөнү же тышкы компоненттин сигналын кондициялоону талап кылбастан ± 1 ° C тактыкты сунуштайт. Бул жерде Arduino Nano менен болгон демонстрация.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Ардуино Нано

2. TMP100

3. I²C кабели

4. Arduino Nano үчүн I²C Shield

2 -кадам: Байланыш:

Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу
Туташуу

Arduino Nano үчүн I2C калканчын алыңыз жана аны акырындык менен Нанонун казыктарына түртүңүз.

Андан кийин I2C кабелинин бир учун TMP100 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

TMP100 үчүн Arduino кодун биздин GitHub репозиторийи-Dcube дүкөнүнөн көчүрүп алса болот

Мына ушуга шилтеме:

github.com/DcubeTechVentures/TMP100..

Биз сенсордун Arduino тактасы менен I2c байланышын жеңилдетүү үчүн Wire.h китепканасын камтыйбыз.

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// TMP100

// Бул код Dcube Storeдо жеткиликтүү болгон TMP100_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

#кошуу

// TMP100 I2C дареги 0x4F (79)

#define Addr 0x4F

жараксыз орнотуу ()

{

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Serial байланышты баштоо, baud rate = 9600

Serial.begin (9600);

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Конфигурация реестрин тандоо

Wire.write (0x01);

// Үзгүлтүксүз конверсияны, салыштыруу режимин, 12 биттик чечимди коюңуз

Wire.write (0x60);

// I2C берүүнү токтотуу

Wire.endTransmission ();

кечигүү (300);

}

боштук цикл ()

{

кол коюлбаган int маалыматтары [2];

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Маалымат реестрин тандоо

Wire.write (0x00);

// I2C берүүнү токтотуу

Wire.endTransmission ();

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

// 2 байт маалыматтарды окуңуз

// cTemp msb, cTemp lsb

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

}

// Маалыматты конвертациялоо

float cTemp = ((((маалымат [0] * 256) + (маалымат [1] & 0xF0)) / 16) * 0.0625;

float fTemp = cTemp * 1.8 + 32;

// Маалыматтарды сериялык мониторго чыгаруу

Serial.print ("Цельсий боюнча температура:");

Serial.print (cTemp);

Serial.println ("C");

Serial.print ("Фаренгейт температурасы:");

Serial.print (fTemp);

Serial.println ("F");

кечигүү (500);

}

4 -кадам: Тиркемелер:

TMP100 аз кубаттуу, жогорку тактыктагы санарип температура сенсорун камтыган ар кандай тиркемелерге Power-Supply Temperature Monitoring, Computer Perifheral Thermal Protection, Battery Management, ошондой эле офистик машиналар кирет.

Сунушталууда: