• No se han encontrado resultados

2. OBJETIVOS

9.3 Evaluación del plan de trabajo

En el siguiente esquema se observa el plan de trabajo trazado en la propuesta de proyecto de grado, en donde se puede evaluar que en cuanto a la implementación de la comunicación BLE y LoRa fue desarrollada de a forma deseada, y que el hecho de no encontrar un sensor apropiado para un sistema microfluídico hizo suponer una reestructuración en todo el proyecto, que se empezó con una investigación para luego realizar un proceso de diseño de un sensor, el cual debe cumplir con un proceso de caracterización riguroso, del que se espera un proceso de continuación.

10 DISCUSIÓN

Como se denotó en el anterior literal, se logró un profundo estudio y el desarrollo del diseño de un sensor de flujo térmico, el cual consta de un mayor número de etapas, que posiblemente hagan retroalimentación a anteriores procesos de diseño, tal y como sucedió con la resistencia de contacto entre los paths y los cables de los sensores, que no fueron lo suficientemente determinantes para que se logre una adecuada integración de una salida de voltaje a dicha respuesta.

Proyecto de Grado

Santiago Tovar- Sistema de comunicación de bajo consumo para la medición de caudal en válvulas de agua en sistemas microfluídicos

SEMANAS Duración del plan

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

Familiarización Feather (BLE Y LoRa) 1 2 100% Prueba de envío de datos 1 2 100% Estudio Protocolo LoRa 2 2 100% Estudio Sensores de caudal 2 6 100% Prueba envío de datos larga distancia 2 2 80% Elección sensor caudal 4 5 100% Acoplamineto sensor y comunicación 2 16 30% Pruebas básico funcionamiento 5 13 60%

Protocolo pruebas 1 12 6 70%

Protocolo pruebas 2 14 4 30%

Caracterización sistema 13 5 60% Consideraciones finales y conclusiones 17 1 100%

78%

ACTIVIDAD INICIO DEL PLAN DURACIÓN DEL PLAN

PORCENTAJE COMPLETADO

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

38

También es motivo de discusión el modelamiento teórico de la resistencia obtenida, ya que se debe hacer un mayor análisis del impacto de tener un punto de contacto determinado en un área superficial, y como éste puede afectar en la variación de una respuesta. Ahora, se encontró luego que los efectos de la resistividad en películas delgadas tienen que considerarse usando un modelo distinto. Eso sí, la resistividad eléctrica de una película delgada aumentará a medida que el grosor de esa película disminuya de tamaño. Además, la resistividad eléctrica también aumentará a medida que aumenta la temperatura. Pero a través de varios estudios experimentales, se entiende que cuando los materiales se reducen a dimensiones en la nano escala, muchas de las propiedades o características que muestran en forma masiva ya no son válidas. Se ha demostrado que las propiedades mecánicas, termodinámicas, eléctricas y ópticas están alteradas debido a la diferencia de tamaño. Las razones de este cambio en las propiedades se deben al aumento de las interacciones de la superficie, así como a los efectos de absorción y dispersión[31].

Variación de la resistividad ante cambios del ancho de una placa de cobre bajo dos distintos procesos de manufactura (a y b) [31]

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

39

Por ello es necesario realizar un estudio más profundo para encontrar adaptar un modelo teórico más preciso a dicha resistencia, tanto en la capa de cobre como en la de cromo, y también especificar que el método de VPD puede llegar a afectar también la resistividad del material. Así mismo, determinar cuál es el modelo en placas nanométricas para la variación de resistividad con la temperatura.

En cuanto al uso de cobre y cromo también puede llegar a replantearse usar el Platino o el níquel para su elaboración debido a que son por excelencia las resistencias utilizadas en el mercado, debido a su mayor variación en la resistividad por cambios de temperatura, eso sí, teniendo en cuenta que su comportamiento ya no será lineal, por lo que necesitará de una mejor adecuación de la señal para obtener los resultados esperados.

También es necesario un redimensionamiento a la placa diseñada, tanto como de sus paths como de la superficie de contacto con el flujo, y de paso, buscar dentro de la caracterización de estos sensores si es necesario realizar una redistribución del orden en que se encuentra los sensores y el calentamiento, tanto en su posición, como en la distancia entre ellos, con el objetivo de también implementar de una mejor forma en el sistema el comportamiento teórico y así el funcionamiento del sensor de flujo calorimétrico.

