Difference between revisions of "An external pressure sensor"
Jump to navigation
Jump to search
(Created page with "{{Infobox Experiment | Name = An external pressure sensor | Category = Arduino library experiments | Sensors = Magentic Field }} Text Sensor =...") |
|||
| Line 19: | Line 19: | ||
<pre> | <pre> | ||
| − | #include < | + | #include <Wire.h> |
| − | + | #include "Adafruit_MPRLS.h" | |
| − | + | #include <phyphoxBle.h> | |
float Messwert; | float Messwert; | ||
| − | + | #define RESET_PIN -1 | |
| − | + | #define EOC_PIN -1 | |
| − | + | Adafruit_MPRLS mpr = Adafruit_MPRLS(RESET_PIN, EOC_PIN); | |
void setup() { | void setup() { | ||
| − | + | PhyphoxBLE::start("Barometer_01"); | |
| − | |||
//Experiment | //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() { | 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); | delay(10); | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| + | |||
</pre> | </pre> | ||
Revision as of 10:12, 25 August 2023
An external pressure sensor
| Experiment | An external pressure sensor |
|---|---|
| Category | Arduino library experiments |
| Used sensors | Magentic Field |
Text
Setup
Programmierung
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("Magnetfeldsensor_01") festgelegt). Anschließend kann über das Plus-Symbol in phyphox ein Bluetooth-Experiment hinzugefügt werden, das Experiment wird dann automatisch geladen.
#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);
}
Arbeitsmaterialien
Ein mögliches Schülerarbeitsblatt (aktuelle Sicherheitsrichtlinien nach RISU beachten!): File:AB Magnetfeldsensor Spule.pdf
