Test program for capacitive sensing using the Freescale MPR121 on the Sparkfun SEN-10250 BoB

Dependencies:   MPR121 mbed

Fork of MPR121_HelloWorld by Sam Grove

Hello World program that prints the bit mapped value of the electrode that is detected to the console. Also lights a LED when a press or no press state is detected.

Hardware tested:

https://www.sparkfun.com/products/10250

Platforms tested:

Information

Must add pull-ups to the I2C bus!!

LED indication for LPC1768 & LPC11U24 are opposite of KL25Z. See schematics for details :)

main.cpp

Committer:
sam_grove
Date:
2014-10-22
Revision:
2:a37fbc835511
Parent:
1:684222fa16bb

File content as of revision 2:a37fbc835511:

#include "mbed.h"
#include "MPR121.h"

Serial pc(USBTX, USBRX);
DigitalOut myled(LED1);

#if defined TARGET_LPC1768 || TARGET_LPC11U24
  I2C i2c(p28, p27);
  InterruptIn irq(p26);
  MPR121 touch_pad(i2c, irq, MPR121::ADDR_VSS);

#elif defined TARGET_KL25Z
  I2C i2c(PTC9, PTC8);
  InterruptIn irq(PTA5);
  MPR121 touch_pad(i2c, irq, MPR121::ADDR_VSS);

#else
  #error TARGET NOT TESTED
#endif

int main() 
{       
    touch_pad.init();
    touch_pad.enable();
    touch_pad.registerDump(pc);
    
    while(1)
    {
        if(touch_pad.isPressed())
        {
            uint16_t button_val = touch_pad.buttonPressed();
            printf("button = 0x%04x\n", button_val);
            myled = (button_val>0) ? 1 : 0;
        }            
    }
}