Difference between revisions of "Druckmesungen"

From phyphox
Jump to navigation Jump to search
 
Line 4: Line 4:
 
  | Sensors = MPRLS
 
  | Sensors = MPRLS
 
}}
 
}}
 
 
 
[[File:PressureSensor2.jpg]]
 
 
[[File:PressureSensor1.jpg]]
 
 
 
Der Drucksensor MPRLS ermöglicht Absolutdruckmessungen im Bereich 0 bis 25 PSI (1,72 bar). Die Auflösung ist so gut, dass sich 1 m Höhendifferenz auflösen lassen.  Die barometrische Höhenstufe auf Meeresniveaus beträgt 1 hPa auf 8 m.
 
Der Drucksensor MPRLS ermöglicht Absolutdruckmessungen im Bereich 0 bis 25 PSI (1,72 bar). Die Auflösung ist so gut, dass sich 1 m Höhendifferenz auflösen lassen.  Die barometrische Höhenstufe auf Meeresniveaus beträgt 1 hPa auf 8 m.
  
  
 
Die Verdrahtung ist wie üblich bei I2C-Sensoren trivial: 3V3 – Vin, Gnd – Gnd, SCL – 22, SDA –21. Schlauerweise wurde kein Foto gemacht, bevor der Sensor mit Spiegeltape aufgeklebt und alles schön mit Schrumpfschlauch verpackt wurde.
 
Die Verdrahtung ist wie üblich bei I2C-Sensoren trivial: 3V3 – Vin, Gnd – Gnd, SCL – 22, SDA –21. Schlauerweise wurde kein Foto gemacht, bevor der Sensor mit Spiegeltape aufgeklebt und alles schön mit Schrumpfschlauch verpackt wurde.
 +
 
Verbindet man den Sensor mit einem dünnen Schlauch, kann man auch sehr gut den Schweredruck in Flüssigkeiten messen.
 
Verbindet man den Sensor mit einem dünnen Schlauch, kann man auch sehr gut den Schweredruck in Flüssigkeiten messen.
  
 +
<gallery widths=500px heights=400px>
 +
File:PressureSensor2.jpg|Verkabelung
 +
File:PressureSensor1.jpg|Aufbau eines Experimentes
 +
</gallery>
  
 
==Setup==
 
==Setup==
Line 27: Line 25:
 
Es ist darauf zu achten, dass jeder ESP32 eine eigene Kennung hat (diese wird in ''PhyphoxBLE::start("Barometer_01")'' festgelegt). Anschließend kann über das Plus-Symbol in phyphox ein Bluetooth-Experiment hinzugefügt werden, das Experiment wird dann automatisch geladen.
 
Es ist darauf zu achten, dass jeder ESP32 eine eigene Kennung hat (diese wird in ''PhyphoxBLE::start("Barometer_01")'' festgelegt). Anschließend kann über das Plus-Symbol in phyphox ein Bluetooth-Experiment hinzugefügt werden, das Experiment wird dann automatisch geladen.
  
Der Sensor ist sehr schnell. Deshalb wird stark gemitelt.
+
Der Sensor ist sehr schnell. Deshalb wird stark gemittelt.
 
 
  
 
<pre>
 
<pre>
 
 
#include <Wire.h>
 
#include <Wire.h>
 
#include "Adafruit_MPRLS.h"
 
#include "Adafruit_MPRLS.h"
 
#include <phyphoxBle.h>
 
#include <phyphoxBle.h>
 +
 
float Messwert;
 
float Messwert;
 
#define RESET_PIN -1
 
#define RESET_PIN -1
 
#define EOC_PIN -1
 
#define EOC_PIN -1
 
Adafruit_MPRLS mpr = Adafruit_MPRLS(RESET_PIN, EOC_PIN);
 
Adafruit_MPRLS mpr = Adafruit_MPRLS(RESET_PIN, EOC_PIN);
 +
 
void setup() {
 
void setup() {
PhyphoxBLE::start("Barometer_01");
+
  PhyphoxBLE::start("Barometer_01");
//Experiment
+
  //Experiment
PhyphoxBleExperiment experiment;
+
  PhyphoxBleExperiment experiment;
experiment.setTitle("Barometer_01");
+
  experiment.setTitle("Barometer_01");
experiment.setCategory("Arduino Experiments");
+
  experiment.setCategory("Arduino Experiments");
experiment.setDescription("Plot the pressure over time.");
+
  experiment.setDescription("Plot the pressure over time.");
//View
+
  //View
PhyphoxBleExperiment::View view;
+
  PhyphoxBleExperiment::View view;
//Value
+
  //Value
PhyphoxBleExperiment::Value Value1;
+
  PhyphoxBleExperiment::Value Value1;
Value1.setLabel("p = ");
+
  Value1.setLabel("p = ");
Value1.setUnit("hPa");
+
  Value1.setUnit("hPa");
Value1.setChannel(1);
+
  Value1.setChannel(1);
//Graph
+
  //Graph
PhyphoxBleExperiment::Graph graph;
+
  PhyphoxBleExperiment::Graph graph;
graph.setLabel("Druck");
+
  graph.setLabel("Druck");
graph.setUnitX("s");
+
  graph.setUnitX("s");
graph.setUnitY("hPa");
+
  graph.setUnitY("hPa");
graph.setLabelX("time");
+
  graph.setLabelX("time");
graph.setLabelY("p");
+
  graph.setLabelY("p");
view.addElement(graph);
+
  view.addElement(graph);
view.addElement(Value1);
+
  view.addElement(Value1);
experiment.addView(view);
+
  experiment.addView(view);
PhyphoxBLE::addExperiment(experiment);
+
  PhyphoxBLE::addExperiment(experiment);
Serial.begin(38400);
+
  Serial.begin(38400);
mpr.begin();
+
  mpr.begin();
 
}
 
}
 +
 
