Beruflich Dokumente
Kultur Dokumente
Tabla de contenidos
Heart Rate Monitor Interface 0 Descripcin 2 Caractersticas 2 Aplicaciones 2 Informacin de la versin 3 Disclaimer 3 Pngase en contacto con 3 Especificaciones elctricas 3 Especificaciones mecnicas 5 Introduccin 5 Diagrama de bloques 5 Conexiones 6
Comunicacin / Alimentacin 6 Puentes de configuracin 8 Indicadores de estado 9 Conexiones Prototipos 9 Orientacin con el transmisor Polar 10 Prueba rpida 11 Prueba rpida con Host Computer 11 Prueba rpida usando HyperTerminal (Microsoft Windows) 11 Prueba rpida usando QuickTerm (Apple Mac OS X) 15 Operacin 17 Host Funcionamiento de la interfaz 17 Interfaz en serie (USB o interfaz fsica de nivel lgico) 18 I 2 C Interface 18 Pulsmetro Algoritmos 19 Lista de comandos 20 Leer entrada analgica 21 Establecer servicios pblicos Direcciones de puertos 21 Obtenga corazn Velocidad de datos 22 Obtenga Utilidad de puerto 23 Obtenga Modo 24 Establecer Utilidad de puerto 24 Modo 25 Set Comprar 25
Apndice A: Resolucin de problemas 26 Apndice B: Ejemplos de cdigo 28 Unix / Mac OS X utilizando la interfaz serie 28 Procesamiento utilizando la interfaz serie 32 Arduino con I 2 C 34 Apndice C: Esquema 37
Caractersticas
Mltiples interfaces: USB, serial Lgica nivel y I 2 C TM Algoritmos de procesamiento de la frecuencia cardaca duales: promedio y
prima
Utiliza el receptor OEM Polar RMCM01 Compatible con los transmisores Polar codificados y sin codificar como T31, T31C, T61C y Wearlink 32 entrada de la frecuencia cardaca bfer de historial de datos
Cuatro entradas ADC de 8 bits Hasta un puerto utilidad 5 canales digitales de entrada / salida
Aplicaciones
Equipo de ejercicio personalizado Dispositivos de control de la frecuencia cardaca porttiles Dispositivos de Bio-retroalimentacin Heart beat conscientes electrnica llevan en el cuerpo
Informacin de la versin
Hoja de HRMI Comentarios datos Firmware Revisin Versin Versin inicial 1.0 0x01 1.1 0x01 La imagen del producto para que coincida con Sparkfun v17 diseo esquemtico y actualizado Pequeas correcciones tipogrficas
Renuncia
Derecho de Autor danjuliodesigns, LLC, 2008-2010, Todos los derechos reservados. Ni la totalidad ni parte de la informacin contenida en, o el producto descrito en este manual, puede ser adaptada o reproducida en cualquier forma material o electrnico, sin el consentimiento previo por escrito del propietario del copyright. Este producto y su documentacin se suministran en una base como est y no hay garanta en cuanto a su idoneidad para cualquier particular, Este producto no es un grado mdico ECG o EKG monitor. Este producto o cualquier variante que no est destinada para su uso en cualquier aplicacin mdica, mecanismo o sistema en el que podra esperarse razonablemente que el fallo del producto que resulte en lesiones personales. propsito es o expresa ni implcita.
danjuliodesigns, LLC. No se aceptar ninguna reclamacin por daos y perjuicios causados como consecuencia del uso o el fracaso de este producto. Sus derechos legales no se ven afectados. Este documento y la funcionalidad del producto pueden estar sujetas a cambios sin previo aviso.
Contacto
Email: info@danjuliodesigns.com Sitio web: http://www.danjuliodesigns.com/sparkfun/hrmi.html
Especificaciones elctricas
Parmetro
Voltaje de alimentacin Voltaje de alimentacin Corriente
externa USB
Externa
mbito de
recepcin
Min Typ Max Unidad Condiciones 3.6 5.5 V Cuando un pin de la conexin de alimentacin externa 4.5 5 5.5 V Si est alimentado desde un host USB 30 45 mA No hay conexin a cualquier seal analgica o Conector de utilizacin 80 92 100 cm Tpica utilizando un transmisor T31 5.5 kHz VSS VCC V Nota 1 VSS 0,15 V 3.3V VCC 4.5V * VCC 0.8 V VCC V
VSS Utilidad de puerto de entrada de alto 0,25 nivel * VCC + 0.8 2 Utilidad de puerto de salida de bajo nivel
VCC V 0.6 V
Utilidad de puerto de salida de alto VCC nivel 0.7 Mximo: analgica Puerto de origen Impedancia Corriente de salida mxima hundido por cualquier seal Utilidad de puerto Corriente mxima de salida de origen por cualquier seal de Utilidad de puerto Capacitiva Cargando analgica y Puertos pblicos Configuracin EEPROM ciclos de
escritura
10k
Nota 2
25
mA
Nota 3
25
mA
Nota 3
55
pF
100K 1M
40 0 -30 20 60 20 70
de
1.VSS quedado a bordo, VCC es la alimentacin de tensin de a bordo. 2.El Impedancia de fuente puerto analgico mxima es necesaria para que el tiempo de muestreo ADC que deben cumplir. 3.Total corriente suministrada o hundido por todas las seales del puerto de utilidad debe ser inferior a 80 mA.
Especificaciones mecnicas
USB 2000 1850 100
Dimensiones de la placa
Introduccin
Diagrama de bloques
Conexiones
Comunicacin / Alimentacin
El HRMI recibe energa y datos a travs de una interfaz de comunicacin. Cuenta con dos conectores de interfaz: USB y una cabecera de nivel lgico. El uso de las dos interfaces fsicas se excluye mutuamente, slo uno puede estar en uso a la vez. TX RX LED LED puentes de configuracin
OP0 OP1 OP2 OP3
OP4 OP5 PO6 OP7 SJ1 AN0 AN1 AN2 AN3 P0 P1 3.3 V 5 V GND
Estado LED
V 5 GND RX-I / SDA TX-O / SCL
Disposicin de la placa (Top View) El HRMI comunica utilizando un puerto serie o una interfaz I 2 C. El HRMI se configura en encendido restablecer usar una interfaz en particular con el OP0 - OP7 bloque de puentes, como se describe en el apartado Configuration Jumpers de este captulo. Se comunica mediante una interfaz de serie a travs de cualquiera de los dos el conector USB o el encabezado de nivel lgico. Se comunica mediante la interfaz I 2 C a travs de la cabecera de nivel lgico. USB Un conector USB mini-B permite una rpida conexin a un ordenador central. La interfaz USB se alimenta y una conexin de datos a la HRMI. La interfaz USB utiliza un FTDI FT232RL IC de interfaz que expone la HRMI como un dispositivo serial a la computadora host. FTDI proporciona imgenes de controladores libres para los sistemas operativos Linux, Microsoft Windows, Apple Macintosh y.
Cable USB con conector Mini-B Para utilizar la interfaz USB de un puente debe estar instalado en la posicin SJ1 (predeterminado de fbrica). El puente en la posicin SJ1 conecta la lnea TX del FTDI FT232RL IC de interfaz a la entrada RX microcontrolador HRMI (la salida del microcontrolador TX est permanentemente conectado a la entrada RX FT232RL). No jumper debe estar instalado en la posicin OP0. Esto configura el microcontrolador para usar una interfaz en serie en el encendido. La velocidad deseada se puede configurar en las posiciones OP1 y OP2 puente tal como se describe en el apartado Configuration Jumpers .
Un encabezado de 4-pin permite la conexin directa de acceso a serie lgica de nivel I o 2 interfaces de C. Tambin proporciona tierra y las conexiones de entrada de alimentacin 5 voltios. Etiqueta Funcin 5V Entrada de alimentacin 5 voltios GND Suelo RX-I / SDA HRMI serie de entrada RX TTL HRMI I 2 C SDA (datos) Serie salida TX TTL HRMI HRMI I 2 C SCL (reloj) Lgica-nivel de cabecera Descripcin pin El HRMI es un dispositivo serie que funciona a velocidades de transmisin 2400 a 38.400 cuando el jumper OP0 se desinstala. Los datos se transmiten a niveles de seal TTL con 8 bits de datos, 1 bit de parada y sin paridad (8N1). Posicin de los jumper OP1 - OP2 configurar la velocidad de transmisin. Un ejemplo de interfaz entre el HRMI a un microprocesador externo utilizando una interfaz serie se muestra a continuacin.
TX RX-me RX TX-O 5 GND VSS VDD VCC SJ1 OP0 OP1 OP2
TX-O / SCL
Desinstalado Baud
uP HRMI
La interconexin con un microprocesador a travs de un puerto serie TTL El HRMI est a 7 bits I 2 C Esclavo operativo en hasta una velocidad de datos de 100 kHz cuando se instala el puente OP0. Posicin de los jumper OP1 - OP7 configurar la direccin C I 2 (OP1 es LSB). El HRMI no proporciona resistencias pull-up en las 2 seales de E C. Puede ser necesario aadir estos externamente. Un ejemplo de la interfaz HRMI a un dispositivo de E 2 C se muestra a continuacin. Ms de un dispositivo de E 2 C se puede conectar en paralelo la lnea de los lmites de la observacin de la capacitancia de la seal. Cada dispositivo debe responder a una direccin diferente. Para obtener ms informacin acerca de I 2 C consulte http://www.standardics.nxp.com/support/documents/i2c .
SDA RX-I / SDA SCL TX-O / SCL 5 GND VSS VDD VCC SJ1 OP0 OP1 OP2
Desinstalado Direccin
uP HRMI
2 x 4,7 k Instalado OP3 OP4 OP5 PO6 OP7
La interconexin con un master I 2 C Jumper SJ1 debe retirarse cuando se utiliza la lgica a nivel de cabecera de 4 pines (para desconectar el puerto de salida en el FT232RL).
Puentes de configuracin
Puentes de configuracin se utilizan para configurar el HRMI para la operacin. Los puentes son dos almohadillas expuestos situados muy juntos. Para instalar un puente de usar un soldador para dab una pequea cantidad de soldadura que cubre ambas pastillas. Para eliminar un puente trmico y retire la soldadura lquida arrastrando la punta del soldador rpidamente de lado a travs de las almohadillas para que la tensin superficial de la soldadura para separarlo en dos gotas, una a cada pad. Alternativamente, puede utilizar el soldador para fundir la soldadura y eliminar el uso de un pequeo trozo de mecha de soldadura. Tenga cuidado de no aplicar a mucho calor o los puntos de soldadura pueden tirar de fuera de la placa. Configuracin jumper SJ1 se utiliza para conectar la lnea TX del FTDI FT232RL IC de interfaz a la entrada RX microcontrolador HRMI cuando se utiliza la interfaz USB.
Puentes de configuracin OP0 - OP7 configurar la interfaz de comunicacin microcontrolador en el encendido. Ellos son de slo lectura en el encendido. OP0 configura el tipo de interfaz. Sin un puente a travs de OP0 el micro-controlador se comunica utilizando una interfaz en serie a travs de ya sea el conector de nivel lgico o conector USB. Con un puente entre OP0 el microcontrolador se comunica utilizando el protocolo I2C. Con OP0 eliminado, OP1 y OP2 configurar la velocidad de transmisin. OP3 - OP7 no han sido utilizados. El protocolo de datos es de 8 bits de datos, 1 bit de parada y sin paridad (8N1). De forma predeterminada, sin puentes instalados, la velocidad de transmisin es de 9600 baudios. OP2 OP1 Velocidad en
baudios
instalado 2400 baudios desinstalado 19200 baudios instalado 38400 baudios desinstalado 9600 Interfaz serie (OP0 desinstalado)
Nota: La velocidad de transmisin configurada con jumpers OP1 y OP2 debe coincidir con la velocidad seleccionada por el software que se ejecuta en el equipo host. Con OP0 instalado, OP1 - OP7 configurar la direccin del esclavo I 2 C 7 bits. OP1 es el bit menos significativo. La tasa de transferencia mxima de I 2 C es de 100 kHz. De forma predeterminada, sin jumpers (excepto OP0) instalados, la direccin es 127. OP7 PO6 OP5 OP4 OP3 OP2 OP1 Direccin instalado instalado instalado instalado instalado instalado instalado 0 instalado instalado instalado instalado instalado instalado desinstalado 1 instalado instalado instalado instalado instalado desinstalado instalado 2 instalado instalado instalado instalado instalado desinstalado desinstalado 3 ... ... desinstalado desinstalado desinstalado desinstalado desinstalado desinstalado desinstalado 127 I 2 C Interface (OP0 instalado)
Indicadores de estado
El HRMI contiene tres LEDs de estado. 1.USB TX: LED rojo que parpadea para los datos transmitidos desde el host al HRMI travs de la interfaz USB.
2.USB RX: LED verde que parpadea para los datos transmitidos desde el HRMI con el host a travs de la interfaz USB. 3.Estado: LED verde que indica el estado de la HRMI. Es cuando el HRMI es la bsqueda de datos de pulso cardiaco vlidos. Parpadea en el ritmo cardaco detectado cuando se adquiere una seal. Para cada corazn lata es durante 100 milisegundos.
Conexiones Prototype
El HRMI proporciona cuatro entradas analgicas y dos programables de entrada / salida digital, junto con una pequea rea de prototipos para incluir circuitos locales. Las entradas analgicas estn conectadas a las entradas de 8 bits ADC HRMI micro-controlador. Los puertos de entrada / salida digitales programables estn conectados al propsito general de E / S pines en el HRMI micro-controlador y puede ser configurado para ser una seales de nivel lgico de accionamiento de entrada digital o salida digital y. Tanto los 5 voltios y 3,3 voltios estn disponibles. Etiqueta Funcin AN0 - Entrada analgica AN3 P0 - P1 Programmable I / O digitales (Conector de utilizacin) 3.3V 3.3 ferrocarril voltios. Extraer energa de este pin debe limitarse a un mximo de 50 mA. 5V 5 voltios carril de la alimentacin. Conectado al conector de entrada de 5 V y que la barra de alimentacin USB. Se debe tener cuidado de no exceder los lmites de corriente USB. GND Planta Junta Seales Prototype
Transmisor USB
RMCM01
Correa HRMI
Transmisor y receptor de orientacin 3.Metal carcasa alrededor del receptor puede formar una jaula de Faraday alrededor del receptor atenuar la seal. Una jaula de metal tambin puede cambiar la orientacin del campo magntico procedente del transmisor. 4.Interference creado por otros dispositivos electrnicos (tales como motores, pantallas y fuentes de alimentacin) puede interferir con la transmisin de informacin desde el transmisor al receptor. De manera ptima el HRMI ser separado fsicamente de estas fuentes de energa electro-magntica.
Prueba rpida
La capacidad de la HRMI para detectar un ritmo cardaco puede ser probada con slo un transmisor Polar y voltios fuente de alimentacin regulada 5. Conecte el HRMI a la fuente de alimentacin de 5 voltios y encender la fuente de alimentacin. Alternativamente conectar el tablero HRMI a un puerto USB del ordenador. El LED de estado HRMI debe encenderse. Correa en el transmisor y orientarse cerca del tablero HRMI Polar. Dentro de los 15 segundos, el HRMI LED de estado debe empezar a parpadear indicando que ha detectado datos de frecuencia cardiaca del transmisor. El funcionamiento del transmisor Polar se puede verificar con un receptor de pulsera Polar.
1.Instale un jumper en la posicin SJ1. Asegrese de que no hay puentes instalados en posiciones OP0 - OP7. 2.Antes fijar el HRMI al ordenador descargue e instale el controlador apropiado de la pgina web de FTDI: http:// www.ftdichip.com / FTDrivers.htm . El sitio web contiene el controlador ms reciente y las instrucciones para cada sistema operativo compatible. Asegrese de cargar el controlador de puerto COM virtual (VCP) para esta prueba en lugar del controlador D2xx. El controlador VCP hace que el HRMI aparece como un dispositivo serie estndar (puerto COM). 3.Una vez que el controlador se ha instalado luego coloque el HRMI al EquipoA s interfaz USB. El indicador de estado HRMI debe encenderse y parpadear cuando se detecta un latido del corazn de un transmisor Polar. 4.Inicie un programa emulador de terminal en serie en el equipo host (por ejemplo, HyperTerminal en Microsoft Windows). Asegrese de que est configurado para utilizar el puerto de comunicacin basado en USB asociado a la HRMI a 9600 baudios, 8 bits de datos, 1 bit de parada y sin paridad. Es til, pero no es necesario configurar el programa emulador de terminal para devolver un eco caracteres escritos localmente y para aadir un carcter de avance de lnea a finales de lnea recibidas. Esto permite la visualizacin de la orden enviada a la HRMI, as como el resultado devuelto por el HRMI. 5.Escriba el siguiente comando en el emulador de terminal: G1 <CR> . Es decir, los tres caracteres G seguido por 1 seguido por el retorno de carro ( Enter clave o carcter de control de retorno de carro, CTRL-M). Esto debe resultar en una cadena como la siguiente. 1 15 63 donde el primer nmero, 1 , indica el modo de algoritmo de frecuencia cardaca actual, el segundo nmero, 15 , indica el valor actual del temporizador y el tercer nmero, 63 , la frecuencia cardaca actual (el corazn real tasa puede variar). Vea la seccin de Lista de comandos para obtener una descripcin detallada de estos y otros comandos.
2.Left clic en el icono Mi PC en el escritorio o en el men Inicio y seleccione Properties . Con ello se abre el System Propiedades de referencia de ventana . 3.Seleccione Device Manager del System Propiedades de referencia de Ventana. El Device Manager aparecer ventana como se muestra en la siguiente imagen. Haga clic en el + smbolo junto a Ports (COM & LPT) para ver una lista de los puertos del sistema ha identificado. Un nuevo puerto COM aparecer como se muestra (asumiendo que el HRMI es el nico perifrico USB conectado utilizando un FTDI USB Interface IC).
Administrador de dispositivos muestra un puerto COM USB Iniciar y configurar HyperTerminal (HyperTerminal se encuentra en All Programas -> Accesorios -> Communications ). La configuracin consiste en los siguientes pasos ilustrados. 1.Create una nueva configuracin de la conexin, por ejemplo com7_9600 , en la OEConnection Description caja de dilogo. HyperTerminal puede guardar esta configuracin en el disco para su uso en un momento posterior.
Configuracin de HyperTerminal con un nuevo 2.Seleccione la configuracin del puerto COM asociado al HRMI en el Connect Toa cuadro de dilogo.
Configuracin de HyperTerminal para utilizar el puerto COM USB 3.Configure las caractersticas correctas del puerto serie en el Properties Caja de dilogo a. Asegrese de que el control de flujo se ajusta en None .
Configuracin de HyperTerminal para 9600 baudios, 8N1 4.Seleccione Properties para HyperTerminal (Archivo-> Propiedades) y haga clic en ASCII Setupa | para abrir el ASCII Setupa cuadro de dilogo. Haga
clic en el Echo caracteres escritos locally casilla para hacer que HyperTerminal hacerse eco de los caracteres transmitidos al HRMI en la pantalla. Haga clic en el Send lnea termina con la lnea feeds y line Append alimenta la ENDSA lnea entrante casillas de verificacin para hacer que HyperTerminal para poner a cada cadena de texto en una lnea separada para facilitar la visualizacin.
Configuracin de HyperTerminal para repetir caracteres Enviar comandos al HRMI seguido por el carcter de retorno de carro (CTRL-M) y observar los resultados. Vea la seccin de Lista de comandos para obtener una descripcin detallada de cada comando.
3.Haga clic en el botn Connect y enviar comandos al HRMI seguido por el carcter de retorno de carro (CTRL-M) y observar los resultados. Vea la seccin de Lista de comandos para obtener una descripcin detallada de cada comando.
Nota: No desconecte el HRMI desde el puerto USB del Macintosh, mientras que ninguna aplicacin est utilizando el puerto serie (puerto serie est abierta). Esto puede hacer que el sistema se congele o se caiga.
Operacin
Funcionamiento de la interfaz de host
El HRMI es un dispositivo esclavo. Responde a los comandos emitidos a la misma desde un controlador host. Interpreta comandos, bien a un serial o I 2 C de interfaz. Ambas interfaces utilizan los mismos puertos fsicos de E / S en el HRMI micro-controlador. El tipo de interfaz se selecciona por muestreo OP0 jumper en el encendido. El tipo de interfaz persiste hasta el siguiente reinicio de encendido. El HRMI es capaz de recibir rdenes de 250 milisegundos despus de ser activado. Se ignoran los comandos desconocidos o ilegal. Algunos comandos hacen que el HRMI para generar una respuesta que transmite al controlador de host despus de procesar el comando. Los comandos son de 1 byte (8 bits de longitud). Tienen representaciones ASCII que son una abreviatura de su funcin. Algunos comandos son seguidos por un argumento que representa una nica cantidad numrica 8 bits. Las respuestas consisten en uno o ms valores numricos. Los comandos y las respuestas se codifican ligeramente diferente para la comunicacin serie y I 2 C.
~ za. Los argumentos son dos y cincuenta y nueve nmeros ASCII 0 por 255 lo que representa un Valor de 8 bits. Los comandos se emiten en Secuencias de comandos. Una secuencia de comandos consiste en el valor del comando seguido por cualquier argumento necesario termin con el carcter de retorno de carro (0x0D). Los caracteres de espacio pueden ser incluidos entre el comando y el argumento o entre el argumento y el retorno de carro (<CR>). Los otros personajes o argumentos adicionales hacen que el HRMI de ignorar la secuencia de comandos hasta el siguiente retorno de carro. Las respuestas consisten en nmeros ASCII ( 0 por 255 ) separados por espacios terminados con el carcter de retorno de carro. Por ejemplo, el carcter ASCII ~ G se utiliza para el comando Get ritmo cardaco. Siempre es seguido por una discusin con un valor de, 0 - 32 al mando de la HRMI para volver 0 - 32 valores de frecuencia cardiaca de su memoria intermedia de historia de la frecuencia cardaca. El HRMI tambin incluye dos bytes de estado antes de los datos de frecuencia cardiaca requerido. Enviando el comando G3 <CR> o G 3 <CR> genera una respuesta con la forma 1 25 63 64 67 <CR> donde los valores 1 y 25 son los b ytes de estado (se explica ms adelante en este captulo) y los valores de 63 , 64 y 67 son los valores de frecuencia cardiaca solicitados (en latidos por minuto) de la memoria histrica del ritmo cardaco. El HRMI puede proteger mltiples comandos serie y argumentos en una FIFO de 16 bytes interna. Se procesa un comando a la vez (incluyendo la transmisin de una respuesta deseada). El HRMI continuar impulsando nuevos comandos en el FIFO mientras procesa un comando. Se caer comandos cuando el FIFO est lleno. Se debe tener cuidado al enviar comandos inmediatamente despus de un comando Get frecuencia cardaca y antes de recibir la respuesta del comando Get ritmo cardaco para que no se desborde el FIFO.
I 2 C Interface
El HRMI implementa una simple esclava de 7 bits que el dispositivo 2 C. Est configurado con cualquier direccin de C 2 7 bits que en los puentes de configuracin OP1-7 en el
encendido. El HRMI slo implementa la funcionalidad de esclavo obligatoria I 2 C se describe en el documento de semiconductores NXP UM10204 I 2 especificacin Cbus y el usuario manuala . Estas funciones incluyen la condicin de marcha, paro condiciones, Reconocer y direccin del esclavo 7 bits. No admite Direccin Call, direccin de esclavo 10-bit, reset de software o ID de dispositivo. La tasa de bits mxima es de 100 kHz. Comandos y los argumentos se codifican como valores binarios de 8 bits. Las secuencias de comandos constan de 1 - o 2 secuencias de escritura C I 2-byte (el byte de comando seguido por cualquier byte de argumento necesario), seguido de la condicin de STOP. El controlador de host debe emitir una lectura del nmero esperado de bytes de datos para los comandos que generan una respuesta. La lectura debe ser emitida tras la escritura y antes de los comandos siguientes. El HRMI extiende el reloj en la lnea SCL durante la lectura mientras se recupera bytes de datos interna para satisfacer la lectura. El HRMI devolver el valor 0x00 para el host controlador I 2 C dice que la solicitud ms datos de la figura en la respuesta o para lecturas sin una orden previa. El ejemplo mostrado en la seccin de interfaz de serie anterior consistira en los siguientes bytes transmitidos en la interfaz I 2 C para el comando. <0x47> <0x03> Los datos de las respuestas siguientes se pueden leer (el controlador de host debe leer 5 bytes en este ejemplo). <0x01> <0x19> <0x3F> <0x40> <0x43> El HRMI puede proteger mltiples I 2 C comandos y argumentos en una FIFO de 16 bytes interna. Sin embargo, slo puede procesar un comando a la vez que requiere una respuesta. Esto es debido a que restablece la memoria intermedia interna que utiliza para mantener las respuestas cada vez que se recibe un comando de la interfaz de E 2 C. El controlador de host debe ejecutar una lectura y obtener los datos de la respuesta para cualquier comando que genera una respuesta antes de emitir otro comando.
extra cada vez que los contactos de la correa se empujaban (como puede ocurrir con frecuencia cuando se ejecuta). Otros dispositivos tambin pueden generar pulsos electromagnticos que aparecen en el receptor como datos de frecuencia cardiaca. El HRMI permite el acceso a los datos recibidos en forma cruda o promedio (modo Raw o media). En el modo sin procesar se calcula la frecuencia cardiaca instantnea sobre la base de cada pulso y se almacena en una memoria intermedia de historia 32-de entrada. Datos en modo sin procesar es til para observar la respuesta dinmica del corazn en una base latido a latido a pesar de los datos pueden incluir valores de frecuencia cardiaca errneas debido a los pulsos espurios. Es responsabilidad del software que se ejecuta en el controlador de host o anlisis de usuarios para identificar los valores de frecuencia cardiaca posiblemente no esenciales en los datos en bruto. En el modo Normal los datos de frecuencia cardiaca instantnea se promedian y el ritmo cardaco promedio, calculado una vez por segundo, es empujado en la memoria histrica de 32 entradas. El algoritmo de promedio identifica y hace caso omiso de los datos de frecuencia cardiaca espurias cuando se genera la media mediante el uso de un discriminador de frecuencia del pulso y un doble conjunto de bferes (promedio de un tampn primaria y un tampn de adquisicin). El tampn de adquisicin se utiliza para determinar la media inicial. Una vez que un promedio se ha calculado la memoria intermedia principal se utiliza para mantener los clculos de la media. El tampn primaria es de tamao dinmico de 6 a 16 entradas con ms entradas para altas frecuencias cardacas medias para evitar valores ligeramente espurias de afectar a la media demasiado mientras permitiendo que el promedio sea sensible a los cambios de forma rpida las frecuencias cardacas. Una vez que un promedio se ha calculado el tampn de adquisicin se utiliza cuando se detectan valores espurios demasiado grandes para la memoria intermedia de promediacin primaria. El tampn de adquisicin requiere un cierto nmero de valores dentro de una gama antes de determinar que hay un nuevo promedio. El discriminador se utiliza para detectar los valores espurios tanto para el tampn primaria y adquisicin. El algoritmo se selecciona de un incorporado en la memoria EEPROM en el encendido. El algoritmo tambin se puede cambiar mientras el HRMI est ejecutando mediante la emisin de una orden. De la fbrica el valor de encendido se configura el HRMI utilizar el algoritmo promediado. El valor de encendido tambin se puede cambiar mediante la emisin de una orden al HRMI. En el modo sin procesar del valor de la frecuencia cardiaca instantnea actual se introduce en el ritmo cardaco memoria histrica cada vez que se recibe un pulso. En el modo de media el promedio actual se introduce en la memoria histrica del ritmo cardaco cada segundo mientras se reciben datos nonspurious. La memoria histrica no se ha cargado en el modo de promedio, mientras que se estn recibiendo datos falsos. La ltima entrada empujado en la memoria histrica representa la frecuencia cardaca media exacta ms reciente. El HRMI limpia el bfer de la historia del ritmo cardaco cuando se ha producido una prdida de seal desde el transmisor durante ms de quince segundos. Tambin borra la memoria histrica ritmo cardaco si se reciben ms de 64 valores de impulsos espurios. Cuando la memoria histrica del ritmo cardaco se ha borrado o antes han cargado los valores del HRMI generar respuestas con el valor de 0 para el ritmo cardaco.
El LED indicador de estado es pulsada durante 100 mseg cuando se recibe un pulso. Se establece en un slido con la condicin de que ningn impulso ha recibido en ms de 1.792 milisegundos fijar un lmite inferior a los valores de frecuencia cardaca detectable a 34 latidos perminute (ppm). El lmite superior de los valores de frecuencia cardaca detectable es 239 ppm.
Lista de comandos
El HRMI implementa los siguientes comandos, que se resumen en la siguiente tabla y se describe con ms detalle en las secciones siguientes. Comando ASCII Maleficio Comando Respuesta Descripcin Comando Comando Argumento Valor La Valor 0x41
Canal 0-3
0x44
Direccin
5 bits
0x47
Datos
Obtenga Utilidad Yo
de puerto
0x49
Obtenga Mode M
0x4D
Establecer
Utilidad de puerto Modo
0x4F
Valor
de 5 bits
Juego
0x53
Modo
3 bits
Dispare la ADC para leer la entrada analgica especificada. Establezca la direccin, ya sea de entrada o salida, de cada pin Conector de utilizacin. 2-34 valores Obtener el nmero de 8 bits especificado de valores de frecuencia cardiaca e informacin de estado de la memoria intermedia de historia de la frecuencia cardaca. Valor de 5 Obtener el valor actual de bits cada pin Conector de utilizacin. 1 valor de 1 Obtener el actual algoritmo bit seguido de la frecuencia cardaca y de 1 valor la direccin del puerto de 5bit utilidades. Establecer el valor de cada pin Conector de utilizacin. Programe el algoritmo de la frecuencia cardaca y opcionalmente configurar la contrasea de encendido predeterminados de algoritmo de la frecuencia
Valor de
bits
0x56
Notas Retrasos HRMI 1.Los 5 USEC despus de configurar la entrada analgica especificado antes de activar el ADC para que el condensador de muestreo en el tiempo de ADC para cargar. La impedancia de entrada mxima visto por cualquier pin de entrada analgica debe ser inferior a 10 k para permitir que el condensador se cargue completamente en este momento. 2.El interna micro-controlador ADC se hace referencia a la voltios carril 5 de potencia que significa que las entradas analgicas se escalan en relacin con la barra de alimentacin.Es posible utilizar un voltaje de referencia de precisin mediante la unin de la referencia de tensin en una de las entradas analgicas. Los niveles de tensin unidos a otras entradas analgicas se pueden escalar por la referencia de tensin dividiendo el resultado de la lectura de la entrada analgica deseada por el resultado de la lectura de la entrada analgica de referencia.
Serie respuesta n/a I2C Respuesta n/a Notas 1.El HRMI firmware y soporte 5 pines del puerto de servicios micro-controlador, P0-P4. Esta aplicacin hace que P0 y P1 disponibles en el rea de prototipo. P2 - P4 estn disponibles en los pines de E / S del microcontrolador (pines 13 a 15). No hay rea de la almohadilla PCB adicional para el cuidado extremo debe ser tomado si se fija el conductor u otro dispositivo de plomo en esos pines. Nota: El dao a la HRMI causada por la soldadura de los pines de los puertos pblicos adicionales que no estn cubiertos por la garanta.
Pin Conector de utilizacin 2.El encendido direccin predeterminada se establece en la fbrica para ser todas las salidas con un valor de salida de 0. 3.Switching un pin Conector de utilizacin de la entrada a la salida har que se refleje el valor ms reciente muestra como una entrada.
<0x47> <N> Argument o <N> Especifica el nmero de muestras de frecuencia cardaca para volver. El valor est limitado por el HRMI a un mximo de 32. Respuesta de serie Devoluciones <ESTADO> <count> <HR1> <HR2> | <HRN> codificados como cadenas ASCII 0 a 255 seguido <CR>. I2C respuesta Leer 2 + N bytes de 8 bits: <ESTADO> <count> <HR1> <HR2> ... <HRN> Notas Byte <ESTADO> 07:04: Reservado. Se lee como 0 3: Datos incorrectos. Cuando se establece en 1, indica que la memoria histrica de frecuencia cardaca fue absuelto porque ms de 64 pulsos espurios pulso cardiaco consecutivos se han recibido. Un pulso de latido del corazn espuria se define como uno que es ms de 25% mayor que o menor que el promedio actual o de la media en la memoria intermedia de adquisicin. Se establece en 0 cuando la memoria histrica del ritmo cardaco est recogiendo los valores de frecuencia cardaca. 2: readquisicin de la serie. Se establece en 1 cuando la mayora de la corriente del pulso latido del corazn era ms de 25% mayor que o menor que el promedio actual y est siendo incluido en el tampn de adquisicin. Se establece en 0 cuando se aadi el ms corriente del pulso latido del corazn con el valor medio actual. 1: No hay datos. Establece en 1 cuando no hay seal de latido del corazn se ha detectado en los ltimos 1.792 ms. Se establece en 0 cuando se han detectado al menos dos latidos consecutivos. 0: modo de algoritmo. Se establece en 1 para el modo normal, el valor 0 para el modo sin procesar.
<count> Byte indica la segunda corriente en el modo normal y el recuento de muestras de corriente en modo raw mdulo 256 de el ltimo valor de la frecuencia cardaca entrado en la tasa de memoria intermedia de historia corazn (<HR1>). Est diseado para ser utilizado cuando mltiples valores se leen peridicamente. Se permite que el software en el sistema anfitrin para identificar el inicio de los nuevos datos en cada grupo de valores ledos desde el HRMI. <HR1> Es el valor de ritmo cardaco ms reciente en la memoria histrica del ritmo cardaco. <HR2> Es el segundo valor de frecuencia cardiaca ms reciente en la memoria intermedia de historia de la frecuencia cardaca y as sucesivamente.
Notas 1.El valor devuelto es el valor de cada bit Conector de utilizacin, independientemente de su direccin. Pines del puerto de utilidad que se configuran como entradas devuelven el valor de la entrada. Pines del puerto de utilidad que se configuran como salidas devuelven el valor que est siendo conducido.
Obtenga Mode
Descripci n Solicitar el actual algoritmo de la frecuencia cardaca y la direccin del puerto de utilidades. Comando serie M <CR> I2C comando <0x4D> Argu ment on/ a Respuesta de serie Devoluciones <ALG> con el algoritmo de frecuencia cardaca codificada como una cadena ASCII 0 a 1 seguido <DIR> con la direccin de la corriente Conector de utilizacin codificada como una cadena ASCII 0 31 seguido <CR>. I2C respuesta Leer 2 bytes de 8 bits: <dir> <ALG>. Notas Byte <ALG> 07:01: Reservado. Se establece en 0. 0: Algoritmo. 1 = promediado, 0 = modo Raw. Byte <DIR> 07:05: Reservado. Se establece en 0.
4:00: Utilidad de Direccin de puerto: Un 1 en una posicin de bit significa que el bit es una entrada, un 0 en una posicin de bit significa que el bit es una salida.
Modo Juego
Descripci n Ajuste el modo de algoritmo de la frecuencia cardaca y, opcionalmente, almacenar y / o la direccin Conector de utilizacin actual y los valores de salida en la EEPROM interno que se utilizarn en la prxima reinicializacin. Comando serie S <N> <CR> I 2 C de comandos <0x53> <N> Argument o <N> Es una mscara de 3 bits (bits 2:0) que especifica el modo de algoritmo y si y / o la direccin Conector de utilizacin actual y los valores de salida debe ser almacenado en la EEPROM. Los datos de las posiciones de bits 07:03 son ignorados. Los valores vlidos para el argumento son de 0 a 7. 2: Se establece en 1 para activar la HRMI para almacenar la direccin Conector de utilizacin actual y los valores de salida de EEPROM 1: Se establece en 1 para activar la HRMI para almacenar el algoritmo de la frecuencia cardaca (especificado por el bit 0) en la memoria EEPROM. 0: Algoritmo. Se establece en 1 para el modo normal, el valor 0 para el modo sin procesar. Serie respuesta n/a I2C Respuesta n/a Notas Comando 1.This se utiliza para configurar el estado de encendido del HRMI.
2.Se tarda un mximo de 6 milisegundos para la HRMI para almacenar cada valor (direccin, los valores de utilidad Utilidad de puerto de puerto de salida y / o algoritmo del ritmo cardaco) en la memoria EEPROM interna. Durante este tiempo el HRMI no procesa otros comandos a pesar de que seguir con el procesamiento de datos del ritmo cardaco.
Comprar
Descripci n Solicite informacin sobre el firmware que se ejecuta en el HRMI. Comando serie V <CR> I2C comando <0x56> Argu ment on/ a Respuesta de serie Devoluciones <TIPO> <VERSIN> codificados como cadenas ASCII 0 a 255 seguido <CR>. I2C respuesta Leer 2 bytes de 8 bits: <TIPO> <version>. Notas <TIPO> Byte especifica el tipo de firmware. Para el HRMI este valor de byte es 0x01. Permite que el software que se ejecuta en un controlador de host para identificar el dispositivo que est comunicando.
Byte <VERSIN> especifica la versin del firmware actual HRMI. La versin del firmware se incrementa cuando se realizan cambios de firmware a la HRMI que son visibles desde el exterior con el software que se ejecuta en el controlador de host.
No hay seal de
frecuencia cardaca
Incorrecta configuracin Asegrese OP0 puente no est instalado y asegrese de la interfaz serial de que los puentes OP1-2 estn configurados para la velocidad de transmisin correcta. Sntoma Posibles Causas Accin No hay comunicacin Jumper SJ1 instalado Asegrese SJ1 puente no est instalado. a travs de la interfaz Incorrecta configuracin de Asegrese OP0 puente no est instalado y serie lgica de nivel. la interfaz serial asegrese de que los puentes OP1-2 estn configurados para la velocidad de transmisin
correcta. Datos de basura a Incorrecta velocidad de travs de la interfaz transmisin USB o serie lgica de nivel. No hay comunicacin Incorrecta I 2 configuracin a travs de la lgica de la interfaz C de nivel I 2 C de interfaz. Faltan resistencias pull-up Asegrese de que los puentes OP1-2 estn configurados para la misma velocidad que el equipo host. Asegrese de que el puente SJ1 no est instalado, puente OP0 est instalado y jumpers OP1-7 se configura con la direccin que utiliza el I 2 C maestro. Asegrese de que los I 2 C tienen las seales
adecuadas pull-ups. Algunos controladores son 2 dominadas en su I interfaz de C, de lo contrario pullup 2 las I seales C con 4,7 ki resistencias.
No admitidos I 2 comandos Asegrese de que las cuestiones de controlador C de host sencillo I 2 C de lectura y escritura con 7-bits.
Asegrese de que las escrituras son para el comando y slo cualquier argumento necesario. Asegrese de que las lecturas son exactamente el nmero esperado de bytes de datos de respuesta.
Recibir 0x00 Controlador de host est Asegrese de que el I 2 C de lectura slo lee el nmero de bytes correcto. inesperado al leer el I realizando una I 2 C de
2
C interfaz.
lectura que es ms grande que los datos devueltos por el comando anterior.
No hay respuesta para Caracteres extraos en el los comandos mando (por ejemplo, un enviados a travs de <LF> carcter antes del carcter <CR>). la interfaz serial.
Asegrese de que los nicos personajes que se envan a la HRMI incluyen el comando ASCII, caracteres de espacios opcionales, caracteres numricos y el carcter de terminacin <CR>.
/ / Definir una constante que especifica la cadena de respuesta ms grande que tenemos acerca de la HRMI # Define MAX_RSP_CHARS 140
/ / Global para mantener el puerto de serie original atributos estticos struct termios gOriginalTTYAttrs; / / / / OpenSerialPort: Rutina de abrir y configurar el prot serial / / static int OpenSerialPort (const char * deviceFilePath) { / / Variables int fd = -1; descriptor / / archivo para el puerto serie struct termios opciones, las opciones de configuracin del puerto / / serie / / Abrir el puerto serie if ((fd = open (deviceFilePath, O_RDWR | O_NOCTTY)) == -1) {printf ("abrir% s puerto serial Error -% s (% d) \ n", deviceFilePath, strerror (Error), errno); return (1);} / / Impedir que otros procesos de abrir el puerto serie if (ioctl (fd, TIOCEXCL) == -1) { printf ("ajuste TIOCEXCL Error de% s -% s (% d) \ n", deviceFilePath, strerror (Error), errno); return (1);} / / Obtiene las opciones actuales del puerto serie y guardarlos para restaurar la salida if (tcgetattr (fd, & gOriginalTTYAttrs) == -1) {printf ("Error al obtener el tty atributos% s -% s (% d) \ n", deviceFilePath , strerror (Error), errno); return (1);} / / Configurar las opciones de puerto de serie = gOriginalTTYAttrs; / / Establecer la entrada bruta (no cannica) el modo, con lecturas de bloqueo hasta que un / / Solo carcter se ha recibido o un tiempo de espera un segundo expira cfmakeraw (y opciones); options.c_cc [VMIN] = 1; options.c_cc [VTIME] = 10;
/ / Establecer la velocidad de transmisin y longitud de palabra cfsetspeed (y opciones, B9600); options.c_cflag | = (CS8); / / Porque las nuevas opciones tengan efecto inmediatamente si (tcsetattr (fd, TCSANOW, y opciones) == -1) {printf ("establecer los atributos tty Error \ n"); return (1);} return (fd);}
/ / / / CloseSerialPort: Cierre nuestra conexin y restaurar la configuracin original / / void CloseSerialPort (int fd) { / / Bloquear hasta que toda la produccin escrita ha sido enviado desde el dispositivo si (tcdrain (fd) == -1) { printf ("Error esperando desage -% s (% d) \ n", strerror (Error), errno);} / / Inicializar el puerto serie al estado en el que nos encontramos if (tcsetattr (fd, TCSANOW, y gOriginalTTYAttrs) == -1) { printf ("Error al restaurar atributos tty -% s (% d) \ n", strerror (Error), errno);} / / Cerrar el puerto close (fd); } / / / / SendGetHeartRate: Funcin para enviar un comando para obtener el nmero de valores de la frecuencia cardaca
/ / Especificado en NumEntries / / / / Devuelve 1 para el xito, 0 para el fracaso / / SendGetHeartRate int (int fd, int NumEntries) { caracteres sendCommand [8]; / / matriz de tamao para mantener la mayor cadena de comando CmdLength int / / Nmero de caracteres en la cadena de comando
/ / Validar NumEntries si NumEntries (<0) NumEntries = 0; else if (NumEntries> 32) NumEntries = 32;
/ / Construye la cadena de comandos / / Nota: "\ 015" es el carcter de retorno de carro CmdLength = sprintf (sendCommand, "G% 0d \ 015", NumEntries); / / Enviar la cadena de comandos return (write (fd, sendCommand, CmdLength) == CmdLength);}
/ / / / GetResponseString: Funcin para leer una cadena de respuesta de vuelta de la HRMI / / GetResponseString int (int fd, char * ResponseString)
{Char b [2], int i = 0; do { int n = read (fd, b, 1) / / leer un char a la vez if (n == -1) return (1); no / / leer if (n == 0) { usleep (10 * 1000) / / espera 10 milisegundos antes de volver a intentarlo continuar; }
ResponseString [i] = b [0]; / / almacenar el carcter i + +; / / Repeticin hasta que veamos el carcter <CR> o superamos el buffer } While ((b [0] = 0x0D) && (i <MAX_RSP_CHARS)!); ResponseString [i-1] = 0; / / null terminar la cadena (sustituir el <CR>) Return (0);}
int main () { int sfd; descriptor int i = 0 fichero port / / serie / / bucle contador de caracteres RspBytes [MAX_RSP_CHARS], string / / Respuesta numBytes int; / / Abrir el dispositivo de puerto serie asociado a la HRMI if ((SFD = OpenSerialPort ("/ dev/cu.usbserial-A9003PDh")) == -1) {return (1);} / / Enviar una serie de comandos de frecuencia cardaca se obtiene, cada vez solicitando ms memoria histrica
/ / Entradas while (i + + <33) { if (SendGetHeartRate (SFD, i) == 0) {printf ("Error: SendGetHeartRate no \ n"); break;} if (GetResponseString (SFD, RspBytes) == -1) {printf ("Error: GetResponseString no \ n"); break;} else { printf ("Request% 2d =>% s \ n", i, RspBytes);} sleep (1);} CloseSerialPort (SFD); }
/ / Incluir la biblioteca serial importacin processing.serial *.; / Declaracin / Variable Puerto serie; / El puerto serie / byte [] = new byte rspCharArray [32]; / / Dnde vamos a poner los datos brutos ledos del HRMI int [] rspArgArray = new int [3]; / / Dnde vamos a poner los valores de respuesta convertidos int validData = 0; int CR = 13 / / <CR> constante void setup () { / / Abrir un dispositivo serie especfica (esto va a cambiar para cada dispositivo HRMI) port = nueva serie (this, "/ dev/tty.usbserialA9003PDh", 9600);
/ / Configurar el serialEvent que se llamar cuando recibimos respuesta completa / / Paquetes desde el dispositivo de port.bufferUntil HRMI (CR);
} Void draw () { / / Enviar el comando para obtener un nico valor de la frecuencia cardaca validData = 0; port.write ('G'); port.write ('1 '); port.write (CR);
/ / Esperar una respuesta del dispositivo HRMI while (validData == 0) { delay (1000); / / Delay 1 segundo entre los controles }
/ / Modo de visualizacin, el recuento y la frecuencia cardiaca if ((rspArgArray [0] y 0x01) == 0x01) print ("Modo promediada"), de otra print ("Modo Raw"); print (rspArgArray [1]); print (""); println (rspArgArray [2]) / / Conde, tasa / / Corazn} / / Captura el evento de la interfaz serie. Asegrese de que haya / / En realidad los datos para leer antes de intentar realizar cualquier proceso. void serialEvent (puerto serie) { if (port.readBytesUntil (CR, rspCharArray)! = 0) { / / Leer bytes hasta que lleguemos al final del paquete de conversin / / Cada dgito ASCII en un nmero. Hacemos uso del espacio / / carcter entre grupos de dgitos a nmeros delimitan. / / Argumento 0: Indicadores de estado
/ / Argumento 1: II Conteo / / Argumento 2: Heartrate / / ArgIndex int = 0; charIndex int = 0; for (int i = 0; i <3, i + +) rspArgArray [i] = 0; while (! rspCharArray [charIndex] = CR) {if (! rspCharArray [charIndex] = ((byte) '')) { rspArgArray [ArgIndex] = (rspArgArray [ArgIndex] * 10) + (rspCharArray [charIndex] ((Byte) '0 ')); } Else { ArgIndex + +; } CharIndex + +; } validData = 1; } }
Arduino con I 2 C
El Arduino y relacionados pequeos hardware controladores que ejecutan el idioma Cableado incluyen una biblioteca llamada alambre que hace que sea fcil de interactuar con una HRMI travs de la E 2 C puerto. (Tambin pueden comunicarse con el HRMI a travs de una serie de interfaz). El programa de procesador de siguiente ilustra una simple respuesta del comando / usar el I 2 C de interfaz. Se compone de dos archivos. El primer archivo, arduino_simple.pde, es el programa principal. El segundo archivo, hrmi_funcs.h, contiene los I 2 C rutinas de acceso. arduino_simple.pde
/ *
Conexiones Arduino HRMI ----------------------5 +5 ( Poder para el HRMI) GND GND Analgica 5 TX (I2C SCL) (se recomienda 4.7 kOhm pullup) * Entrada
mximo
Nota: Por defecto la biblioteca cableado Arduino est limitada a un Lectura I2C de 32 bytes. El comando Get Heartrate se limita por este cdigo a un mximo de 30 valores (para un mximo de paquetes
Configuracin Informacin
Cambiar estas constantes para que coincida con su configuracin Los valores son los valores de fbrica (no OP1-OP7 puentes
especfica. Estas instalados). Jumper * OP0 debe ser instalado y puente SJ1 eliminado. *
serial. *
/ *
* /
Programa constantes
# Define MAX_IN_BUFFSIZE 16
/ *
* /
caracteres serInStr [MAX_IN_BUFFSIZE] / / matriz de cadenas de entrada de serie numEntries int = 0; / / Nmero de valores de FC para solicitar numRspBytes int / / Nmero de bytes de Respuesta a leer byte i2cRspArray [34]; / / array respuesta I2C, tamao de leer 32 HR valores byte hrmi_addr = HRMI_I2C_ADDR; direccin / / I2C utilizar
/ *
* / Void setup () {
/ / Inicializar el hrmi_open comunicacin I2C (); / / Inicializar la interfaz en serie Serial.begin (HRMI_HOST_BAUDRATE); }
/ *
* / Void loop () {
/ / Solicitud de un conjunto de valores de la frecuencia cardaca hrmiCmdArg (hrmi_addr, 'G', (byte) numEntries);
/ / Obtener la respuesta del numRspBytes HRMI = numEntries + 2; if (hrmiGetData (hrmi_addr, numRspBytes, i2cRspArray)! = -1) {/ / enva los resultados de vuelta en la interfaz serial en formato ASCII Serial.print ("Solicitud"); Serial.print (numEntries); Serial.print ("=>"); for (int i = 0; i <numRspBytes, i + +) {Serial.print (i2cRspArray [i], DEC );
/ / Configuracin para hacerlo de nuevo si (+ + numEntries> 30) numEntries = 0; delay (1000); / / retraso de 1 segundo entre comandos}
hrmi_funcs.h
/ *
hrmi_funcs.h
* / # Include <Wire.h> / *
* /
hrmi_open: Inicializar la biblioteca I2C Esta rutina debe ser llamada antes de intentar comunicarse con I2C
Wire.begin (); }
/ *
* /
static void hrmiCmdArg (byte addr, byte cmd, byte arg) { Wire.beginTransmission (addr); Wire.send (cmd); Wire.send (arg); Wire.endTransmission (); }
/ *
* /
static void hrmiCmd (byte addr, byte cmd) { Wire.beginTransmission (addr); Wire.send (cmd); Wire.endTransmission (); }
/ *
* / static int hrmiGetData (byte addr, numBytes byte, byte * dataArray) { Wire.requestFrom (addr, numBytes); if (Wire.available ()) {for (int i = 0; i <numBytes, i + +) dataArray [i] = Wire.receive (); return (0); } Return (1); }
Apndice C: Esquema
Pulsmetro interfaz Manual del usuario