Por lo anteriormente discutido se llega a la conclusión de que también dicho diseño hizo frenar el proceso de implementar un mejor sistema de enlace entre la comunicación de las tarjetas, que mostrase información propiamente de flujos en microsistemas.

11 CONCLUSIONES

• Se logró implementar un sistema de comunicación entre un celular y una tarjeta Adafruit® Feather 32u4 Bluefruit, en donde se lleva a cabo envío y recepción de datos por medio de un servicio característico en atributos genéricos GATT. Así mismo se desarrolló una aplicación de esta por medio de MIT® AppInventor2. • Se logró una comunicación para un sensor comercial YF.S401 por medio del

protocolo de modulación LoRa mediante una Adafruit® Feather M0 RFM95, enviando bit a bit el mensaje del valor del flujo obtenido.

• Se llegó a la conclusión de que no era posible implementar un sensor comercial para sistemas microfluídicos de bajo costo, por lo que se procedió a realizar una etapa de investigación y diseño de un sistema térmico de flujos en sistemas microfluídicos.El costo de la implementación de éste sensor es menor al de uno comercial, el cual está avaluado en $5.000.000COP, el cual durante su desarrollo ha dejado un costo de $300.000 COP, esto sin tener en cuenta el sistema de comunicación que se busca incorporar, que en total de costos de las dos tarjetas sería de $280.000 aproximadamente; además, es necesario tener en cuenta el costo de manufacturación en sala limpia por PVD de la placa que contiene el

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

40

calentador y los sensores. Todo esto tendrá un mayor sentido si se es continuado el proyecto para obtener así un prototipo totalmente funcional.

• Existe una incoherencia entre la resistencia modelada teóricamente y la obtenida en práctica, esto debido a que el modelamiento teórico para placas nanométricas es distinto al modelo principalmente planteado, también debe tenerse en cuenta la superficie de contacto con la que se evalúa el valor de dicha resistencia, por el contacto del cable con el que se pretende acoplar a un sistema de adecuación de la variación de la resistencia de los sensores en cuanto a cambio de flujo térmico. • Se puede llegar a realizar un buen sistema que tenga el respaldo de una cámara

térmica, la cual de llegar a ser acoplada al microcontrolador daría una mejor respuesta a lo que se espera como valor del flujo de salida.

• Se puede llegar a realizar un reajuste a la distribución y las distancias del calentador y los sensores, con el objetivo de implementar además un sensor de flujo calorimétrico y obtener una mejor respuesta a un cambio de la resistencia del sensor debido a determinado flujo térmico.

12 AGRADECIMIENTOS

Agradezco a Dios, a mis padres, a mis hermanos, por todo el apoyo para llevar a cabo este proyecto en diferentes perspectivas. Un gran agradecimiento a mi asesor Johann Osma, tanto por hacer un excelente acompañamiento en distintas etapas del proyecto, como por conducirme a un grupo de trabajo en CMUA, en donde debo agradecer en a personas como Cesar Hernández, quien tiene un especial agradecimiento por su acompañamiento en la última etapa del proyecto, a Juliana Noguera, por sus constantes apoyos, al igual que los aportes de Brayan Ariza, Paula Peñaranda, Oscar Corzo y a todas las personas que hicieron parte de este proceso en pequeños momentos como Ana, Katerine, Miguel, Vihlai y demás amigos que fueron un especial apoyo, así como a Chente.

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

41

13 REFERENCIAS

[1] "Objetivos de Desarrollo Sostenible", El PNUD en Colombia, 2019. [Online]. Disponible: http://www.co.undp.org/content/colombia/es/home/sustainable-development-goals.html. [Acceso: 29- May- 2019].

[2] C. Radio, "En el país se desperdicia el 43 % del agua: U. de la Sabana", Caracol

Radio, 2019. [Online]. Disponible:

https://caracol.com.co/radio/2017/03/23/nacional/1490285432_157802.html. [Acceso: 29- May- 2019].

[3] "Salvar agua en Bogotá", Eltiempo.com, 2019. [Online]. Disponible: https://www.eltiempo.com/Multimedia/especiales/salvar_agua_bogota/. [Acceso: 29- May- 2019].

[4] Cepal.org, 2019. [Online]. Disponible:

https://www.cepal.org/ilpes/noticias/paginas/1/52961/Doc-86.pdf. [Acceso: 29- May- 2019].

