You are here

프로젝트 #031: Bluetooth Low Energy Pressure Sensor (BMP180) | Cypress Semiconductor

프로젝트 #031: Bluetooth Low Energy Pressure Sensor (BMP180)

In today's project, we implement a digital Pressure Sensor with Bluetooth Low Energy 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.

Bluetooth Low Energy connectivity is implemented by creating a custom Bluetooth Low Energy 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 Bluetooth Low Energy GATT Client device, like the CySmart USB Dongle (included with the Bluetooth Low Energy 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

   PSoC and Temperature Diagram

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.

본 사이트의 모든 컨텐츠와 자료는 "있는 그대로" 제공됩니다. CYPRESS SEMICONDUCTOR와 해당 공급자는 그 목적에 관계 없이 이러한 자료의 적합성에 대한 표현을 하지 않으며 상업성, 특정 목적에의 적합성, 권리 및 제3자 지적 재산권의 비침해에 대한 모든 묵시적 보증과 조건을 포함하여(이에 제한되지 않음) 이러한 자료와 관련한 모든 보증과 조건을 부인합니다. CYPRESS SEMICONDUCTOR에서는 명시적 또는 묵시적으로 금반언이나 여타의 다른 방법으로 라이센스를 부여하지 않습니다. 이 사이트의 정보를 사용하려면 제3자의 라이센스 또는 CYPRESS SEMICONDUCTOR에서 제공하는 라이센스가 필요할 수 있습니다.

이 사이트의 컨텐츠에는 특정 사용 지침이나 제한이 포함되거나 그러한 제한이 적용될 수 있습니다. 모든 게시물과 이 사이트 컨텐츠 사용에는 사이트 약관이 적용됩니다. 이 컨텐츠를 사용하는 제3자는 제한 또는 지침을 따르고 이 사이트의 약관을 준수할 것이라는 데 동의합니다. Cypress Semiconductor와 그 공급자는 컨텐츠와 자료, 그 제품, 프로그램 및 서비스를 언제든 수정, 삭제, 개조, 개선, 향상 및 기타 변경하거나 예고 없이 컨텐츠, 제품, 프로그램 또는 서비스를 이동 또는 중단할 수 있는 권리를 보유합니다.