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

MCP9803 ба Raspberry Pi ашиглан температур хэмжих: 4 алхам
MCP9803 ба Raspberry Pi ашиглан температур хэмжих: 4 алхам

Видео: MCP9803 ба Raspberry Pi ашиглан температур хэмжих: 4 алхам

Видео: MCP9803 ба Raspberry Pi ашиглан температур хэмжих: 4 алхам
Видео: Объяснение прошивки Marlin 2.0.x 2024, Арваннэгдүгээр
Anonim
Image
Image

MCP9803 бол 2 утастай өндөр нарийвчлалтай температур мэдрэгч юм. Тэдгээр нь температурыг мэдрэх програмыг хөнгөвчлөх хэрэглэгчийн програмчлагдах бүртгэлүүдтэй. Энэхүү мэдрэгч нь олон бүсийн температурыг хянах маш нарийн системд тохиромжтой.

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

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

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

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

1. MCP9803

2. Raspberry pi

3. I2C кабель

4. Бөөрөлзгөнө pi -д зориулсан I2C бамбай

5. Ethernet кабель

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

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

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

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

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

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

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

Алхам 3: Температур хэмжих код:

Температур хэмжих код
Температур хэмжих код

Бөөрөлзгөнө pi ашиглах давуу тал нь мэдрэгчийг интерфэйстэй холбохын тулд самбарыг програмчлах хэлний уян хатан байдлыг хангаж өгдөг. Энэхүү самбарын давуу талыг ашиглахын тулд бид Java дээр програмчилж байгааг энд харууллаа. MCP9803 -ийн java кодыг манай Github бүлгээс Dcube Store -оос татаж авах боломжтой.

Хэрэглэгчдэд хялбар байхын тулд бид кодыг энд тайлбарлаж байна.

Кодлох эхний алхам бол java тохиолдолд pi4j номын санг татаж авах хэрэгтэй, учир нь энэ номын сан нь кодонд ашиглагддаг функцийг дэмждэг. Тиймээс номын санг татаж авахын тулд та дараах линкээр орж үзэх боломжтой.

pi4j.com/install.html

Та энэ мэдрэгчийн java кодыг эндээс хуулж болно.

com.pi4j.io.i2c. I2CBus импортлох;

com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох;

com.pi4j.io.i2c. I2CFactory импортлох;

java.io. IOException импортлох; нийтийн ангилал MCP9803

{

public static void main (String args ) Exception хаядаг

{

// I2C автобус үүсгэх

I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1);

// I2C төхөөрөмж авах, MCP9803 I2C хаяг нь 0x48 (72)

I2CDevice төхөөрөмж = Bus.getDevice (0x48);

// Тохиргооны бүртгэлийг сонгоно уу

// Тасралтгүй хөрвүүлэх горим, Power-up, харьцуулагч горим, 12 битийн нарийвчлал

device.write (0x01, (байт) 0x60);

Thread.sleep (500);

// 0x00 (0) хаягаас 2 байт өгөгдлийг унших

// temp msb, temp lsb

байт өгөгдөл = шинэ байт [2];

device.read (0x00, өгөгдөл, 0, 2);

// Өгөгдлийг 12 бит болгон хөрвүүлэх

int temp = ((өгөгдөл [0] & 0xFF) * 256 + (өгөгдөл [1] & 0xF0)) / 16;

хэрэв (температур> 2047)

{

температур -= 4096;

}

давхар cTemp = temp * 0.0625;

давхар fTemp = cTemp * 1.8 + 32;

// Дэлгэц рүү өгөгдөл гаргана

System.out.printf ("Цельсийн температур: %.2f C %n", cTemp);

System.out.printf ("Фаренгейт дэх температур: %.2f F %n", fTemp);

}

}

Мэдрэгч ба самбар хоорондын i2c холболтыг хөнгөвчлөх номын сан нь pi4j бөгөөд түүний төрөл бүрийн багцууд I2CBus, I2CDevice, I2CFactory нь холболт тогтооход тусалдаг.

com.pi4j.io.i2c. I2CBus импортлох;

com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох;

com.pi4j.io.i2c. I2CFactory импортлох;

java.io. IOException импортлох;

бичих () ба унших () функцууд нь мэдрэгчийг тодорхой горимд ажиллуулахын тулд тодорхой командуудыг бичиж, мэдрэгчийн гаралтыг тус тус уншдаг.

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

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

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

MCP9803 -ийг хувийн компьютер болон дагалдах хэрэгсэл, хатуу дискний хөтөч, янз бүрийн зугаа цэнгэлийн систем, оффисын систем, өгөгдөл дамжуулах систем зэрэг олон төрлийн төхөөрөмжид ашиглах боломжтой. Энэхүү мэдрэгчийг янз бүрийн нарийн төвөгтэй системд суулгаж болно.

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