[5] "En Colombia se desperdicia el 43% del agua potable, según Planeación Nacional", Noticias RCN, 2019. [Online]. Disponible: https://noticias.canalrcn.com/nacional-pais/colombia-se-desperdicia-el-43-del-agua-potable-segun-planeacion-nacional. [Acceso: 29- May- 2019].

[6]Indigoo.com, 2019. [Online]. Disponible:

http://indigoo.com/dox/itdp/12_MobileWireless/LPWAN.pdf. [Acceso: 26- Sep- 2019]. [7]M. Maceli, "EnviroPi: Taking a DIY Internet-of-Things approach to an environmental monitoring system", Code4Lib Journal, no. 42, 08-11-2018, 2018. Disponible: https://journal.code4lib.org/articles/13943. [Acceso 26 September 2019].

[8]"Adafruit Feather 32u4 Bluefruit LE", Adafruit Learning System, 2019. [Online]. Disponible: https://learn.adafruit.com/adafruit-feather-32u4-bluefruit-le/overview. [Acceso: 01- Sep- 2019].

[9] "Medidor de agua con comunicación LoRa® ciclométrico TECUN - Beyond Ideas", TECUN - Beyond Ideas, 2019. [Online]. Disponible: https://tecun.com/medidores/medidor-de-agua-con-comunicacion-lora-ciclometrico-tecun/. [Acceso: 29- May- 2019].

[10]"LoRaWAN y LoRa", Lorawan.es, 2019. [Online]. Disponible: https://lorawan.es/. [Acceso: 01- Sep- 2019].

[11]"Adafruit Feather M0 Radio with LoRa Radio Module", Adafruit Learning System, 2019. [Online]. Disponible: https://learn.adafruit.com/adafruit-feather-m0-radio-with-lora-radio-module?view=all. [Acceso: 01- Sep- 2019].

[12]"YF-S401", 5.imimg.com, 2019. [Online]. Disponible: https://5.imimg.com/data5/VQ/ME/MY-1833510/yf-s401-pvc-water-flow-hall-sensor-flowmeter-counter-wh.pdf. [Acceso: 16- Sep- 2019].

[13]"Manejo de Interrupciones", Facultad de Ingeniería Universidad Nacional de Mar de

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

42

http://www3.fi.mdp.edu.ar/electrica/opt_archivos/arduino/Manejo_de_Interrupciones.p df. [Acceso: 19- Sep- 2019].

[14]MIT App inventor2. MIT, 2019.

[15]"A COMPARATIVE ANALYSIS OF THERMAL FLOW SENSING IN BIOMEDICAL APPLICATIONS", International Journal of Biomedical Engineering and Science (IJBES), Vol. 3, No. 3, July 2016, 2019. [Online]. Available: https://arxiv.org/ftp/arxiv/papers/1608/1608.03603.pdf. [Accessed: 18- Sep- 2019]. [16]"MFS - Microfluidic flow sensors - Elveflow", Elveflow, 2019. [Online]. Available:

https://www.elveflow.com/microfluidic-flow-control-products/microfluidic-flow-control-module/microfluidic-liquid-mass-flow-sensors/. [Accessed: 18- Sep- 2019]. [17]W. Wu, P. Rezai, H. Hsu and P. Selvaganapathy, "Materials and methods for the microfabrication of microfluidic biomedical devices", Microfluidic Devices for Biomedical Applications, pp. 3-62, 2013. Available: 10.1533/9780857097040.1.3 [Accessed 23 November 2019].

[18]P. Abgrall and A. Gué, "Lab-on-chip technologies: making a microfluidic network and coupling it into a complete microsystem—a review", Journal of Micromechanics and Microengineering, vol. 17, no. 5, pp. R15-R49, 2007. Available: 10.1088/0960-1317/17/5/r01 [Accessed 26 November 2019].

[19] Y. Ren, S. Ray and Y. Liu, "Reconfigurable Acrylic-tape Hybrid Microfluidics", Scientific Reports, vol. 9, no. 1, 2019. Available: 10.1038/s41598-019-41208-y [Accessed 21 November 2019].

[20] Memsic Transducer Systems Co, "FLOW SENSING MODULE WITH BYPASS CHANNEL", US 2018/0066970 A1, 2018.

[21] T. Dinh, N. Nguyen and D. Dao, Thermoelectrical Effect in SiC for High-Temperature MEMS Sensors. Singapore: Springer Singapore, 2018, pp. 90-97.

