Integrate digital pressure sensor

This commit is contained in:
2022-12-15 14:56:07 -07:00
parent aba9954053
commit 451cefdae0
9 changed files with 431 additions and 5 deletions
+17 -4
View File
@@ -2,6 +2,7 @@
#include <Arduino.h>
#include "hardware.h"
#include "XGZP.h"
bool simulating = false;
double simulatedPressure = 0.0;
@@ -11,6 +12,18 @@ double pressureChangeRate = 0.0;
double deflateOffsetMultiplier = 0.0;
double inflateOffsetMultiplier = 0.0;
double offsetMultiplier = 0.0;
float value = 1;
XGZP sensor;
void initHardware() {
Serial.println("Initializing hardware...");
if(!sensor.begin()){
Serial.printf("Error initializing Sensor\n Locking up.");
while(1);
}
}
void initSimulation() {
simulating = true;
@@ -39,8 +52,8 @@ void measurePressure(double &pressureValue) {
adjusted *= offsetMultiplier;
pressureValue = 0.99 * pressureValue + 0.01 * adjusted;
} else {
int sensorValue = analogRead(PRESSURE_SENSOR_PIN);
double adjusted = 0.098 * sensorValue - 16.56 + 3.58;
sensor.read(&value);
double adjusted = 1.368 * value - 6.4;
pressureValue = 0.99 * pressureValue + 0.01 * adjusted;
}
}
@@ -51,8 +64,8 @@ void resamplePressure(double &pressureValue) {
adjusted *= offsetMultiplier;
pressureValue = adjusted;
} else {
int sensorValue = analogRead(PRESSURE_SENSOR_PIN);
double adjusted = 0.098 * sensorValue - 16.56 + 3.58;
sensor.read(&value);
double adjusted = 1.368 * value - 6.4;
pressureValue = adjusted;
}
}