
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51


MCP9808 абдан так санарип температура сенсору ± 0,5 ° C I2C мини модулу. Алар температураны сезүү колдонмолорун жеңилдетүүчү колдонуучу программалоочу реестрлер менен камтылган. MCP9808 жогорку тактыктагы температура сенсору форма фактору жана интеллектуалдык жактан индустриялык стандартка айланып, санариптик, I2C форматында калибрленген, сызыктуу сенсор сигналдарын берет.
Бул окуу куралында MCP9808 сенсор модулунун бөлүкчө фотону менен интерфейси көрсөтүлдү. Температуранын маанисин окуу үчүн I2c adapter. This I2C адаптери менен малина пи колдонгонбуз, сенсор модулуна туташууну жеңил жана ишенимдүү кылат.
1 -кадам: Аппараттык камсыздоо талап кылынат:



Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:
1. MCP9808
2. Бөлүкчөлөрдүн фотону
3. I2C кабели
4. Бөлүкчө фотону үчүн I2C калканы
2 -кадам: Аппараттык туташуу:


Аппараттык туташуу бөлүмү негизинен сенсор менен фотон бөлүкчөсүнүн ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:
MCP9808 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.
Бул байланыштар жогорудагы сүрөттөрдө көрсөтүлгөн.
3 -кадам: Температураны өлчөө коду:

Эми бөлүкчө коду менен баштайлы.
Arduino менен сенсор модулун колдонуп жатканда, биз application.h жана spark_wiring_i2c.h китепканасын камтыйт. "application.h" жана spark_wiring_i2c.h китепканасы сенсор менен бөлүкчөнүн ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.
Колдонуучунун ыңгайлуулугу үчүн бүт бөлүкчө коду төмөндө келтирилген:
#кошуу
#кошуу
// MCP9808 I2C дареги 0x18 (24)
#define Addr 0x18
float cTemp = 0, fTemp = 0;
жараксыз орнотуу ()
{
// Өзгөрмөнү коюу
Particle.variable ("i2cdevice", "MCP9808");
Particle.variable ("cTemp", cTemp);
// I2C байланышын MASTER катары баштаңыз
Wire.begin ();
// Сериялык байланышты баштоо, байдын ылдамдыгын орнотуу = 9600
Serial.begin (9600);
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// Конфигурация реестрин тандоо
Wire.write (0x01);
// Үзгүлтүксүз которуу режими, Power-up демейки
Wire.write (0x00);
Wire.write (0x00);
// I2C берүүнү токтотуу
Wire.endTransmission ();
// I2C берүүнү баштоо
Wire.beginTransmission (Addr);
// чечим rgister тандаңыз
Wire.write (0x08);
// Чечим = +0.0625 / C
Wire.write (0x03);
// I2C берүүнү токтотуу
Wire.endTransmission ();
кечигүү (300);
}
боштук цикл ()
{
кол коюлбаган int маалыматтары [2];
// I2C байланышын баштайт
Wire.beginTransmission (Addr);
// Маалымат реестрин тандоо
Wire.write (0x05);
// I2C өткөрүүнү токтотуу
Wire.endTransmission ();
// 2 байт маалымат сураңыз
Wire.requestFrom (Addr, 2);
// 2 байт маалыматтарды окуңуз
// темп msb, temp lsb
эгер (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
кечигүү (300);
// Маалыматтарды 13 битке айландырыңыз
int temp = ((маалымат [0] & 0x1F) * 256 + маалымат [1]);
эгер (температурасы> 4095)
{
темп -= 8192;
}
cTemp = temp * 0.0625;
fTemp = cTemp * 1.8 + 32;
// Маалыматтарды тактасына чыгаруу
Particle.publish ("Цельсий боюнча температура:", String (cTemp));
Particle.publish ("Фаренгейттеги температура:", String (fTemp));
кечигүү (500);
}
Particle.
Сенсор чыгаруу үчүн жогорудагы сүрөттө көрсөтүлгөн.
4 -кадам: Тиркемелер:

MCP9808 Санариптик Температура Сенсорунда өнөр жайлык тоңдургучтар жана муздаткычтар, ар кандай тамак -аш процессорлору камтылган, өнөр жай деңгээлиндеги бир нече тиркемелер бар. Бул сенсор ар кандай жеке компьютерлерде, серверлерде жана башка PC перифериялык түзүлүштөрүндө колдонулушу мүмкүн.
Сунушталууда:
MCP9808 жана Raspberry Pi колдонуу менен температураны көзөмөлдөө: 4 кадам

MCP9808 жана Raspberry Pi аркылуу температураны көзөмөлдөө: MCP9808 - бул абдан так санарип температура сенсору ± 0,5 ° C I2C мини модулу. Алар температураны сезүү колдонмолорун жеңилдетүүчү колдонуучу программалоочу реестрлер менен камтылган. MCP9808 жогорку тактыктагы температура сенсору тармакка айланды
MCP9808 жана Arduino Nano аркылуу температураны көзөмөлдөө: 4 кадам

MCP9808 жана Arduino Nano аркылуу температураны көзөмөлдөө: MCP9808 - бул абдан так санарип температура сенсору ± 0,5 ° C I2C мини модулу. Алар температураны сезүү колдонмолорун жеңилдетүүчү колдонуучу программалоочу реестрлер менен камтылган. MCP9808 жогорку тактыктагы температура сенсору тармакка айланды
SHT25 жана Particle Photon аркылуу температура жана нымдуулукту көзөмөлдөө: 5 кадам

SHT25 жана Particle Photon аркылуу температураны жана нымдуулукту көзөмөлдөө: Биз жакында температуранын жана нымдуулуктун мониторингин талап кылган ар кандай долбоорлордо иштедик, анан бул эки параметр системанын иштөө эффективдүүлүгүн баалоодо негизги ролду ойной турганын түшүндүк. Экөө тең
TMP112 жана Particle Photon колдонуп температураны өлчөө: 4 кадам

TMP112 жана Particle Photon колдонуп температураны өлчөө: TMP112 Жогорку тактык, аз кубаттуулук, I2C MINI санарип температура сенсору. TMP112 узартылган температураны өлчөө үчүн идеалдуу. Бул түзмөк калибрлөөнү же тышкы компоненттин сигналын кондициялоону талап кылбастан ± 0,5 ° C тактыкты сунуштайт
LM75BIMM жана Particle Photon колдонуп температураны өлчөө: 4 кадам

LM75BIMM жана Particle Photon аркылуу температураны өлчөө: LM75BIMM - термикалык күзөтчү менен коштолгон санарип температура сенсору жана анын иштешин 400 кГцке чейин колдогон эки зымдуу интерфейси бар. Бул программалоочу чеги жана гистерсиси бар ашыкча температурага ээ. Бул окуу куралы интерфейсин