[22] "Resistencia en Materiales y aleaciones", Universidad Politécnica de Valencia, 2019. [Online]. Available: https://www.upv.es/materiales/Fcm/Fcm08/pfcm8_3_3.html. [Accessed: 28- Nov- 2019].

[23] J. Kuo, L. Yu and E. Meng, "Micromachined Thermal Flow Sensors—A Review", Micromachines, vol. 3, no. 3, pp. 550-573, 2013. Available: 10.3390/mi3030550 [Accessed 18 October 2019].

[24]C. Sosna, T. Walter and W. Lang, "Response time of thermal flow sensors with air as fluid", Sensors and Actuators A: Physical, vol. 172, no. 1, pp. 15-20, 2011. Available: 10.1016/j.sna.2011.02.023 [Accessed 26 November 2019].

[25] C. Wu, D. Kang, P. Chen and Y. Tai, "MEMS thermal flow sensors", Sensors and Actuators A: Physical, vol. 241, pp. 135-144, 2016. Available: 10.1016/j.sna.2016.02.018 [Accessed 26 November 2019].

[26] E. Vértiz Aguirre, «¿Cómo calculamos la resistencia eléctrica?», PREPA2, vol. 2, n.º 4, jul. 2015.

[27]D. Mattox, Handbook of physical vapor deposition (PVD) processing. Park Ridge, N.J.: Noyes Press, 2010, p. 1.

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

43

[28] "Panasonic, «Infrared Array Sensor “Grid-EYE”».", Robot-electronics.co.uk, 2019. [Online]. Available: https://www.robot-electronics.co.uk/files/grideyeappnote.pdf. [Accessed: 01- Dec- 2019].

[29] "SIL Compliant Thermal Flow Meters & Switches Instrumented Systems", Fluid Handling Pro, 2019. [Online]. Available: https://fluidhandlingpro.com/compliant-thermal-flow-switches/. [Accessed: 02- Dec- 2019].

[30] "NTC2050", Idrd.gov.co, 2019. [Online]. Available: https://www.idrd.gov.co/sitio/idrd/sites/default/files/imagenes/ntc%2020500.pdf.

[Accessed: 02- Dec- 2019].

[31] F. Lacy, "Developing a theoretical relationship between electrical resistivity, temperature, and film thickness for conductors", Nanoscale Research Letters, vol. 6, no. 1, 2011. Available: 10.1186/1556-276x-6-636 [Accessed 3 December 2019].

14 APENDICES

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

44

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

45

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

46

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

47

Fig 1. Diagramas de bloques de la aplicación BLE

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

48

Fig 3.Montaje sensor YF-S401 con tarjetas LoRa

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

49

Fig. 5.Diseño PCB preliminar sistema microfluídico

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

50

Tabla 2.Diferentes sensores de flujos térmicos en comparación [21]

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

51

Fig. 6.Diseño PCB placa para proceso de litografía para máscara del sistema

Fig. 7.Montaje para caracterización del calentador del sistema

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

52

/********************************************************************* This is an example for our nRF51822 based Bluefruit LE modules

Pick one up today in the adafruit shop!

Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing

products from Adafruit!

MIT license, check LICENSE for more information

All text above, and the splash screen below must be included in any redistribution

*********************************************************************/

#include <Arduino.h>

#include <SPI.h>

#if not defined (_VARIANT_ARDUINO_DUE_X_) && not defined (_VARIANT_ARDUINO_ZERO_) #include <SoftwareSerial.h> #endif #include "Adafruit_BLE.h" #include "Adafruit_BluefruitLE_SPI.h" #include "Adafruit_BluefruitLE_UART.h" #include <BMP180ST.h> #include <Wire.h> #include "BluefruitConfig_h.c" /*======================================================================= == APPLICATION SETTINGS

FACTORYRESET_ENABLE Perform a factory reset when running this sketch

Enabling this will put your Bluefruit LE module

in a 'known good' state and clear any config

data set in previous sketches or projects, so

running this at least once is a good idea. When deploying your project, however, you will

want to disable factory reset by setting this

value to 0. If you are making changes to your

Bluefruit LE device via AT commands, and those

changes aren't persisting across resets, this

is the reason why. Factory reset will erase the non-volatile memory where config data is

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

53

stored, setting it back to factory default values.

Some sketches that require you to bond to a central device (HID mouse, keyboard, etc.) won't work at all with this feature enabled since the factory reset will clear all of the

bonding data stored on the chip, meaning the

