Мазмұны:
- 1 -қадам: Қажетті жабдық:
- 2 -қадам: Жабдықты қосу:
- 3 -қадам: Температураны өлшеу коды:
- 4 -қадам: Өтініштер:
Бейне: MCP9803 және бөлшек фотонының көмегімен температураны өлшеу: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
MCP9803-екі сымды жоғары дәлдіктегі температура сенсоры. Олар температураны сезуді қолдануды жеңілдететін пайдаланушы бағдарламалайтын регистрлермен біріктірілген. Бұл сенсор температураны бақылаудың көп аймақтық жүйесі үшін өте қолайлы.
Бұл оқулықта 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
Serial.begin (9600);
// I2C берілуін бастау
Wire.beginTransmission (Addr);
// Конфигурация регистрін таңдаңыз
Wire.write (0x01);
// Үздіксіз түрлендіру режимі, Қуатты қосу әдепкі
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
егер (Wire.available () == 2)
{
деректер [0] = Wire.read ();
деректер [1] = Wire.read ();
}
// Деректерді 12 битке түрлендіру
int temp = ((деректер [0] * 256) + деректер [1]) / 16.0;
егер (температура> 2047)
{
температура -= 4096;
}
cTemp = temp * 0.0625;
fTemp = cTemp * 1.8 + 32;
// Деректерді сериялық мониторға шығару
Particle.publish («Цельсий бойынша температура:», String (cTemp));
Particle.publish («Фаренгейт температурасы:», String (fTemp));
кешіктіру (500);
}
Particle.variable () функциясы сенсордың шығысын сақтау үшін айнымалылар жасайды және Particle.publish () функциясы сайттың бақылау тақтасында шығуды көрсетеді.
Сенсор шығысы жоғарыдағы суретте көрсетілген.
4 -қадам: Өтініштер:
MCP9803 дербес компьютер мен перифериялық құрылғыларды, қатты дискілерді, әр түрлі ойын -сауық жүйелерін, кеңсе жүйелерін және мәліметтермен байланыс жүйелерін қамтитын көптеген құрылғыларда қолдануға болады. Бұл сенсорды әр түрлі күрделі жүйелерге қосуға болады.
Ұсынылған:
STS21 және бөлшек фотонының көмегімен температураны өлшеу: 4 қадам
STS21 мен бөлшек фотонының көмегімен температураны өлшеу: STS21 сандық температура сенсоры жоғары өнімділікті және кеңістікті үнемдеуге мүмкіндік береді. Ол сандық, I2C форматында калибрленген, сызықты сигналдарды береді. Бұл сенсорды жасау CMOSens технологиясына негізделген, ол жоғары деңгейге жатады
TMP112 мен бөлшек фотонының көмегімен температураны өлшеу: 4 қадам
TMP112 мен бөлшек фотонының көмегімен температураны өлшеу: TMP112 жоғары дәлдіктегі, төмен қуатты, сандық температура сенсоры I2C MINI модулі. TMP112 температураны өлшеу үшін өте қолайлы. Бұл құрылғы калибрлеуді немесе сыртқы компоненттік сигналды баптауды қажет етпестен ± 0,5 ° C дәлдігін ұсынады
ADT75 және бөлшек фотонының көмегімен температураны өлшеу: 4 қадам
ADT75 және бөлшек фотонының көмегімен температураны өлшеу: ADT75 - бұл өте дәл, сандық температура сенсоры. Ол температуралық диапазон мен цифрландыруға арналған диапазонды цифрлық түрлендіргіштен және диапазондағы айырмашылықтан тұрады. Оның жоғары сезімтал сенсоры оны маған жеткілікті сауатты етеді
HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: 4 қадам
HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: HIH6130 - бұл цифрлық шығысы бар ылғалдылық пен температура сенсоры. Бұл датчиктер ± 4% RH дәлдік деңгейін қамтамасыз етеді. Өнеркәсіптің жетекші ұзақ мерзімді тұрақтылығымен, шынайы температуралық компенсацияланған сандық I2C, өнеркәсіптің сенімділігі, энергия тиімділігі
AD7416ARZ және бөлшек фотонының көмегімен температураны өлшеу: 4 қадам
AD7416ARZ және фотондық бөлшектерді қолдану арқылы температураны өлшеу: AD7416ARZ-бұл цифрлық түрлендіргіштерге аналогы бар төрт арналы аналогы бар 10 биттік температура сенсоры және оған қосылған борттық температура сенсоры. Бөлшектердегі температура сенсорына мультиплексорлық арналар арқылы қол жеткізуге болады. Бұл жоғары дәлдіктегі температура