TOP Contributors

  1. MIKROE (2762 codes)
  2. Alcides Ramos (374 codes)
  3. Shawon Shahryiar (307 codes)
  4. jm_palomino (118 codes)
  5. Bugz Bensce (90 codes)
  6. S P (73 codes)
  7. dany (71 codes)
  8. MikroBUS.NET Team (35 codes)
  9. NART SCHINACKOW (34 codes)
  10. Armstrong Subero (27 codes)

Most Downloaded

  1. Timer Calculator (139254 times)
  2. FAT32 Library (71751 times)
  3. Network Ethernet Library (57122 times)
  4. USB Device Library (47430 times)
  5. Network WiFi Library (43082 times)
  6. FT800 Library (42404 times)
  7. GSM click (29835 times)
  8. mikroSDK (28078 times)
  9. PID Library (26885 times)
  10. microSD click (26198 times)
Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

< Back
mikroSDK Library

Oximeter click

Rating:

5

Author: MIKROE

Last Updated: 2018-07-20

Package Version: 1.0.0.0

mikroSDK Library: 1.0.0.0

Category: Biometrics

Downloaded: 4526 times

Not followed.

License: MIT license  

Oximeter click is a versatile photometric Click board, perfectly suited for measuring the blood oxygen saturation. It employs ADPD105, a highly configurable photometric front end (AFE) device from Analog Devices.

No Abuse Reported

Do you want to subscribe in order to receive notifications regarding "Oximeter click" changes.

Do you want to unsubscribe in order to stop receiving notifications regarding "Oximeter click" changes.

Do you want to report abuse regarding "Oximeter click".

  • mikroSDK Library 2.0.0.0
  • Comments (0)
DOWNLOAD LINK RELATED COMPILER CONTAINS
mikroBasic PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroBasic PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroC PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for ARM
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for AVR
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for dsPIC30/33 & PIC24
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for FT90x
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc
mikroPascal PRO for PIC32
  • lib
  • src
  • exa
  • hlp
  • hex
  • sch
  • pcb
  • doc

mikroSDK Library Blog

Oximeter click

Oximeter click

Native view of the Oximeter click board.

View full image
Oximeter click

Oximeter click

Front and back view of the Oximeter click board.

View full image

Library Description

The library can communicate with the device via I2C driver by writing to the registers and by reading from the registers, including data registers. The library has the ability to measure the level of oxygen (O2) in the blood, something like blood pressure. Library also can configure the device to works in two Time Slot Mode independently with different configurations. For more details check the documentation.

Key functions:

  • uint8_t oxim_writeReg( uint8_t register_address, uint16_t transfer_data ) - The function writes 16-bit data to the register.
  • uint8_t oxim_setTimeSlotA( uint8_t enableSlotA, uint8_t enablePhotodiode, uint8_t enableLED, uint8_t setMode ) - The function performs the configuration for Time Slot A and enables the interrupt for this Slot.
  • uint8_t oxim_enableChannels( uint8_t selectChannel ) - The function determines which channel/channels be enabled.
  • void oxim_readData( uint32_t *channResults, uint8_t resultMode ) - Function reads data in the desired mode for determined Slot.

Example description

The application is composed of three sections :

  • System Initialization - Initializes peripherals and pins.
  • Application Initialization - Initializes I2C driver and performs the device configuration which puts Time Slot Ain enabled mode and LEDX2 (IR diode) to the active state. On Oximeter click the photodiode is connected on PD1 input, and because we will observe the Channel 1 in this example (CH1 is enabled). Before the device configuration, the SW reset will be performed and in this way, we will put the registers in the initial state.
  • Application Task - (code snippet) - Gets data when IR diode (LEDX2) is enabled, and after that gets data when LED diode(LEDX1) is enabled. Repeats operation 10 times and then calculates the average value for both results. This results logs on the serial plot as graphic view. Note: For this example you must have the serial plot aplication.The IR diode is internal connected on LEDX2 input, and the LED diode is internal connected on LEDX1 input.The photodiode is internal connected on PD1 input.When we want to perform some register configuration we must first put the device in Program Operating Mode, then we canset the desired register to the desired value, and when we finished, then we can put the device back to the Normal Operating Mode.
void applicationTask()
{
 oxim_plotDisplay();
}

Additional Functions :

  • void oxim_plotDisplay() - Makes the average value of 10 samples when IR diode and LED diode is enabled alternately, and logs results on serial plot as graphic view.
  • void oxim_uartDisplay() - Gets 100 samples of data when IR diode is enabled, and then gets 100 samples of data when LED diode is enabled and after that logs this 100 samples of data for both diode parallel on USB UART as graphic view.
  • void oxim_logsResults() - Gets data which is determined in aplicationinit configuration and logs result on USB UART.

Other mikroE Libraries used in the example:

  • Conversions
  • I2C
  • UART

Additional notes and information

Depending on the development board you are using, you may need USB UART clickUSB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.

ALSO FROM THIS AUTHOR

DAC 15 Click

0

DAC 15 Click is a compact add-on board that provides a highly accurate digital-to-analog conversion on two channels. This board features the DAC80502, a dual 16-bit 1-LSB INL voltage-output DAC from Texas Instruments. The DAC operates at a wide power supply range and is a low-power device with as low as 1mA per channel at 5.5V. It also includes a 2.5V, 5-ppm/°C internal reference, giving a full-scale voltage buffered output ranges of 1.25V, 2.5V, and 5.5V.

[Learn More]

Rotary G click

5

Rotary G click carries a 15-pulse incremental rotary encoder with detents, surrounded by a ring of 16 LEDs. It’s a perfect solution for adding a precision input knob to your design. The encoder outputs A and B signals (out of phase to each other); the knob also acts as a push-button which sends an interrupt to the target board MCU.

[Learn More]

USB UART 3 Click

0

USB UART 3 Click is a versatile and feature-rich USB to UART interface from Silicon Labs.

[Learn More]