void loop() {
 
void loop() {
Messwert=0;
+
  Messwert=0;
for(int i=0;i<37;i++){
+
  for(int i=0;i<37;i++){
Messwert+=mpr.readPressure();
+
    Messwert+=mpr.readPressure();
delay(10);
+
    delay(10);
 +
  }
 +
 
 +
  Messwert=Messwert/37;
 +
  PhyphoxBLE::write(Messwert);
 +
  Serial.println(Messwert);
 +
  delay(10);
 
}
 
}
Messwert=Messwert/37;
+
</pre>
PhyphoxBLE::write(Messwert);
 
Serial.println(Messwert);
 
delay(10);
 
}
 
 
 
  
</pre>
 
 
[[Category:Arduino library experiments]]
 
[[Category:Arduino library experiments]]

Latest revision as of 15:23, 21 September 2023

Druckmessungen
Experiment Druckmessungen
Category Arduino library experiments
Used sensors MPRLS

Der Drucksensor MPRLS ermöglicht Absolutdruckmessungen im Bereich 0 bis 25 PSI (1,72 bar). Die Auflösung ist so gut, dass sich 1 m Höhendifferenz auflösen lassen. Die barometrische Höhenstufe auf Meeresniveaus beträgt 1 hPa auf 8 m.


Die Verdrahtung ist wie üblich bei I2C-Sensoren trivial: 3V3 – Vin, Gnd – Gnd, SCL – 22, SDA –21. Schlauerweise wurde kein Foto gemacht, bevor der Sensor mit Spiegeltape aufgeklebt und alles schön mit Schrumpfschlauch verpackt wurde.

Verbindet man den Sensor mit einem dünnen Schlauch, kann man auch sehr gut den Schweredruck in Flüssigkeiten messen.

Setup

Die Verdrahtung ist wie üblich bei I2C-Sensoren trivial: 3V3 – Vin, Gnd – Gnd, SCL – 22, SDA –21. Schlauerweise wurde kein Foto gemacht, bevor der Sensor mit Spiegeltape aufgeklebt und alles schön mit Schrumpfschlauch verpackt wurde. Verbindet man den Sensor mit einem dünnen Schlauch, kann man auch sehr gut den Schweredruck in Flüssigkeiten messen. Achtung: aufpassen, dass keine Flüssigkeit über die Kapillarwirkung in den Sensor gerät.

Programming

Der ESP32 wird über die Arduino IDE programmiert. Es müssen die Definitionen für den ESP32 und die phyphox-Bibliothek installiert sein. Siehe dazu das Video unter Category: Arduino library experiments.

Es ist darauf zu achten, dass jeder ESP32 eine eigene Kennung hat (diese wird in PhyphoxBLE::start("Barometer_01") festgelegt). Anschließend kann über das Plus-Symbol in phyphox ein Bluetooth-Experiment hinzugefügt werden, das Experiment wird dann automatisch geladen.

Der Sensor ist sehr schnell. Deshalb wird stark gemittelt.

#include <Wire.h>
#include "Adafruit_MPRLS.h"
#include <phyphoxBle.h>

float Messwert;
#define RESET_PIN -1
#define EOC_PIN -1
Adafruit_MPRLS mpr = Adafruit_MPRLS(RESET_PIN, EOC_PIN);

void setup() {
  PhyphoxBLE::start("Barometer_01");
  //Experiment
  PhyphoxBleExperiment experiment;
  experiment.setTitle("Barometer_01");
  experiment.setCategory("Arduino Experiments");
  experiment.setDescription("Plot the pressure over time.");
  //View
  PhyphoxBleExperiment::View view;
  //Value
  PhyphoxBleExperiment::Value Value1;
  Value1.setLabel("p = ");
  Value1.setUnit("hPa");
  Value1.setChannel(1);
  //Graph
  PhyphoxBleExperiment::Graph graph;
  graph.setLabel("Druck");
  graph.setUnitX("s");
  graph.setUnitY("hPa");
  graph.setLabelX("time");
  graph.setLabelY("p");
  view.addElement(graph);
  view.addElement(Value1);
  experiment.addView(view);
  PhyphoxBLE::addExperiment(experiment);
  Serial.begin(38400);
  mpr.begin();
}

void loop() {
  Messwert=0;
  for(int i=0;i<37;i++){
    Messwert+=mpr.readPressure();
    delay(10);
  }

  Messwert=Messwert/37;
  PhyphoxBLE::write(Messwert);
  Serial.println(Messwert);
  delay(10);
}