Zum Inhalt

AGR12 Digitaler Drucksensor

Der AGR12 ist ein digitaler Drucksensor zur präzisen Messung von
Relativdruck (Gauge Pressure).
Die Messwerte werden temperaturkompensiert über eine I²C-Schnittstelle ausgegeben.

Ideal für Embedded-Systeme, Automatisierung und IoT-Anwendungen


Übersicht

  • Messgröße: Relativdruck
  • Messbereich: 0 – 100 kPa (modellabhängig)
  • Sensortyp: Digital
  • Schnittstelle: I²C
  • Auflösung: 16 Bit
  • Versorgungsspannung: 3,0 – 5,25 V

Typische Anwendungen

  • Medizin- und Labortechnik
  • Drucküberwachungssysteme
  • Pneumatische Steuerungen
  • Embedded- und IoT-Projekte

Technische Daten

Parameter Wert
Schnittstelle I²C
I²C-Adresse 0x50
Auflösung 16 Bit
Datenformat kPa × 10
Temperaturkompensation ✔ integriert

Pinbelegung

Pin Name Beschreibung
1 VCC Versorgungsspannung
2 GND Masse
3 SCL I²C-Takt
4 SDA I²C-Daten
5–6 N/C Nicht belegt

Anschluss an Arduino Uno

AGR12 Arduino Uno
VCC 5V
GND GND
SCL A5
SDA A4

Kommunikation (I²C)

  • Bus: I²C
  • Messbefehl: 0xAC 0x12
  • Wartezeit: ≥ 80 ms
  • Daten: 2 Byte Messwert + 1 Byte CRC

Der Druckwert wird als kPa × 10 übertragen.


Beispielcode (Arduino)

#include <Wire.h>

#define AGR12_ADDR 0x50

bool readAGR12(float &pressure_kPa, uint8_t &crc) {
  Wire.beginTransmission(AGR12_ADDR);
  Wire.write(0xAC);
  Wire.write(0x12);
  if (Wire.endTransmission() != 0) return false;
  delay(100); 
  Wire.requestFrom(AGR12_ADDR, (uint8_t)3);
  if (Wire.available() < 3) return false;
  uint8_t data0 = Wire.read();
  uint8_t data1 = Wire.read();
  crc = Wire.read();
  int16_t raw = (int16_t)((data0 << 8) | data1);
  pressure_kPa = raw / 10.0f;
  return true;
}

void setup() {
  Serial.begin(9600);
  Wire.begin();
  Wire.setClock(30000);   
  Serial.println("Test AGR12 (I2C) - mode stable");
}
void loop() {
  float p;
  uint8_t crc;

  if (readAGR12(p, crc)) {
    Serial.print("Pression = ");
    Serial.print(p, 1);
    Serial.print(" kPa | CRC = 0x");
    if (crc < 16) Serial.print("0");
    Serial.println(crc, HEX);
  } else {
    Serial.println("Fehler beim Lesen des Sensors");
  }
  delay(500);
}

Hinweise

  • Nach dem Einschalten eine kurze Initialisierungszeit des Sensors abwarten
  • Die ausgegebenen Messwerte sind Relativdruckwerte
  • Kleine Abweichungen um 0 kPa sind normal und durch Toleranzen bedingt
  • Für präzisere Ergebnisse wird eine softwarebasierte Offset-Korrektur empfohlen
  • Den Sensor nicht außerhalb des spezifizierten Druckbereichs betreiben

Revision

Version Datum Änderung
1.0 2026-01-13 Erstausgabe