Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

README.md

ML8511A - UV Click (Mikroe)

Type badge Type badge Type badge Type badge Type badge Type badge Type badge Type badge Type badge Type badge

Summary

This project aims to show the hardware driver that is used to interface with the UV Click driver from Mikroe using the Silicon Labs platform.

UV Click is a compact add-on board that alerts users of excessive ultraviolet radiation levels. This board features the ML8511A, an ultraviolet light sensor suitable for acquiring UV intensity indoors or outdoors from Rohm Semiconductor. The ML8511A is equipped with an internal amplifier converting photocurrent to voltage depending on the UV intensity working with a wavelength between 280-390nm. It outputs an analog voltage linearly related to the measured UV intensity (mW/cm2), which can be later processed in analog or digital form. Also, the power consumption can be reduced using the available power management mode. This UV Click board is suitable for various applications, such as determining exposure to ultraviolet radiation in a laboratory or environmental settings, weather stations, industrial manufacturing, and many more.

Table Of Contents

Required Hardware

Hardware Connection

The Silicon Labs Explorer Kit boards feature a mikroBUS™ socket, allowing the UV Click board to connect easily via the mikroBUS header. Ensure that the 45-degree corner of the UV Click board aligns with the 45-degree white line on the Explorer Kit. The hardware connection is illustrated in the image below.

board

For the Silicon Labs boards that do not have a mikroBUS™ socket, consider using the Wire Jumpers.

The tables below provide an overview of the pin connections.

Silicon Labs BLE Explorer Kit:

Description BRD4314A BRD4108A BRD2703A BRD2710A UV Click Board
SPI CS PIN PC3 PC3 PC0 PC3 CS
SPI CLK PIN PC2 PC2 PC1 PC2 SCK
SPI RX PIN PC1 PC1 PC2 PC1 SDO
SPI TX PIN PC0 PC0 PC3 PC0 SDI
Analog Signal PB0 PB0 PB0 PB0 AN
Enable PC6 PC6 PC8 PC6 EN

Silicon Labs Wi-Fi Development Kit:

Description BRD4338A + BRD4002A BRD2605A BRD2708A UV Click Board
RTE_GSPI_MASTER_CLK_PIN GPIO_25 [P25] GPIO_25 [P3] GPIO_25 SCK
RTE_GSPI_MASTER_MISO_PIN GPIO_26 [P27] GPIO_26 [P5] GPIO_26 SDO
RTE_GSPI_MASTER_MOSI_PIN GPIO_27 [P29] GPIO_27 [P7] GPIO_27 SDI
RTE_GSPI_MASTER_CS0_PIN GPIO_28 [P31] GPIO_28 [P9] GPIO_28 CS
Analog Signal ULP_GPIO_1 [P16] ULP_GPIO_1 [P4] GPIO_29 AN
Enable GPIO_46 [P24] GPIO_10 [P23] GPIO_30 EN

Setup

You can either create a project based on an example project or start with an empty example project.

Important

  • Make sure that the Third Party Hardware Drivers extension is installed as part of the SiSDK. If not, follow this documentation.
  • Third Party Hardware Drivers extension must be enabled for the project to install the required components from this extension.

Tip

To show all components in the Third Party Hardware Drivers extension, the Evaluation quality must be enabled in the Software Component view.

Create a project based on an example project

  1. From the Launcher Home, add your device to My Products, click on it, and click on the EXAMPLE PROJECTS & DEMOS tab. Find the example project with filter UV.

  2. Click Create button on the Third Party Hardware Drivers - ML8511A - UV Click (Mikroe) example. Example project creation dialog pops up -> click Create and Finish and Project should be generated.

    Create_example

  3. Build and flash this example to the board.

Start with an empty example project

  1. Create an "Empty C Project" for your board using Simplicity Studio v5. Use the default project settings.

  2. Copy the file app/example/mikroe_uv_ml8511a/app.c into the project root folder (overwriting the existing file).

  3. Open the .slcp file. Select the SOFTWARE COMPONENTS tab and install the following components:

    • If the BLE Explorer Kit is used:

      • [Services] → [Timers] → [Sleep Timer]
      • [Services] → [IO Stream] → [IO Stream: EUSART]** → default instance name: vcom
      • [Application] → [Utility] → [Log]
      • [Platform] → [Driver] → [SPI] → [SPIDRV] → default instance name: mikroe
      • [Third Party Hardware Drivers] → [Sensors] → [ML8511A - UV Click (Mikroe)]
    • If the Wi-Fi Development Kit is used:

      • [WiSeConnect 3 SDK] → [Device] → [Si91x] → [MCU] → [Service] → [Sleep Timer for Si91x]
      • [Third Party Hardware Drivers] → [Sensors] → [ML8511A - UV Click (Mikroe)]
      • [WiSeConnect 3 SDK] → [Device] → [Si91x] → [MCU] → [Peripheral] → [ADC] default instance name: channel_1
  4. Enable Printf float

    • Open Properties of the project.
    • Select C/C++ Build → Settings → Tool Settings → GNU ARM C Linker → General → Check Printf float. float
  5. Build and flash this example to the board.

How It Works

Testing

After setting up all the required components, flash the code to the Explorer Kit, the application will start measuring the ultraviolet radiation value and evaluate the harm of the surrounding environment every 1 second. You can visualize the changes of these values on the Console Window.

result

Report Bugs & Get Support

To report bugs in the Application Examples projects, please create a new "Issue" in the "Issues" section of third_party_hw_drivers_extension repo. Please reference the board, project, and source files associated with the bug, and reference line numbers. If you are proposing a fix, also include information on the proposed fix. Since these examples are provided as-is, there is no guarantee that these examples will be updated to fix these issues.

Questions and comments related to these examples should be made by creating a new "Issue" in the "Issues" section of third_party_hw_drivers_extension repo.