100 projects in 100 days | Cypress Semiconductor
In today's project, we implement a BLE Heart Rate Monitor with PSoC 4 BLE.
A common method to measure heart rate pulses is by using Photoplethysmography (PPG), which uses LEDs to illuminate the skin and photodiodes to measure reflected light, allowing us to measure changes in the amount of absorbed light.
More from wikipedia - With each cardiac cycle the heart pumps blood to the periphery. Even though this pressure pulse is somewhat damped by the time it reaches the skin, it is enough to distend the arteries and arterioles in the subcutaneous tissue. If the pulse oximeter is attached without compressing the skin, a pressure pulse can also be seen from the venous plexus, as a small secondary peak. The change in volume caused by the pressure pulse is detected by illuminating the skin with the light from a light-emitting diode (LED) and then measuring the amount of light either transmitted or reflected to a photodiode. Each cardiac cycle appears as a peak, as seen in the figure. Because blood flow to the skin can be modulated by multiple other physiological systems, the PPG can also be used to monitor breathing, hypovolemia, and other circulatory conditions. Additionally, the shape of the PPG waveform differs from subject to subject, and varies with the location and manner in which the pulse oximeter is attached.
An Analog Front End (AFE) can be implemented using the programmable analog blocks (opamps, comparators) on the PSoC 4 BLE device. This AFE can directly interface with the pulse oximeter (sensor) and sense changes in values that are eventually digitized by the SAR ADC Component. The ADC output is filtered using an FIR filter and then converted into actual heart rate values.
The BLE Component is configured with the GATT Profile for a Heart Rate Sensor. A BLE Client like a cell phone or laptop can read these heart rate values using the standard GATT Profile. Additionally, this project implements the BLE Battery Service to transmit battery information to the Client.
You can download this PSoC Creator project here from GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day045_Optical_Heart_Rate_Monitor
In today's project, we demonstrate how to use CapSense (capacitive sensing) to implement proximity sensors with air-gesture support (ala Minority Report).
Capacitive proximity sensing is an approach used to sense the presence of nearby persons without having to touch the actual capacitive sensor. This is done by implementing a highly sensitive capacitive sensor. A common issue with increased sensitivity is the amount of noise induced in the signal, but Cypress's CapSense features SmartSense Auto-Tuning, an alogorithm that constantly monitors the capacitive sensors and auto calibrates them for best and robust performance, thereby negating such noise issues.
In this project, the BLE Pioneer Kit is coupled with the Cypress Proximity Shield (CY8CKIT-024). You can still implement this project using the BLE Pioneer Kit only, but that would only support gestures on a single axis (wheras the Proximity Shield will allow you to test gestures in both the X and Y-axis). The project implements a Bluetooth Smart HID Keyboard that supports "Left" and "Right" arrow keys once connected to your Bluetooth 4.0 enabled PC or tablet/phone. Moving your fingers across the board from left-to-right triggers a "Right" arrow key, and moving right-to-left triggers the "Left" arrow key.
You can download this PSoC Creator project and try out the air-gestures yourself!
In today's project, we demonstrate how to implement PSoC 4 BLE as a Heart Rate Collector.
In this project, the BLE device acts as a GAP Central and communicates with a GAP Peripheral, i.e. a Heart Rate Sensor and gets the heart rate information once connection is established.
This project works in pair with BLE heart rate sensor project (https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day002_Heart_Rate_Sensor) or any other BLE heart rate sensor for e.g. a chest strap monitor.
You can download this PSoC Creator Project from Github: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day043_Heart_Rate_Collector
In today's project, we demonstrate how to use the PSoC 4 BLE device to implement a frequency counter.
Measuring a signal s frequency is a common mixed-signal application. It may be the tachometer signal from a motor or an analog signal for tone detection. For all cases, it requires determining the rate of the signal s oscillation. For mechanical systems, this rate is generally known as revolutions per minute (rpm). For electrical systems, it is better known as cycles per second or Hertz.
This design converts arbitary input signals to square waves using the Opamp Components. The frequency of this input signal is then measured using the TCPWM and UDB Components. The measured values are sent over BLE by using a custom Profile.
You can download this PSoC Creator project from Github: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day042_PSoC_4_BLE_Frequency_Measurement
In today's project, we demonstrate how to use the low-power modes on PSoC 4 BLE.
Recall from project #027, PSoC 4 BLE has five flexible low-power modes with various resources that are available or turned off in those modes, allowing the user to design for optimal power consumption.
In this project, the device can switch between the Active, Sleep, and Deep-Sleep power modes. The BLE subsystem in the chip is also independently controlled to be in its low-power modes whenever suitable.
A BLE Client, the CySmart USB Dongle in this case, it used to send commands to the PSoC 4 BLE device to switch between its low-power modes.
In the Active mode, this project consumes 5.8-mA of current. In the Sleep mode, the current consumption drops down to 3.35-mA. In the Deep-Sleep mode, the current consumption drops down further to only 0.03-mA while still maintaining the Bluetooth Low Energy connection.
You can download this PSoC Creator project here from GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day041_PSoC_4_BLE_Low_Power_Modes
ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.
Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.