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 09: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