/// Пин для подключения датчика
const int sensorPin = A0; // заменить на нужный аналоговый вход
void setup() {
Serial.begin(115200); // Инициализация сериал-монитора
pinMode(sensorPin, INPUT);
}
void loop() {
// Чтение аналогового сигнала (0-4095 для 12-битных АЦП ESP32, 0-1023 для Arduino)
int rawValue = analogRead(sensorPin);
// Преобразование в напряжение (учитывая диапазон АЦП)
// Для ESP32: диапазон 0-4095, для Arduino: 0-1023
float voltage;
#if defined(ESP32)
voltage = (rawValue / 4095.0) * 3.6; // 3.6 В — максимальное измеряемое напряжение
#else
voltage = (rawValue / 1023.0) * 5.0; // для Arduino, если питание 5 В
#endif
// Преобразование напряжения в давление
// В соответствии с характеристиками датчика:
// 0.1 В — минимальное давление (-100 кПа)
// 3.1 В — максимальное давление (+200 кПа)
float pressure_kPa = ((voltage - 0.1) / (3.1 - 0.1)) * (200 + 100) - 100;
// Расчёт: давление в кПа, из напряжения
// Вывод результата
Serial.print("Давление: ");
Serial.print(pressure_kPa, 2);
Serial.println(" кПа");
delay(500); // интервал обновления
}