Team APP
/
APP6
Code APP6
Revision 1:b868d04610be, committed 2017-04-04
- Comitter:
- GaiSensei
- Date:
- Tue Apr 04 19:55:17 2017 +0000
- Parent:
- 0:4101acb9ab42
- Commit message:
- GG
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed-rtos.lib | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Tue Apr 04 16:28:49 2017 +0000 +++ b/main.cpp Tue Apr 04 19:55:17 2017 +0000 @@ -1,9 +1,24 @@ +///////////////////////////////////////////////////////////// +// APP 6: Propriétés des matériaux et capteurs // +// // +// Université de Sherbrooke // +// Génie informatique // +// Session 5, Hiver 2017 // +// // +// Date: 5 avril 2017 // +// // +// Auteurs: Maxime Dupuis, dupm2216 // +// Bruno Allaire-Lemay, allb2701 // +///////////////////////////////////////////////////////////// + #include "mbed.h" +#include "rtos.h" #include <cmath> - + const float coefficients[6] = {4.7378, -9.0288, 14.136, -10.126, 3.2801, -0.3927}; AnalogIn input(p15); +//Lit la tension sur la pin 15 et effectue la conversion analogue à digitale sur 16 bits. Retourne la tension lue en volts. float read_voltage() { const float ratio = 19859.4; @@ -11,6 +26,7 @@ return voltage / ratio; } +//Calcul le niveau du liquide à partir des coefficients de la courbe de régression et de la tension lue. float get_liquid_level_cm(const float* coefficients, const int number_of_coefficients, const float hall_sensor_voltage) { float liquid_level_cm = 54; @@ -21,16 +37,23 @@ return liquid_level_cm; } -int main() +//Appel les fonctions de lecture et de calcul du niveau. Affiche le niveau. +void read_and_display_level_cm(void const *args) { float voltage; float liquid_level_cm; + voltage = read_voltage(); + liquid_level_cm = get_liquid_level_cm(coefficients, 6, voltage); + printf("Niveau du liquide (cm) : %f\r\n", liquid_level_cm); +} + +//Lit, calcul et affiche le niveau du liquide à toutes les 50 millisecondes. +int main() +{ + RtosTimer timer(read_and_display_level_cm, osTimerPeriodic); + timer.start(50); 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); } -} +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-rtos.lib Tue Apr 04 19:55:17 2017 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/users/mbed_official/code/mbed-rtos/#58563e6cba1e