Какова единица измерения для данных о давлении, которые я собираю, используя FSR sesnor с Arduino? - PullRequest
0 голосов
/ 30 апреля 2020

Я написал код на Arduino для записи давления, приложенного к датчику FSR, подключенному к выводу A0. Вот мой код

int pressureAnalogPin = 0; //pin where our pressure pad is located.
int pressureReading; //variable for storing our reading
bool active = false; //boolean to check whether arduino should be sending pressure values 

void setup() 
{ 
    Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop() 
{
    if (Serial.available()) //checks if data is coming in
        { 
        char read = Serial.read(); //Set varaiable read to data read from mobile
        if (read == 'g') //if read is equal to character 'g' set boolean active to true 
        { 
            active = true;
        }
        if (read == 'x') //if read is equal to character 'x' set boolean active to false 
        { 
            active = false;
        }
    }
    if (active == true) //Only send data to phone when boolean active is set to true
    {   
        pressureReading = analogRead(pressureAnalogPin); // Set varaible pressureReading to the pressure value recorded by FSR 
        Serial.print(pressureReading); //Send pressure value to mobile phone
    }
    delay(100);// a delay of 100ms in loop
}

Я получаю результаты от 0 до 1023. Я провел эксперимент, увеличив вес над датчиком давления.

Результаты эксперимента Excel

Выше приведена диаграмма Excel, показывающая увеличение веса и зарегистрированного давления.

Может кто-нибудь сообщить мне, что это за единица измерения давления?

1 Ответ

0 голосов
/ 30 апреля 2020

Поскольку вы дали уже измеренный и откалиброванный датчик весом 50–800 грамм в соответствии с вашим Excel, у вас есть возможность использовать два метода (при условии, что вы используете ту же настройку, что и при калибровке.

Oprion один программно с картой

map(value, fromLow, fromHigh, toLow, toHigh)

для каждого интервала

map(measuredValue, 974, 978, 351, 400)

, который в вашем случае будет давать очень неточные измерения, как если бы вы имели, если и чем карта.

Или вы вычисляете весь диапазон с помощью функции интерполяции EXCEL, которая получается для каждой из 1024 точек данных на грамм, которое вы сохраняете в массиве и извлекаете с помощью:

gramValue = interpolatedArray[measuredValue];

НО для реального использования, которое вам, вероятно, понадобится дополнительная схема, данные калибровки производителей и стабильный источник питания. Для игры и изучения этого снимка и надеюсь, что его метод попадания в порядке.

И это рекомендация продавцов:

Эти датчики просты в настройке и отлично подходят для измерения давления, но они не невероятно точны. Используйте их чтобы определить, сжимается ли он, но вы, возможно, не захотите использовать его в качестве шкалы

Таблица данных для датчика, включая все калибровочные цепи

...