Мазмуну:
Video: Particle Photon - HDC1000 Температура сенсорунун үйрөткүчү: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
HDC1000 - бул санариптик нымдуулук сенсору, ал өтө аз кубаттуулукта мыкты өлчөө тактыгын камсыз кылган интегралдык температура сенсору менен. Аппарат нымдуулукту жаңы сыйымдуу сенсордун негизинде өлчөйт. Нымдуулук жана температура сенсорлору заводдо калибрленген. Бул толук -40 ° Cдан +125 ° Cга чейинки температура диапазонунда иштейт. Бул жерде анын фотон бөлүкчөсү менен көрсөтүлүшү.
1 -кадам: Сизге эмне керек..
1. Фотоникалык бөлүкчөлөр
2. HDC1000
3. I²C кабели
4. I²C калканч фотон үчүн
2 -кадам: Байланыш:
Бөлүкчө фотону үчүн I2C калканчын алыңыз жана аны акырын бөлүкчө фотонунун казыктарынын үстүнө түртүңүз.
Андан кийин I2C кабелинин бир учун HDC1000 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.
Байланыштар жогорудагы сүрөттө көрсөтүлгөн.
3 -кадам: Код:
HDC1000 үчүн бөлүкчө кодун биздин GitHub репозиторийинен жүктөп алса болот- Dcube дүкөнү.
Мына ушуга шилтеме:
github.com/DcubeTechVentures/HDC1000…
HDC1000 маалымат барагын бул жерден тапса болот:
www.ti.com.cn/cn/lit/ds/symlink/hdc1000.pdf
Биз бөлүкчө коду үчүн эки китепкананы колдондук, алар application.h жана spark_wiring_i2c.h. Сенсор менен I2C байланышын жеңилдетүү үчүн Spark_wiring_i2c китепканасы талап кылынат.
Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:
// Эркин лицензия менен таратылган.
// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.
// HDC1000
// Бул код Dcube Storeдо бар HDC1000_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.
#кошуу
#кошуу
// HDC1000 I2C дареги 0x40 (64)
#define Addr 0x40
float cTemp = 0.0, fTemp = 0.0, нымдуулук = 0.0;
int temp = 0, hum = 0;
жараксыз орнотуу ()
{
// Өзгөрмөнү коюу
Particle.variable ("i2cdevice", "HDC1000");
Particle.variable ("нымдуулук", нымдуулук);
Particle.variable ("cTemp", cTemp);
// I2C байланышын баштоо
Wire.begin ();
// Сериялык байланышты баштоо, байдын ылдамдыгын орнотуу = 9600
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Конфигурация реестрин тандоо
Wire.write (0x02);
// Температура, нымдуулук иштетилген, ажыратуу = 14 бит, жылыткыч күйгүзүлгөн
Wire.write (0x30);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (300);
}
боштук цикл ()
{
кол коюлбаган int маалыматтары [2];
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Температураны өлчөө буйругун жөнөтүү
Wire.write (0x00);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (500);
// 2 байт маалымат сураңыз
Wire.requestFrom (Addr, 2);
// 2 байт маалыматтарды окуңуз
// темп msb, temp lsb
эгер (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Маалыматты конвертациялоо
темп = ((маалымат [0] * 256) + маалымат [1]);
cTemp = (темп / 65536.0) * 165.0 - 40;
fTemp = cTemp * 1.8 + 32;
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Нымдуулукту өлчөө буйругун жөнөтүү
Wire.write (0x01);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (500);
// 2 байт маалымат сураңыз
Wire.requestFrom (Addr, 2);
// 2 байт маалыматтарды окуңуз
// темп msb, temp lsb
эгер (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Маалыматты конвертациялоо
hum = ((маалымат [0] * 256) + маалымат [1]);
нымдуулук = (хум / 65536,0) * 100,0;
// Маалыматтарды тактасына чыгаруу
Particle.publish ("Салыштырмалуу нымдуулук:", String (нымдуулук));
Particle.publish ("Цельсий боюнча температура:", String (cTemp));
Particle.publish ("Фаренгейттеги температура:", String (fTemp));
кечигүү (1000);
}
4 -кадам: Тиркемелер:
HDC1000 жылытуу, вентиляция жана кондиционерлөө (HVAC), Smart Thermostats жана Room Monitorдо колдонулушу мүмкүн. Бул сенсор ошондой эле Принтерлерде, Колдогу эсептегичтерде, Медициналык приборлордо, Жүк ташууда, ошондой эле Автомобиль айнектерин тазалоодо колдонмосун табат.
Сунушталууда:
Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: 4 кадам
Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: Аналогдук жана санариптик чыгуулары бар AMS5812 күчөтүлгөн басым сенсору-аналогдук чыңалуусу бар жана санарип I2C интерфейси бар жогорку тактыктагы сенсор. Ал пьезорезисттивдүү сезүүчү элементти иштетүү үчүн сигналды кондициялоочу элемент менен айкалыштырат
Particle Photon - TCN75A Температура сенсорунун үйрөткүчү: 4 кадам
Particle Photon-TCN75A Температура сенсорунун үйрөткүчү: TCN75A-температурадан цифралык которгуч менен кошулган эки зымдуу сериялык температура сенсору. Бул температураны сезүүчү колдонмолор үчүн ийкемдүүлүктү камсыз кылган колдонуучу программалоочу реестрлери менен коштолгон. Каттоо жөндөөлөрү колдонуучуларга
Particle Photon - ADT75 Температура сенсорунун үйрөткүчү: 4 кадам
Particle Photon - ADT75 Temperature Sensor Tutorial: ADT75 - абдан так, санарип температура сенсору. Бул диапазондогу температура сенсорунан жана температураны көзөмөлдөө жана санариптештирүү үчүн санариптик конвертерге 12-биттен турат. Анын өтө сезгич сенсору мага жетиштүү компетенттүү кылат
Particle Photon - STS21 Температура сенсорунун үйрөткүчү: 4 кадам
Бөлүкчө Фотон - STS21 Температура Сенсорунун Үйрөткүчү: STS21 Санарип Температура Сенсору жогорку өндүрүмдүүлүктү жана мейкиндикти үнөмдөөчү изди сунуштайт. Бул санарип, I2C форматында калибрленген, сызыктуу сигналдарды берет. Бул сенсордун жасалышы CMOSens технологиясына негизделген, ал жогорку сапаттарга таандык
Particle Photon - TMP100 Температура сенсорунун үйрөткүчү: 4 кадам
Particle Photon-TMP100 Температура сенсорунун үйрөткүчү: TMP100 Жогорку тактык, Аз кубаттуулук, Санарип Температура Сенсор I2C MINI модулу. TMP100 узартылган температураны өлчөө үчүн идеалдуу. Бул түзмөк калибрлөөнү же тышкы компоненттин сигналын кондициялоону талап кылбастан ± 1 ° C тактыкты сунуштайт. Ал