Мазмуну:

Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: 4 кадам
Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: 4 кадам

Video: Arduino AMS5812_0050-D-B басымы жана температура сенсорунун үйрөткүчү: 4 кадам
Video: SKR Pro v1.2 - TMC2225 UART 2024, Ноябрь
Anonim
Image
Image

AMS5812 аналогдук жана санариптик чыгуулары бар күчөтүлгөн басым сенсору - аналогдук чыңалуусу жана санарип I2C интерфейси бар жогорку тактыктагы сенсор. Ал пьезорезисттивдүү сезүүчү элементти иштетүү үчүн сигналды кондициялоочу элемент менен айкалыштырат. Бул жерде анын демонстрациясы arduino nano.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

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

2. AMS5812_0050-D-B

3. I²C кабели

4. Arduino Nano үчүн I2C Shield

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Arduino Nano үчүн I2C калканчын алыңыз жана аны акырындык менен Нанонун казыктарына түртүңүз.

Андан кийин I2C кабелинин бир учун AMS5812_0050-D-B сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

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

Код
Код

AMS5812_0050-D-B үчүн Arduino кодун биздин GitHub репозиторийи-Dcube дүкөнүнөн көчүрүп алса болот.

Мына ушуга шилтеме:

github.com/DcubeTechVentures/AMS5812-0050-D-B

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

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

// Эркин лицензия менен таратылган.

// Аны каалагандай колдон, пайда же бекер, эгер ал ага байланыштуу чыгармаларынын лицензиясына туура келсе.

// AMS5812

// Бул код Dcube Storeдо жеткиликтүү AMS5812_I2CS_0050-D-B I2C Mini Module менен иштөө үчүн иштелип чыккан.

#кошуу

// AMS5812 I2C дареги 0x78 (120)

#define Addr 0x78

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

{

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Сериялык байланышты баштоо, байдын ылдамдыгын = 9600

Serial.begin (9600);

кечигүү (300);

}

боштук цикл ()

{

кол коюлбаган int маалыматтары [4];

кечигүү (500);

// 4 байт маалымат сураңыз

Wire.requestFrom (Addr, 4);

// 4 байт маалыматтарды окуңуз

// басым msb, басым lsb, temp msb, temp lsb

эгер (Wire.available () == 4)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

маалымат [3] = Wire.read ();

}

// Маалыматты конвертациялоо

калкыма басым = ((маалымат [0] & 0xFF) * 256 + (маалымат [1] & 0xFF));

float temp = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));

басым = ((басым - 3277.0) / ((26214.0) / 10.0)) - 5.0;

float cTemp = ((темп - 3277.0) / ((26214.0) / 110.0)) - 25.0;

float fTemp = (cTemp * 1.8) + 32;

// Маалыматтарды сериялык мониторго чыгаруу

Serial.print ("Басым:");

Serial.print (басым);

Serial.println ("PSI");

Serial.print ("Цельсий боюнча температура:");

Serial.print (cTemp);

Serial.println ("C");

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

Serial.print (fTemp);

Serial.println ("F");

кечигүү (500);

}

4 -кадам: Тиркемелер:

AMS5812 - күчөтүлгөн басым сенсору жана аны статикалык жана динамикалык басым өлчөө жана барометрдик басым өлчөө жүргүзүлө турган системаларда колдонсо болот. Бул вакуумдук мониторингде, газдын агымын көзөмөлдөөдө, суюктуктун деңгээлин өлчөөдө, ошондой эле медициналык приборлордо негизги ролду ойнойт.

Сунушталууда: