Video: Tutorial senzor de presiune și temperatură Arduino AMS5812_0050-D-B: 4 pași
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
AMS5812 Senzor de presiune amplificat cu ieșiri analogice și digitale este un senzor de înaltă precizie cu o ieșire analogică de tensiune și interfață digitală I2C. Acesta combină un element de detectare piezorezistiv cu un element de condiționare a semnalului pentru funcționarea sa. Iată demonstrația sa cu arduino nano.
Pasul 1: De ce ai nevoie..
1. Arduino Nano
2. AMS5812_0050-D-B
3. Cablu I²C
4. Scutul I2C pentru Arduino Nano
Pasul 2: Conexiuni:
Luați un scut I2C pentru Arduino Nano și împingeți-l ușor peste pinii Nano.
Apoi conectați capătul unui cablu I2C la senzorul AMS5812_0050-D-B și celălalt capăt la ecranul I2C.
Conexiunile sunt afișate în imaginea de mai sus.
Pasul 3: Cod:
Codul Arduino pentru AMS5812_0050-D-B poate fi descărcat din depozitul nostru GitHub-Magazinul Dcube.
Iată linkul pentru același lucru:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Includem biblioteca Wire.h pentru a facilita comunicarea I2c a senzorului cu placa Arduino.
De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:
// Distribuit cu o licență de liberă voință.
// Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.
// AMS5812
// Acest cod este conceput pentru a funcționa cu AMS5812_I2CS_0050-D-B Mini Modul I2C disponibil în Magazinul Dcube.
#include
// Adresa I2C AMS5812 este 0x78 (120)
#define Addr 0x78
configurare nulă ()
{
// Inițializați comunicarea I2C ca MASTER
Wire.begin ();
// Inițializați comunicarea serială, setați rata de transmisie = 9600
Serial.begin (9600);
întârziere (300);
}
bucla nulă ()
{
date int nesemnate [4];
întârziere (500);
// Solicitați 4 octeți de date
Wire.requestFrom (Addr, 4);
// Citiți 4 octeți de date
// presiune msb, presiune lsb, temp msb, temp lsb
if (Wire.available () == 4)
{
date [0] = Wire.read ();
date [1] = Wire.read ();
date [2] = Wire.read ();
date [3] = Wire.read ();
}
// Conversia datelor
presiune de plutire = ((date [0] & 0xFF) * 256 + (date [1] & 0xFF));
float temp = ((date [2] & 0xFF) * 256 + (date [3] & 0xFF));
presiune = ((presiune - 3277.0) / ((26214.0) / 10.0)) - 5,0;
float cTemp = ((temp - 3277.0) / ((26214.0) / 110.0)) - 25.0;
float fTemp = (cTemp * 1,8) + 32;
// Ieșire date pe monitorul serial
Serial.print ("Presiune:");
Serial.print (presiune);
Serial.println ("PSI");
Serial.print ("Temperatura în grade Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatura în Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
întârziere (500);
}
Pasul 4: Aplicații:
AMS5812 este un senzor de presiune amplificat și poate fi utilizat în sisteme în care urmează să se efectueze măsurarea statică și dinamică a presiunii și măsurarea presiunii barometrice. Acesta joacă un rol esențial în monitorizarea vidului, monitorizarea debitului de gaz, măsurarea nivelului de fluid, precum și instrumentația medicală.