para el ventilador

Dependencies:   QEI FastPWM

Committer:
miguelangel_2511
Date:
Mon Apr 20 21:58:36 2020 +0000
Revision:
7:f4e248182d31
Child:
8:208d965a3bd2
Se agregaron sensores de presion, cuyos valores medidos son mostrados en la pantalla.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
miguelangel_2511 7:f4e248182d31 1
miguelangel_2511 7:f4e248182d31 2 #include "mbed.h"
miguelangel_2511 7:f4e248182d31 3 #include "stdint.h"
miguelangel_2511 7:f4e248182d31 4 #include "project_defines.h"
miguelangel_2511 7:f4e248182d31 5 #include "pressure_sensors.h"
miguelangel_2511 7:f4e248182d31 6
miguelangel_2511 7:f4e248182d31 7
miguelangel_2511 7:f4e248182d31 8 /* Object definition */
miguelangel_2511 7:f4e248182d31 9 I2C pressure_sensor_01(PRESSURE_SENSOR_01_SDA_PIN, PRESSURE_SENSOR_01_SCL_PIN);
miguelangel_2511 7:f4e248182d31 10 I2C pressure_sensor_02(PRESSURE_SENSOR_02_SDA_PIN, PRESSURE_SENSOR_02_SCL_PIN);
miguelangel_2511 7:f4e248182d31 11
miguelangel_2511 7:f4e248182d31 12 /* Global variable definition */
miguelangel_2511 7:f4e248182d31 13 uint16_t pressure_01_bin, pressure_02_bin, diff_pressure_bin;
miguelangel_2511 7:f4e248182d31 14 float pressure_01_psi, pressure_02_psi;
miguelangel_2511 7:f4e248182d31 15 float diff_pressure_psi;
miguelangel_2511 7:f4e248182d31 16
miguelangel_2511 7:f4e248182d31 17 char sensor_read_data_buffer[2];
miguelangel_2511 7:f4e248182d31 18
miguelangel_2511 7:f4e248182d31 19 /* Function definition */
miguelangel_2511 7:f4e248182d31 20
miguelangel_2511 7:f4e248182d31 21 void Pressure_Sensors_Initialize(void){
miguelangel_2511 7:f4e248182d31 22 pressure_sensor_01.frequency(PRESSURE_SENSOR_I2C_CLK_HZ );
miguelangel_2511 7:f4e248182d31 23 pressure_sensor_02.frequency(PRESSURE_SENSOR_I2C_CLK_HZ );
miguelangel_2511 7:f4e248182d31 24 }
miguelangel_2511 7:f4e248182d31 25
miguelangel_2511 7:f4e248182d31 26
miguelangel_2511 7:f4e248182d31 27 void Pressure_Sensors_Read(void){
miguelangel_2511 7:f4e248182d31 28
miguelangel_2511 7:f4e248182d31 29 /* Read binary values */
miguelangel_2511 7:f4e248182d31 30 pressure_sensor_01.read(PRESSURE_SENSOR_01_SRA, sensor_read_data_buffer, 2);
miguelangel_2511 7:f4e248182d31 31 pressure_01_bin = ((sensor_read_data_buffer[0] << 8) | sensor_read_data_buffer[1]) & 0x3FFF;
miguelangel_2511 7:f4e248182d31 32 pressure_sensor_02.read(PRESSURE_SENSOR_02_SRA, sensor_read_data_buffer, 2);
miguelangel_2511 7:f4e248182d31 33 pressure_02_bin = ((sensor_read_data_buffer[0] << 8) | sensor_read_data_buffer[1]) & 0x3FFF;
miguelangel_2511 7:f4e248182d31 34 diff_pressure_bin = pressure_01_bin - pressure_02_bin;
miguelangel_2511 7:f4e248182d31 35
miguelangel_2511 7:f4e248182d31 36 /* Calculate pressure values in PSI */
miguelangel_2511 7:f4e248182d31 37 pressure_01_psi = (5.0 * pressure_01_bin) / 16383;
miguelangel_2511 7:f4e248182d31 38 pressure_02_psi = (5.0 * pressure_02_bin) / 16383;
miguelangel_2511 7:f4e248182d31 39 diff_pressure_psi = (5.0 * diff_pressure_bin) / 16383;
miguelangel_2511 7:f4e248182d31 40
miguelangel_2511 7:f4e248182d31 41 }
miguelangel_2511 7:f4e248182d31 42
miguelangel_2511 7:f4e248182d31 43