LED Brightness Control using Touch Sensor and ARM

Hey Folks,
In this tutorial, we will learn, how to change the intensity of light using touch sensor the ARM (FRDM-KL25Z).

    • The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor. 
    • The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device.
    • The FRDM-KL25Z is supported by a range of NXP and third-party development software.
    • It is packaged as a development board with connectors to break out to stripboard and breadboard and includes a built-in USB FLASH programmer.

    • NXP KL25Z Kinetis KL2x MCU (MKL25Z128VLK4)
      • High-performance ARM® Cortex™-M0+ Core
      • 48MHz, 16KB RAM, 128KB FLASH
      • USB (Host/Device)
      • SPI (2)
      • I2C (2)
      • UART (3)
      • PWM (TPM)
      • ADC (16 bit)
      • DAC (1x 12bit)
      • Touch Sensor
      • GPIO (66)
               So now we are familiar with the FRDM-KL25Z let’s use it.

   Components Required:
    • FRDM-KL25Z board
    • Data Cable (USB Mini-B)
    • Capacitive touch “slider”(On Board)


#include "mbed.h"
#include "tsi_sensor.h"

/* This defines will be replaced by Pin Names soon */
#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
  #define ELEC0 9
  #define ELEC1 10
#elif defined (TARGET_KL05Z)
  #define ELEC0 9
  #define ELEC1 8

int main(void) {
    PwmOut led(LED_GREEN);
    TSIAnalogSlider tsi(ELEC0, ELEC1, 40);
    while (true) {
        led = 1.0 - tsi.readPercentage();

After dumping the code the output is shown in the video below:-



Join our hands-on training courses.

To know more visit us at Karkhana Training Portal.