central device won't be able to reconnect. MINIMUM_FIRMWARE_VERSION Minimum firmware version to have some new features

MODE_LED_BEHAVIOUR LED activity, valid options are "DISABLE" or "MODE" or "BLEUART" or "HWUART" or "SPI" or "MANUAL"

---*/

#define FACTORYRESET_ENABLE 1

#define MINIMUM_FIRMWARE_VERSION "0.6.6"

#define MODE_LED_BEHAVIOUR "MODE"

/*======================================================================= ==*/

// Pin Configuration and Firmware Declarations

#define LED_W A0

#define LED_X A1

#define LED_Y A2

#define LED_Z A3

int WState = LOW;

int XState = LOW;

int YState = LOW;

int ZState = LOW;

double temperatura = 0;

double presion = 0;

int tiempo = 0;

// Create the bluefruit object, either software serial...uncomment these lines

/*

SoftwareSerial bluefruitSS = SoftwareSerial(BLUEFRUIT_SWUART_TXD_PIN, BLUEFRUIT_SWUART_RXD_PIN);

Adafruit_BluefruitLE_UART ble(bluefruitSS, BLUEFRUIT_UART_MODE_PIN, BLUEFRUIT_UART_CTS_PIN, BLUEFRUIT_UART_RTS_PIN); */

/* ...or hardware serial, which does not need the RTS/CTS pins. Uncomment this line */

// Adafruit_BluefruitLE_UART ble(Serial1, BLUEFRUIT_UART_MODE_PIN);

/* ...hardware SPI, using SCK/MOSI/MISO hardware SPI pins and then user selected CS/IRQ/RST */

Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ,

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

54

/* ...software SPI, using SCK/MOSI/MISO user-defined SPI pins and then user selected CS/IRQ/RST */

//Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_SCK, BLUEFRUIT_SPI_MISO, // BLUEFRUIT_SPI_MOSI, BLUEFRUIT_SPI_CS, // BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST);

// A small helper

void error(const __FlashStringHelper*err) { Serial.println(err);

while (1); }

BMP180ST bmp180;

double PresionNivelMar = 1013.25; //presion sobre el nivel del mar en mbar

/************************************************************************ **/

/*!

@brief Sets up the HW an the BLE module (this function is called automatically on startup)

*/

/************************************************************************ **/

void setup(void) {

pinMode(LED_W, OUTPUT); pinMode(LED_X, OUTPUT); pinMode(LED_Y, OUTPUT); pinMode(LED_Z, OUTPUT);

while (!Serial); // required for Flora & Micro

delay(500);

Serial.begin(115200);

Serial.println(F("Adafruit Bluefruit Command Mode Example")); Serial.println(F("---"));

/* Initialise the module */

Serial.print(F("Initialising the Bluefruit LE module: ")); if ( !ble.begin() )

{

error(F("Couldn't find Bluefruit, make sure it's in CoMmanD mode & check wiring?"));

}

Serial.println( F("OK!") ); if ( FACTORYRESET_ENABLE ) {

/* Perform a factory reset to make sure everything is in a known

state */

Serial.println(F("Performing a factory reset: ")); if ( ! ble.factoryReset() ) {

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

55

} }

/* Disable command echo from Bluefruit */

ble.echo(false);

Serial.println("Requesting Bluefruit info:");

/* Print Bluefruit information */

ble.info();

Serial.println(F("Please use Adafruit Bluefruit LE app to connect in UART mode"));

Serial.println(F("Then Enter characters to send to Bluefruit")); Serial.println();

ble.verbose(false); // debug info is a little annoying after this point!

/* Wait for connection */

while (! ble.isConnected()) { delay(500);

}

// LED Activity command is only supported from 0.6.6

if ( ble.isVersionAtLeast(MINIMUM_FIRMWARE_VERSION) ) {

// Change Mode LED Activity

Serial.println(F("******************************"));

Serial.println(F("Change LED activity to " MODE_LED_BEHAVIOUR)); ble.sendCommandCheckOK("AT+HWModeLED=" MODE_LED_BEHAVIOUR); Serial.println(F("******************************"));

}

if (bmp180.begin())

Serial.println("BMP180 iniciado correctamenten"); else

{

Serial.println("Error al iniciar el BMP180"); while (1); // bucle infinito

} }

/************************************************************************ **/

/*!

@brief Constantly poll for new command or response data */

/************************************************************************ **/

