
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51


MCP9808 - жоғары дәлдіктегі сандық температура сенсоры ± 0,5 ° C I2C шағын модулі. Олар температураны сезуді қолдануды жеңілдететін пайдаланушы бағдарламалайтын регистрлермен біріктірілген. MCP9808 жоғары дәлдіктегі температура датчигі формалық фактор мен интеллект тұрғысынан өнеркәсіптік стандартқа айналды, ол сандық, I2C форматында калибрленген, сызықты сенсор сигналдарын береді.
Бұл оқулықта MCP9808 сенсорлық модулінің фотонды бөлшектермен байланысы көрсетілген. Температура мәндерін оқу үшін біз I2c адаптерімен таңқурай пи қолдандық, бұл 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)
#анықта 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);
// Үздіксіз түрлендіру режимі, Қуатты қосу әдепкі
Wire.write (0x00);
Wire.write (0x00);
// I2C берілуін тоқтату
Wire.endTransmission ();
// I2C берілуін бастау
Wire.beginTransmission (Addr);
// Рұқсатты тіркеушіні таңдаңыз
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 байт деректерді оқу
// temp msb, temp lsb
егер (Wire.available () == 2)
{
деректер [0] = Wire.read ();
деректер [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.variable () функциясы сенсордың шығысын сақтау үшін айнымалылар жасайды және Particle.publish () функциясы сайттың бақылау тақтасында шығуды көрсетеді.
Сенсор шығысы жоғарыдағы суретте көрсетілген.
4 -қадам: Өтініштер:

MCP9808 цифрлық температура сенсорында өнеркәсіптік мұздатқыштар мен тоңазытқыштар, сонымен қатар әр түрлі тағамдық процессорлар бар салалық деңгейдегі бірнеше қосымшалар бар. Бұл сенсорды әр түрлі дербес компьютерлерде, серверлерде және басқа да компьютерлердің қосымша құрылғыларында қолдануға болады.
Ұсынылған:
MPU-6000 мен бөлшек фотонының көмегімен қозғалысты бақылау: 4 қадам

MPU-6000 мен бөлшек фотонының көмегімен қозғалысты бақылау: MPU-6000-6 осьті қозғалысты бақылау сенсоры, оның ішінде 3 осьті акселерометр мен 3 осьті гироскоп бар. Бұл сенсор үш өлшемді жазықтықта объектінің нақты орналасуы мен орнын тиімді бақылауға қабілетті. Оны пайдалануға болады
TMP112 мен бөлшек фотонының көмегімен температураны өлшеу: 4 қадам

TMP112 мен бөлшек фотонының көмегімен температураны өлшеу: TMP112 жоғары дәлдіктегі, төмен қуатты, сандық температура сенсоры I2C MINI модулі. TMP112 температураны өлшеу үшін өте қолайлы. Бұл құрылғы калибрлеуді немесе сыртқы компоненттік сигналды баптауды қажет етпестен ± 0,5 ° C дәлдігін ұсынады
HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: 4 қадам

HIH6130 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: HIH6130 - бұл цифрлық шығысы бар ылғалдылық пен температура сенсоры. Бұл датчиктер ± 4% RH дәлдік деңгейін қамтамасыз етеді. Өнеркәсіптің жетекші ұзақ мерзімді тұрақтылығымен, шынайы температуралық компенсацияланған сандық I2C, өнеркәсіптің сенімділігі, энергия тиімділігі
HTS221 мен бөлшек фотонының көмегімен ылғалдылық пен температураны өлшеу: 4 қадам

HTS221 мен бөлшектер фотонының көмегімен ылғалдылық пен температураны өлшеу: HTS221 - салыстырмалы ылғалдылық пен температураның ультра жинақы сыйымдылықты сандық сенсоры. Ол сандық серия арқылы өлшеу ақпаратын беру үшін сенсорлық элементті және аралас сигналға арналған арнайы интегралды схеманы (ASIC) қамтиды
LM75BIMM мен бөлшек фотонының көмегімен температураны өлшеу: 4 қадам

LM75BIMM мен Particle Photon көмегімен температураны өлшеу: LM75BIMM - бұл термиялық бақылаушы қосылған және 400 кГц жиілікке дейін жұмыс істейтін екі сымды интерфейсі бар сандық температура сенсоры. Бағдарламаланатын шегі мен гистерезі бар жоғары температура шығысы бар. Бұл оқулықта интерфаксин