Inhaltsverzeichnis:
Video: Arduino AMS5812_0050-D-B Druck- und Temperatursensor Tutorial - Gunook
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
Der verstärkte Drucksensor AMS5812 mit analogen und digitalen Ausgängen ist ein hochpräziser Sensor mit analogem Spannungsausgang und digitaler I2C-Schnittstelle. Es kombiniert ein piezoresistives Sensorelement mit einem Signalaufbereitungselement für seinen Betrieb. Hier ist seine Demonstration mit Arduino Nano.
Schritt 1: Was Sie brauchen.
1. Arduino Nano
2. AMS5812_0050-D-B
3. I²C-Kabel
4. I2C-Schild für Arduino Nano
Schritt 2: Anschlüsse:
Nehmen Sie ein I2C-Shield für Arduino Nano und schieben Sie es vorsichtig über die Pins von Nano.
Verbinden Sie dann das eine Ende des I2C-Kabels mit dem AMS5812_0050-D-B-Sensor und das andere Ende mit der I2C-Abschirmung.
Die Anschlüsse sind im Bild oben dargestellt.
Schritt 3: Code:
Der Arduino-Code für AMS5812_0050-D-B kann von unserem GitHub-Repository-Dcube Store heruntergeladen werden.
Hier der Link dazu:
github.com/DcubeTechVentures/AMS5812-0050-D-B
Wir binden die Bibliothek Wire.h ein, um die I2c-Kommunikation des Sensors mit dem Arduino-Board zu erleichtern.
Sie können den Code auch von hier kopieren, er wird wie folgt angegeben:
// Wird mit einer frei wählbaren Lizenz vertrieben.
// Verwenden Sie es, wie Sie wollen, gewinnbringend oder kostenlos, sofern es in die Lizenzen der zugehörigen Werke passt.
// AMS5812
// Dieser Code wurde entwickelt, um mit dem AMS5812_I2CS_0050-D-B I2C Mini-Modul zu arbeiten, das im Dcube Store erhältlich ist.
#enthalten
// AMS5812 I2C-Adresse ist 0x78(120)
#define Addr 0x78
Void-Setup ()
{
// I2C-Kommunikation als MASTER initialisieren
Wire.begin();
// Serielle Kommunikation initialisieren, Baudrate = 9600. einstellen
Serial.begin (9600);
Verzögerung (300);
}
Leere Schleife ()
{
unsignierte int-Daten[4];
Verzögerung (500);
// 4 Byte Daten anfordern
Wire.requestFrom(Addr, 4);
// 4 Byte Daten lesen
// Druck msb, Druck lsb, temp msb, temp lsb
if (Draht.verfügbar() == 4)
{
data[0] = Wire.read();
data[1] = Wire.read();
data[2] = Wire.read();
Daten[3] = Wire.read();
}
// Konvertieren Sie die Daten
Schwimmerdruck = ((data[0] & 0xFF) * 256 + (data[1] & 0xFF));
Float-Temp = ((Daten[2] & 0xFF) * 256 + (Daten[3] & 0xFF));
Druck = ((Druck - 3277,0) / ((26214.0) / 10,0)) - 5,0;
Schwimmer cTemp = ((temp - 3277,0) / ((26214.0) / 110,0)) - 25,0;
Schwimmer fTemp = (cTemp * 1,8) + 32;
// Daten an seriellen Monitor ausgeben
Serial.print ("Druck:");
Serial.print (Druck);
Serial.println ("PSI");
Serial.print ("Temperatur in Celsius: ");
Serial.print (cTemp);
Serial.println("C");
Serial.print ("Temperatur in Fahrenheit: ");
Serial.print (fTemp);
Serial.println("F");
Verzögerung (500);
}
Schritt 4: Anwendungen:
Der AMS5812 ist ein verstärkter Drucksensor und kann in Systemen eingesetzt werden, in denen statische und dynamische Druckmessungen sowie barometrische Druckmessungen durchgeführt werden sollen. Es spielt eine zentrale Rolle bei der Vakuumüberwachung, der Gasflussüberwachung, der Füllstandsmessung sowie der medizinischen Instrumentierung.