Мазмұны:

Arduino Nano - SI7050 температура сенсоры оқулығы: 4 қадам
Arduino Nano - SI7050 температура сенсоры оқулығы: 4 қадам

Бейне: Arduino Nano - SI7050 температура сенсоры оқулығы: 4 қадам

Бейне: Arduino Nano - SI7050 температура сенсоры оқулығы: 4 қадам
Бейне: Использование Melexis MLX90614 Инфракрасный термометр с Arduino 2024, Шілде
Anonim
Image
Image

SI7050 - бұл I2C байланыс протоколында жұмыс істейтін және барлық жұмыс кернеуі мен температура диапазонында жоғары дәлдікті ұсынатын сандық температура сенсоры. Датчиктің бұл жоғары дәлдігіне сигналды өңдеумен және аналогты дизайнмен байланысты. Бұл датчиктер калибрлеу деректерін сақтайтын микросхемалық жадымен қамтылған, бұл оны кең ауқымда қолдануға мүмкіндік береді. Міне, оның Arduino Nano -мен көрсетуі.

1 -қадам: Сізге не керек..

Сізге не керек.. !!
Сізге не керек.. !!

1. Ардуино Нано

2. SI7050

3. I²C кабелі

4. Arduino Nano үшін I²C қалқаны

2 -қадам: Қосылу:

Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу
Қосылу

Arduino Nano үшін I2C қалқанын алып, оны нано түйреуіштерінен ақырын басыңыз.

Содан кейін I2C кабелінің бір ұшын SI7050 сенсорына, екінші ұшын I2C қалқанына қосыңыз.

Қосылымдар жоғарыдағы суретте көрсетілген.

3 -қадам: код:

Код
Код

SI7050 үшін arduino кодын біздің github репозиторийінен жүктеуге болады-DCUBE дүкені.

Міне, сол үшін сілтеме:

github.com/DcubeTechVentures/SI7050/blob/master/Arduino/SI7050.ino

Біз сенсордың Arduino тақтасымен I2c байланысын жеңілдету үшін Wire.h кітапханасын қосамыз.

Сіз кодты осы жерден көшіре аласыз, ол келесі түрде берілген:

// Ерікті лицензиямен таратылды.

// Оны қалаған жолмен пайдаланыңыз немесе тегін, егер ол онымен байланысты жұмыстардың лицензиясына сәйкес келсе.

// SI7050

// Бұл код SI7050_I2CS I2C шағын модулімен жұмыс жасауға арналған

#қосу

// SI7050 I2C мекенжайы - 0x40 (64)

#анықтайтын Addr 0x40

жарамсыз орнату ()

{

// I2C байланысын MASTER ретінде баптаңыз

Wire.begin ();

// Сериялық байланысты орнатыңыз, жіберу жылдамдығы = 9600

Serial.begin (9600);

// I2C жіберуді бастау

Wire.beginTransmission (Addr);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (300);

}

бос цикл ()

{

қол қойылмаған int деректері [2];

// I2C жіберуді бастау

Wire.beginTransmission (Addr);

// Температураны өлшеу пәрменін жіберіңіз, ҰСТАУШЫ ЖОҚ

Wire.write (0xF3);

// I2C берілуін тоқтату

Wire.endTransmission ();

кешіктіру (500);

// 2 байт деректерді сұрау

Wire.requestFrom (Addr, 2);

// 2 байт деректерді оқу

// temp msb, temp lsb

егер (Wire.available () == 2)

{

деректер [0] = Wire.read ();

деректер [1] = Wire.read ();

}

// Деректерді түрлендіру

float temp = ((деректер [0] * 256.0) + деректер [1]);

float ctemp = ((175.72 * temp) / 65536.0) - 46.85;

float ftemp = ctemp * 1.8 + 32;

// Деректерді сериялық мониторға шығару

Serial.print («Цельсий бойынша температура:»);

Serial.print (ctemp);

Serial.println («C»);

Serial.print («Фаренгейт температурасы:»);

Serial.print (ftemp);

Serial.println («F»);

кешіктіру (500);

}

4 -қадам: Өтініштер:

SI7050 әр түрлі жүйелерге енгізілуі мүмкін, оның ішінде компьютерлік жабдықтар, портативті тұтыну құрылғылары мен медициналық жабдықтар. Бұл сенсорды суық сақтау тізбектерінде, активтерді бақылауда, сондай -ақ әр түрлі өнеркәсіптік басқару жүйелерінде қолдануға болады. Ол батареяны қорғауда да маңызды рөл атқарады.

Ұсынылған: