Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай тоног төхөөрөмж:
- Алхам 2: Тоног төхөөрөмжийн холболт:
- Алхам 3: Температур хэмжих код:
- Алхам 4: Өргөдөл:
Видео: MCP9803 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
MCP9803 бол 2 утастай өндөр нарийвчлалтай температур мэдрэгч юм. Тэдгээр нь температурыг мэдрэх програмыг хөнгөвчлөх хэрэглэгчийн програмчлагдах бүртгэлүүдтэй. Энэхүү мэдрэгч нь олон бүсийн температурыг хянах маш нарийн системд тохиромжтой.
Энэхүү гарын авлагад бөөмийн фотонтой MCP9803 мэдрэгч модулийн интерфэйсийг харуулав. Температурын утгыг уншихын тулд бид I2c адаптер бүхий бөөмийг ашигласан бөгөөд энэхүү I2C адаптер нь мэдрэгчийн модульд холбогдоход хялбар, илүү найдвартай болгодог.
Алхам 1: Шаардлагатай тоног төхөөрөмж:
Зорилгодоо хүрэхийн тулд бидэнд шаардлагатай материалууд нь дараахь тоног төхөөрөмжийн бүрэлдэхүүн хэсгүүдийг агуулдаг.
1. MCP9803
2. Бөөмийн фотон
3. I2C кабель
4. Бөөмийн фотоны I2C бамбай
Алхам 2: Тоног төхөөрөмжийн холболт:
Тоног төхөөрөмжийн холболтын хэсэг нь үндсэндээ мэдрэгч ба бөөмийн фотоны хооронд шаардлагатай утас холболтыг тайлбарладаг. Аливаа систем дээр ажиллахад шаардлагатай гаралтын хувьд зөв холболтыг хангах нь хамгийн чухал зүйл юм. Тиймээс шаардлагатай холболтууд дараах байдалтай байна.
MCP9803 нь I2C дээр ажиллах болно. Мэдрэгчийн интерфэйс бүрийг хэрхэн яаж холбохыг харуулсан утасны диаграмын жишээ энд байна.
Хайрцагнаас гадуурх самбар нь I2C интерфэйс дээр тохируулагдсан байдаг тул хэрэв та өөр ойлголтгүй бол энэ холболтыг ашиглахыг зөвлөж байна.
Танд ердөө дөрвөн утас л хангалттай! Vcc, Gnd, SCL, SDA зүүг зөвхөн дөрвөн холболт шаарддаг бөгөөд эдгээр нь I2C кабелийн тусламжтайгаар холбогддог.
Эдгээр холболтыг дээрх зурган дээр харуулав.
Алхам 3: Температур хэмжих код:
Одоо бөөмийн кодоос эхэлье.
Мэдрэгч модулийг бөөмстэй хамт ашиглахдаа application.h болон spark_wiring_i2c.h номын санг оруулна. "application.h" болон spark_wiring_i2c.h номын сан нь мэдрэгч ба бөөмийн хооронд i2c холболтыг хөнгөвчлөх функцуудыг агуулдаг.
Хэрэглэгчийн тав тухыг хангах үүднээс бөөмийн кодыг бүхэлд нь доор харуулав.
#оруулах
#оруулах
// MCP9803 I2C хаяг нь 0x48 (72)
#тодорхойлох Addr 0x48
float cTemp = 0, fTemp = 0;
хүчингүй тохиргоо ()
{
// Хувьсагчийг тохируулах
Particle.variable ("i2cdevice", "MCP9803");
Particle.variable ("cTemp", cTemp);
// I2C холболтыг MASTER болгон эхлүүлэх
Wire.begin ();
// Цуваа холбоог эхлүүлэх, дамжуулах хурд = 9600
Цуваа эхлэх (9600);
// I2C дамжуулалтыг эхлүүлэх
Wire.beginTransmission (Addr);
// Тохиргооны бүртгэлийг сонгоно уу
Wire.write (0x01);
// Тасралтгүй хөрвүүлэх горим, Power-up default
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 байтын өгөгдлийг уншина уу
// temp msb, temp lsb
хэрэв (Утас. боломжтой () == 2)
{
өгөгдөл [0] = Wire.read ();
өгөгдөл [1] = Wire.read ();
}
// Өгөгдлийг 12 бит болгон хөрвүүлэх
int temp = ((өгөгдөл [0] * 256) + өгөгдөл [1]) / 16.0;
хэрэв (температур> 2047)
{
температур -= 4096;
}
cTemp = температур * 0.0625;
fTemp = cTemp * 1.8 + 32;
// Өгөгдлийг цуваа монитор руу гаргадаг
Particle.publish ("Цельсийн температур:", String (cTemp));
Particle.publish ("Фаренгейт дэх температур:", String (fTemp));
саатал (500);
}
Particle.variable () функц нь мэдрэгчийн гаралтыг хадгалах хувьсагчдыг үүсгэдэг ба Particle.publish () функц нь сайтын хяналтын самбарт гаралтыг харуулдаг.
Мэдээллийн хувьд мэдрэгчийн гаралтыг дээрх зурагт үзүүлэв.
Алхам 4: Өргөдөл:
MCP9803 -ийг хувийн компьютер болон дагалдах хэрэгсэл, хатуу дискний хөтөч, янз бүрийн зугаа цэнгэлийн систем, оффисын систем, өгөгдөл дамжуулах систем зэрэг олон төрлийн төхөөрөмжид ашиглах боломжтой. Энэхүү мэдрэгчийг янз бүрийн нарийн төвөгтэй системд суулгаж болно.
Зөвлөмж болгож буй:
ADXL345 ба бөөмийн фотон ашиглан хурдатгалын хэмжилт: 4 алхам
ADXL345 ба Particle Photon ашиглан хурдатгалын хэмжилт: ADXL345 нь ± 16 г хүртэл өндөр нарийвчлалтай (13 бит) хэмжигдэхүүнтэй, жижиг, хэт нимгэн, 3 тэнхлэгтэй акселерометр юм. Дижитал гаралтын өгөгдлийг 16 битийн хоёр нэмэлт хэлбэрээр форматласан бөгөөд I2 C дижитал интерфэйсээр дамжуулан авах боломжтой. Үүнийг хэмждэг
HMC5883 ба бөөмийн фотон ашиглан соронзон орны хэмжилт: 4 алхам
HMC5883 ба бөөмийн фотон ашиглан соронзон орны хэмжилт: HMC5883 нь бага талбайн соронзон мэдрэх зориулалттай дижитал луужин юм. Энэхүү төхөөрөмж нь өргөн соронзон орны хүрээтэй +/- 8 Oe ба гаралтын хурд нь 160 Гц юм. HMC5883 мэдрэгч нь унтраах автомат оосор жолооч, офсет цуцлах
H3LIS331DL болон бөөмийн фотон ашиглан хурдатгалын хэмжилт: 4 алхам
H3LIS331DL ба Particle Photon ашиглан хурдатгалын хэмжилт: H3LIS331DL нь дижитал I²C серийн интерфейстэй, "нано" гэр бүлд хамаарах бага хүчин чадалтай, 3 тэнхлэг бүхий хурдны хэмжигдэхүүн юм. H3LIS331DL нь хэрэглэгчийн сонгох боломжтой бүрэн масштабтай ± 100g/± 200g/± 400g бөгөөд хурдатгалыг хэмжих чадвартай
BMA250 ба бөөмийн фотон ашиглан хурдасгах хэмжилт: 4 алхам
BMA250 ба бөөмийн фотон ашиглан хурдатгалын хэмжилт: BMA250 нь жижиг, нимгэн, хэт өндөр чадалтай, 3 тэнхлэгтэй, өндөр нарийвчлалтай (13 бит) хэмжүүр бүхий ± 16 гр хүртэл хэмжигдэхүүн юм. Дижитал гаралтын өгөгдлийг 16 битийн хос хэлбэрээр форматласан бөгөөд I2C дижитал интерфэйсээр дамжуулан авах боломжтой. Статикийг хэмждэг
TMP112 ба бөөмийн фотон ашиглан температурын хэмжилт: 4 алхам
TMP112 ба ширхэгийн фотон ашиглан температур хэмжилт: TMP112 өндөр нарийвчлалтай, бага чадалтай, дижитал температур мэдрэгч I2C MINI модуль. TMP112 нь температурыг хэмжихэд тохиромжтой. Энэ төхөөрөмж нь шалгалт тохируулга хийх эсвэл гадны бүрэлдэхүүн хэсгүүдийн дохио тохируулах шаардлагагүй ± 0.5 ° C нарийвчлалыг санал болгодог