You are here

Project #031: BLE Pressure Sensor (BMP180) | Cypress Semiconductor

Project #031: BLE Pressure Sensor (BMP180)

In today's project, we implement a digital Pressure Sensor with BLE connectivity on the BLE Pioneer Kit.

The PSoC 4 BLE device communicates with the BMP180 Digital Pressure Sensor over an I2C communication interface. This sensor provides Temperature, Barometric Pressure and Altitude readings to the PSoC 4 BLE device.

BLE connectivity is implemented by creating a custom BLE Profile with a custom Service called "BMP180". This Service consists of three custom Characteristics, called "Temperature", "Pressure", and "Altitude". These custom Characteristics are used for sending 4-byte sensor data as Notifications to a connect BLE GATT Client device, like the CySmart USB Dongle (included with the BLE Pioneer Kit) or a mobile phone. 

This project also shows how to monitor the sensor data graphically using the Micrium® µC/Probe application. 

You can download this PSoC Creator project along with a detailed PDF of instructions, here from GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day031_Digital_Sensor

   

Comments

bobgoar's picture

I have this app working except the Micrium® µC/Probe application. The data is there in the dongle I can see it changing and have converted the data and I know it is correct. When I run the Micrum uc/probe I get the display screen and no data. The screen has small triangles with a ! mark inside them stating no data to display. What am I missing here. I think it must be how I am setup with the Micrium but do not know how to fix it. I did notice that in the example in the PFD it shows running and the name of the device. I have stop and no device. Do you have any ideals? I would like to see the raw data but don't know how to do that in the Probe program.

Thanks

Bob Lantrip/bobgoar

Srikanth's picture

You will see a caution symbol (small yellow triangle with '!' mark) at the bottom right hand side of graphical elements (Angular Gauge, Charts, etc.) in µC/Probe when the symbol/variable mapping for the corresponding graphical elements is missing. This happens if you open the µC/Probe workspace before building the example project, where the linked ELF file is not present (Note that the project’s ELF file generated only after building the project) or when the µC/Probe workspace is moved to a new directory location after downloading the example project. In both cases, the µC/Probe shows a popup window to update the ELF file location. If the correct ELF file is not selected, the variable mapping for graphical elements is lost and shows the caution symbol (as mentioned above). In this case, re-open the µC/Probe workspace after building the example project or select the generated ELF file when the µC/Probe shows a popup window to update the ELF file location. Now run the µC/Probe and you will see the data on the screen.

Srikanth's picture

You will see a caution symbol (small yellow triangle with '!' mark) at the bottom right hand side of graphical elements (Angular Gauge, Charts, etc.) in µC/Probe when the symbol/variable mapping for the corresponding graphical elements is missing.

This happens if you open the µC/Probe workspace before building the example project, where the linked ELF file is not present (Note that the project’s ELF file generated only after building the project) or when the µC/Probe workspace is moved to a new directory location after downloading the example project.

In both cases, the µC/Probe shows a popup window to update the ELF file location. If the correct ELF file is not selected, the variable mapping for graphical elements is lost and shows the caution symbol (as mentioned above). In this case, re-open the µC/Probe workspace after building the example project or select the generated ELF file when the µC/Probe shows a popup window to update the ELF file location. Now run the µC/Probe and you will see the data on the screen.

Alternatively, you can load the generated ELF file from the Symbol Browser window in µC/Probe and drag-and-drop the global variables listed under 'I2CMaster.c' onto the corresponding graphical elements in the DataScreen window to see the data. Please refer to the µC/Probe User’s Manual for details.

Also make sure that the 'Debug Interfaces' option in µC/Probe Settings window is set to 'Cypress PSoC Prog' and the KitProg/ is selected from the drop-down menu. This will enable the communication between µC/Probe and CY8CKIT-042-BLE.

nikhil.laddha_1578391's picture

As I would like to use this example for my sensor. I am using the same kit CY8CKIT 042 BLE pioneer kit. As I am running this example but as it mention for sensor VIN oin P3[4]- J2.7 I not getting any voltage and I also would like to know how I can change the voltage at this pin and for SDA and SCL line can we use internal pull up resistor as I have seen the schematic we have a internal pull up resistor.

Thank you

Srikanth's picture

In this example, the PSoC pin used for powering the sensor VIN (P3[4] / J2.9) is activated only when the PSoC 4 BLE device is in active mode and BLE notifications are sent. This pin is set to Hi-Z in Deep Sleep/inactive mode to save power consumption. Hence you will see voltage at this pin only when the example is connected to a Central device and notifications are enabled. Please make sure to enable the notifications before measuring the voltage at this pin.

You can change the voltage at this pin (also SDA and SCL pins) by changing the system power supply jumper J16 on the BLE Pioneer Baseboard (CY8CKIT-042-BLE) to the desired position/voltage level.

jordanss123 jordanss123's picture

replica yeezy boost 350 Thanks for your submission. I also think that laptop computers are becoming more and more popular these days, and now will often be the only sort of computer used in a household.

 

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.