Video: Arduino AMS5812_0050-D-B Handleiding vir druk- en temperatuursensor: 4 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
AMS5812 Amplified Pressure Sensor met analoge en digitale uitsette is 'n hoë presisie sensor met 'n analoog spanningsuitset en digitale I2C koppelvlak. Dit kombineer 'n piëoresistiewe waarnemingselement met 'n seinkondisioneringselement vir die werking daarvan. Hier is die demonstrasie met arduino nano.
Stap 1: wat u nodig het..
1. Arduino Nano
2. AMS5812_0050-D-B
3. I²C -kabel
4. I2C -skild vir Arduino Nano
Stap 2: Verbindings:
Neem 'n I2C -skild vir Arduino Nano en druk dit saggies oor die penne van Nano.
Koppel dan die een kant van die I2C-kabel aan die AMS5812_0050-D-B-sensor en die ander kant aan die I2C-skild.
Verbindings word op die foto hierbo getoon.
Stap 3: Kode:
Die Arduino-kode vir AMS5812_0050-D-B kan afgelaai word uit ons GitHub repository-Dcube-winkel.
Hier is die skakel vir dieselfde:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Ons bevat biblioteek Wire.h om die I2c -kommunikasie van die sensor met die Arduino -bord te vergemaklik.
U kan die kode ook hiervandaan kopieer; dit word soos volg gegee:
// Versprei met 'n vrywillige lisensie.
// Gebruik dit op enige manier wat u wil, wins of gratis, mits dit in die lisensies van die gepaardgaande werke pas.
// AMS5812
// Hierdie kode is ontwerp om te werk met die AMS5812_I2CS_0050-D-B I2C Mini Module wat beskikbaar is in Dcube Store.
#insluit
// AMS5812 I2C adres is 0x78 (120)
#definieer Addr 0x78
leemte opstelling ()
{
// Initialiseer I2C -kommunikasie as MASTER
Wire.begin ();
// Initialiseer seriële kommunikasie, stel baud rate = 9600 in
Serial.begin (9600);
vertraging (300);
}
leemte lus ()
{
ongetekende int data [4];
vertraging (500);
// Versoek 4 grepe data
Wire.requestFrom (Addr, 4);
// Lees 4 grepe data
// druk msb, druk lsb, temp msb, temp lsb
as (Wire.available () == 4)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
data [2] = Wire.read ();
data [3] = Wire.read ();
}
// Skakel die data om
vlotdruk = ((data [0] & 0xFF) * 256 + (data [1] & 0xFF));
float temp = ((data [2] & 0xFF) * 256 + (data [3] & 0xFF));
druk = ((druk - 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;
// Uitset data na die seriële monitor
Serial.print ("Druk:");
Reeks.afdruk (druk);
Serial.println ("PSI");
Serial.print ("Temperatuur in Celsius:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Temperatuur in Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
vertraging (500);
}
Stap 4: Aansoeke:
AMS5812 is 'n versterkte druksensor en kan gebruik word in stelsels waar statiese en dinamiese drukmeting en barometriese drukmeting uitgevoer moet word. Dit speel 'n deurslaggewende rol in vakuummonitering, gasvloei -monitering, vloeistofvlakmeting sowel as mediese instrumente.