void loop(void) {

// Now Check for incoming characters from Bluefruit

ble.println("AT+BLEUARTRX"); ble.readline();

ble.waitForOK();

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

56

if (BLEbuffer.length() && BLEbuffer.indexOf("OK") == -1) Serial.print(F("[Recv] ")); Serial.println(BLEbuffer);

if (BLEbuffer.indexOf("Estado") >= 0) {

Serial.println(F("Estado de conexión en búsqueda de Servicio")); ble.print("AT+BLEUARTTX=");

if (WState) {

ble.println("ON-W"); }

else {

ble.println("OFF-W"); }

if (XState) {

ble.println("ON-X"); }

else {

ble.println("OFF-X"); }

if (YState) {

ble.println("ON-Y"); }

else {

ble.println("OFF-Y"); }

if (ZState) {

ble.println("ON-Z"); }

else {

ble.println("OFF-Z"); }

// check response stastus

if (! ble.waitForOK() ) {

Serial.println(F("Failed to get response")); }

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("ON-W") >= 0) { WState = HIGH;

digitalWrite(LED_W, WState); ble.print("AT+BLEUARTTX="); ble.println("ON-W");

Serial.println(F("W ENCENDIDO")); Serial.println(WState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("OFF-W") >= 0) { WState = LOW;

digitalWrite(LED_W, WState); ble.print("AT+BLEUARTTX="); ble.println("OFF-W");

Serial.println(F("W APAGADO")); Serial.println(WState);

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

57

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("OFF-X") >= 0) { XState = LOW;

digitalWrite(LED_X, XState); ble.print("AT+BLEUARTTX="); ble.println("OFF-X");

Serial.println(F("X APAGADO")); Serial.println(XState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("ON-X") >= 0) { XState = HIGH;

digitalWrite(LED_X, XState); ble.print("AT+BLEUARTTX="); ble.println("ON-X");

Serial.println(F("X ENCENDIDO")); Serial.println(XState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("OFF-Y") >= 0) { YState = LOW;

digitalWrite(LED_Y, YState); ble.print("AT+BLEUARTTX="); ble.println("OFF-Y");

Serial.println(F("Y APAGADO")); Serial.println(YState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("ON-Y") >= 0) { YState = HIGH;

digitalWrite(LED_Y, YState); ble.print("AT+BLEUARTTX="); ble.println("ON-Y");

Serial.println(F("Y ENCENDIDO")); Serial.println(YState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("OFF-Z") >= 0) { ZState = LOW;

digitalWrite(LED_Z, ZState); ble.print("AT+BLEUARTTX="); ble.println("OFF-Z");

Serial.println(F("Z APAGADO")); Serial.println(ZState);

ble.println("AT+BLEUARTRX"); }

else if (BLEbuffer.indexOf("ON-Z") >= 0) { ZState = HIGH;

digitalWrite(LED_Z, ZState); ble.print("AT+BLEUARTTX="); ble.println("ON-Z");

Serial.println(F("Z ENCENDIDO")); Serial.println(ZState);

ble.println("AT+BLEUARTRX"); }

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

58

else if (millis() - tiempo > 10000) { char status;

status = bmp180.inicioTemperatura();//Inicio de lectura de temperatura

if (status != 0) {

delay(status); //Pausa para que finalice la lectura

status = bmp180.obtenerTemperatura(temperatura); //Obtener la temperatura

if (status != 0) {

status = bmp180.inicioPresAtm(3);//Inicio lectura de presión

if (status != 0) {

delay(status);//Pausa para que finalice la lectura

status = bmp180.obtenerPresAtm(presion, temperatura);

//Obtenemos la presión

if (status != 0) {

ble.print("AT+BLEUARTTX=");

ble.println(":BMP:" + String(temperatura + 2) + ":" +

String(presion) + ":::"); tiempo = millis(); } } } } } }

Código 1. Comunicación implementada para Feather BLE

// Feather9x_RX // mode: C++

-*-// Example sketch showing how to create a simple messaging client (receiver)

// with the RH_RF95 class. RH_RF95 class does not provide for addressing or

// reliability, so you should only use RH_RF95 if you do not need the higher

// level messaging abilities.

// It is designed to work with the other example Feather9x_TX

#include <SPI.h>

#include <RH_RF95.h>

/* for feather m0 RFM9x */

#define RFM95_CS 8

SISTEMA ELECTRÓNICO PARA LA MEDICIÓN DE CAUDAL EN MICROSISTEMAS

59

Documento similar