Team APP
/
APP6
Code APP6
main.cpp
- Committer:
- GaiSensei
- Date:
- 2017-04-04
- Revision:
- 0:4101acb9ab42
- Child:
- 1:b868d04610be
File content as of revision 0:4101acb9ab42:
#include "mbed.h" #include <cmath> const float coefficients[6] = {4.7378, -9.0288, 14.136, -10.126, 3.2801, -0.3927}; AnalogIn input(p15); float read_voltage() { const float ratio = 19859.4; float voltage = (float) input.read_u16(); return voltage / ratio; } float get_liquid_level_cm(const float* coefficients, const int number_of_coefficients, const float hall_sensor_voltage) { float liquid_level_cm = 54; for(int i=0; i<number_of_coefficients; i++) { liquid_level_cm -= pow(hall_sensor_voltage, (float)i) * coefficients[i]; } return liquid_level_cm; } int main() { float voltage; float liquid_level_cm; while(1) { voltage = read_voltage(); liquid_level_cm = get_liquid_level_cm(coefficients, 6, voltage); printf("Niveau du liquide (cm) : %f\r\n", liquid_level_cm); } }