Commit 2da24931950fe78f801930839a30fed92d8856c1
1 parent
232c7713
--no commit message
Showing
3 changed files
with
32 additions
and
5 deletions
Project/applications/smartcities/adc.h
@@ -12,7 +12,7 @@ | @@ -12,7 +12,7 @@ | ||
12 | #define ADCbatt_MIN_VALUE (0) | 12 | #define ADCbatt_MIN_VALUE (0) |
13 | #define ADCbatt_MAX_VALUE (0xfff) /* 12-bit adc */ | 13 | #define ADCbatt_MAX_VALUE (0xfff) /* 12-bit adc */ |
14 | #define ADCbatt_VREF_PLUS (3300) /* Vref+ is connected with Vdda (3.3v) */ | 14 | #define ADCbatt_VREF_PLUS (3300) /* Vref+ is connected with Vdda (3.3v) */ |
15 | -#define ADCbatt_VREF_MINUS (0) /* Vref- is connected with Vssa (0v) */ | 15 | +#define ADCbatt_VREF_MINUS (2300) /* Vref- is connected with Vssa (2.1v) */ |
16 | 16 | ||
17 | #define ADCsound_MIN_VALUE (0) | 17 | #define ADCsound_MIN_VALUE (0) |
18 | #define ADCsound_MAX_VALUE (0xfff) /* 12-bit adc */ | 18 | #define ADCsound_MAX_VALUE (0xfff) /* 12-bit adc */ |
Project/applications/smartcities/include/sensors.h
@@ -12,9 +12,11 @@ | @@ -12,9 +12,11 @@ | ||
12 | #define DISTANCE_ADDR 0x01 | 12 | #define DISTANCE_ADDR 0x01 |
13 | #define PRESSURE_ADDR 0x77 //Cambiar a MPL115A | 13 | #define PRESSURE_ADDR 0x77 //Cambiar a MPL115A |
14 | #define HUMIDITY_TEMP_ADDR 0x27 | 14 | #define HUMIDITY_TEMP_ADDR 0x27 |
15 | -#define SOUND_ADDR 0x27 | 15 | +#define SOUND_ADDR 0x72 |
16 | //REMEMBER TO UPDATE I2C_scan ROUTINE WITH EACH NEW SENSOR!!!! | 16 | //REMEMBER TO UPDATE I2C_scan ROUTINE WITH EACH NEW SENSOR!!!! |
17 | -#define TOTAL_SENSORS 4 | 17 | +#define TOTAL_SENSORS 5 |
18 | + | ||
19 | +#define BATTERY_ADDR 0x00 //SIEMPRE PRESENTE, NUNCA BUSCAR EN i2c_scan | ||
18 | 20 | ||
19 | typedef struct { | 21 | typedef struct { |
20 | uint8_t ID; | 22 | uint8_t ID; |
@@ -81,4 +83,10 @@ void init_sound(void); | @@ -81,4 +83,10 @@ void init_sound(void); | ||
81 | uint32_t get_sound_data(void); | 83 | uint32_t get_sound_data(void); |
82 | char* sound_value(uint32_t sound); | 84 | char* sound_value(uint32_t sound); |
83 | 85 | ||
86 | +//BATTERY SENSOR | ||
87 | + | ||
88 | +void init_battery(void); | ||
89 | +uint32_t get_battery_data(void); | ||
90 | +char* battery_value(uint32_t sound); | ||
91 | + | ||
84 | #endif | 92 | #endif |
Project/applications/smartcities/sensors.c
@@ -4,6 +4,8 @@ sensor light_sensor = {LIGHT_ADDR, "Light sensor", "illumination", "lux",NULL} | @@ -4,6 +4,8 @@ sensor light_sensor = {LIGHT_ADDR, "Light sensor", "illumination", "lux",NULL} | ||
4 | sensor ultrasound_sensor = {DISTANCE_ADDR, "Ultrasound sensor", "distance", "cm",NULL}; | 4 | sensor ultrasound_sensor = {DISTANCE_ADDR, "Ultrasound sensor", "distance", "cm",NULL}; |
5 | sensor pressure_sensor = {PRESSURE_ADDR, "Pressure sensor", "pressure", "kPa",NULL}; | 5 | sensor pressure_sensor = {PRESSURE_ADDR, "Pressure sensor", "pressure", "kPa",NULL}; |
6 | sensor humidity_temp_sensor = {HUMIDITY_TEMP_ADDR, "Humidity and Temperature","ºC,RH",NULL}; | 6 | sensor humidity_temp_sensor = {HUMIDITY_TEMP_ADDR, "Humidity and Temperature","ºC,RH",NULL}; |
7 | +sensor sound_sensor = {SOUND_ADDR, "Sound sensor","mV",NULL}; | ||
8 | +sensor battery = {BATTERY_ADDR, "Battery Level","mV",NULL}; | ||
7 | 9 | ||
8 | uint32_t get_light_data(void) | 10 | uint32_t get_light_data(void) |
9 | { | 11 | { |
@@ -297,8 +299,25 @@ uint32_t get_sound_data(void) | @@ -297,8 +299,25 @@ uint32_t get_sound_data(void) | ||
297 | } | 299 | } |
298 | char* sound_value(uint32_t sound) | 300 | char* sound_value(uint32_t sound) |
299 | { | 301 | { |
300 | - char *value = chHeapAlloc(NULL,21 + 1); | ||
301 | - sprintf(value,"%d",(unsigned int)sound); | 302 | + char *value = chHeapAlloc(NULL,11 + 1); |
303 | + sprintf(value,"%4u",(unsigned int)sound); | ||
304 | + return value; | ||
305 | +} | ||
306 | + | ||
307 | +void init_battery(void) | ||
308 | +{ | ||
309 | + adc_batt_init(); | ||
310 | +} | ||
311 | + | ||
312 | +uint32_t get_battery_data(void) | ||
313 | +{ | ||
314 | + return adc_batt_process(); | ||
315 | +} | ||
316 | + | ||
317 | +char* battery_value(uint32_t sound) | ||
318 | +{ | ||
319 | + char *value = chHeapAlloc(NULL,11 + 1); | ||
320 | + sprintf(value,"%4u",(unsigned int)sound); | ||
302 | return value; | 321 | return value; |
303 | } | 322 | } |
304 | 323 |