Агуулгын хүснэгт:

HDC1000 ба ширхэгийн фотон ашиглан температур ба чийгшлийг хэмжих: 4 алхам
HDC1000 ба ширхэгийн фотон ашиглан температур ба чийгшлийг хэмжих: 4 алхам

Видео: HDC1000 ба ширхэгийн фотон ашиглан температур ба чийгшлийг хэмжих: 4 алхам

Видео: HDC1000 ба ширхэгийн фотон ашиглан температур ба чийгшлийг хэмжих: 4 алхам
Видео: Ruck zuck Käsestangen - Schnelles Rezept für herzhafte Snacks 2024, Арваннэгдүгээр
Anonim
Image
Image

HDC1000 бол температурын мэдрэгч бүхий дижитал чийгшил мэдрэгч бөгөөд маш бага хүчээр хэмжилтийн маш нарийвчлалыг өгдөг. Төхөөрөмж нь шинэ багтаамжийн мэдрэгч дээр суурилсан чийгшлийг хэмждэг. Чийг, температур мэдрэгчийг үйлдвэрийн шалгалт тохируулга хийдэг. Энэ нь бүрэн -40 ° C -аас +125 ° C хүртэлх температурт ажиллах боломжтой.

Энэхүү гарын авлагад HDC1000 мэдрэгч модулийн бөөмийн фотонтой хэрхэн холбогдож байгааг харуулав. Температур ба чийгшлийн утгыг уншихын тулд бид I2c адаптер бүхий бөөмийг ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.

Алхам 1: Шаардлагатай тоног төхөөрөмж:

Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж
Шаардлагатай техник хангамж

Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.

1. HDC1000

2. Бөөмийн фотон

3. I2C кабель

4. Бөөмийн фотоны I2C бамбай

Алхам 2: Тоног төхөөрөмжийн холболт:

Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт
Тоног төхөөрөмжийн холболт

Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөмийн фотоны хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.

HDC1000 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.

Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.

Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.

Эдгээр холболтыг дээрх зурган дээр харуулав.

Алхам 3: Температур ба чийгшил хэмжих код:

Температур ба чийгшил хэмжих код
Температур ба чийгшил хэмжих код

Одоо бөөмийн кодоор эхэлье.

Мэдрэгч модулийг бөөмстэй хамт ашиглахдаа application.h болон spark_wiring_i2c.h номын санг оруулна. "application.h" болон spark_wiring_i2c.h номын сан нь мэдрэгч ба бөөмийн хооронд i2c холболтыг хөнгөвчлөх функцуудыг агуулдаг.

Хэрэглэгчийн тав тухыг хангах үүднээс бөөмийн кодыг бүхэлд нь доор харуулав.

#оруулах

#оруулах

// HDC1000 I2C хаяг нь 0x40 (64)

#тодорхойлох Addr 0x40

давхар cTemp = 0.0, fTemp = 0.0, чийгшил = 0.0;

int temp = 0, hum = 0;

хүчингүй тохиргоо ()

{

// Хувьсагчийг тохируулах

Particle.variable ("i2cdevice", "HDC1000");

Бөөм.хувьсагч ("чийгшил", чийгшил);

Particle.variable ("cTemp", cTemp);

// I2C холболтыг эхлүүлэх

Wire.begin ();

// Цуваа холбоог эхлүүлэх, дамжуулах хурд = 9600

Цуваа эхлэх (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 байтын өгөгдлийг уншина уу

// temp msb, temp lsb

хэрэв (Утас. боломжтой () == 2)

{

өгөгдөл [0] = Wire.read ();

өгөгдөл [1] = Wire.read ();

}

// Өгөгдлийг хөрвүүлэх

temp = ((өгөгдөл [0] * 256) + өгөгдөл [1]);

cTemp = (temp / 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 байтын өгөгдлийг уншина уу

// temp msb, temp lsb

хэрэв (Утас. боломжтой () == 2)

{

өгөгдөл [0] = Wire.read ();

өгөгдөл [1] = Wire.read ();

}

// Өгөгдлийг хөрвүүлэх

hum = ((өгөгдөл [0] * 256) + өгөгдөл [1]);

чийгшил = (hum / 65536.0) * 100.0;

// Мэдээллийг хяналтын самбарт гаргах

Particle.publish ("Харьцангуй чийгшил:", Мөр (чийгшил));

саатал (1000);

Particle.publish ("Цельсийн температур:", String (cTemp));

саатал (1000);

Particle.publish ("Фаренгейт дэх температур:", String (fTemp));

саатал (1000);

}

Particle.variable () функц нь мэдрэгчийн гаралтыг хадгалах хувьсагчдыг үүсгэдэг ба Particle.publish () функц нь сайтын хяналтын самбарт гаралтыг харуулдаг.

Мэдээллийн хувьд мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.

Алхам 4: Өргөдөл:

Хэрэглээ
Хэрэглээ

HDC1000 -ийг халаалт, агааржуулалт, агааржуулагч (HVAC), ухаалаг термостат, өрөөний монитор зэрэгт ашиглах боломжтой. Энэхүү мэдрэгч нь принтер, гар тоолуур, эмнэлгийн хэрэгсэл, ачааны тээвэрлэлт, автомашины салхины шилний хамгаалалт зэрэгт ашиглагддаг.

Зөвлөмж болгож буй: