Ultra Low Power (5uA) 2D Rotating Magnetic Angle Sensor + Touch + Inductive Proximity (Metal Detect)
Dependencies: IQS62x IQSDisplayTerminal mbed
IQS624 Hello World
Ultra Low Power (5uA) I2C ProxFusion™ sensor for 2D Magnetic Angle + Touch + Proximity
IQS624 connected to mbed LPC1768. The five wires are - 2x I2C, 2x Power, 1x RDY.
You can get get a low cost (<$10) evaluation kit containing the small board shown above (cables & LPC1768 not included) from Mouser - http://bit.ly/IQS624-Eval-Kit-Mouser
IQS624 Information
Azoteq IQS624 is an ultra low power (5uA) I2C sensor for 2D Rotating Magnetic Fields, Capactive Touch and Inductive Proximity.
Designed for next generation user interfaces.
Data sheet & eval kit info: http://www.azoteq.com/products/proxfusion/iqs624?mbed
IQS624 mbed Component Link
IQS624 Pinout
IQS624 Data Sheet & Evaluation Kit Information
http://www.azoteq.com/products/proxfusion/iqs624?mbed
IQS624 Interconnection
IQS624 connected to mbed Teensy 3.1 (actually Teensy 3.2) using 5 wires - 2x I2C, 2x Power, 1x RDY.
IQS624 YouTube Links
IQS624 1-minute YouTube video: http://bit.ly/IQS624Video
ProxFusion for active pens: https://youtu.be/tUImswNPQY4
Diff: main.cpp
- Revision:
- 21:5e3955335251
- Parent:
- 20:f0e446e5b209
- Child:
- 23:2817d2f3145d
diff -r f0e446e5b209 -r 5e3955335251 main.cpp --- a/main.cpp Sun May 14 16:25:11 2017 +0000 +++ b/main.cpp Sun May 14 19:56:54 2017 +0000 @@ -39,17 +39,14 @@ IQS62xDisplay terminal; // class to display IQS62x registers on a terminal IQS62xIO iqs62x; // class for basic IQS62x block read and write -int main() -{ - terminal.helloMessage(false); // say hello and don't wait for user keypress to continue +int main() { + terminal.helloMessage(false); // say hello but don't wait for a keypress iqs62x.configure(); // configure the IC - while(1) { // main loop where we continuously display all the registers + char * color = iqs62x.getTable(color_any_register_that_changed_in_the_previous_20_reads) ; + while(1) { iqs62x.readIqsRegisters(0,NUMBER_OF_REGISTERS); // read all the registers terminal.showStatus(iqs62x.I2Cspeed,iqs62x.I2CErrorCount); // show heading and number of I2C errors - char * highlightTable = iqs62x.readChanges; // table with all registers that changed during previous 20 reads -#define DUMP_ALL_REGISTERS false /* dump (or not) all 16 registers on each line - nonexisting registers return 0xee */ - terminal.showRegisters(iqs62x.registers, highlightTable, DUMP_ALL_REGISTERS); // color all registers flagged in the highlight table - } + terminal.showRegisters(iqs62x.registers, color, false); // display registers, color the registers that changed + } } - // end of IQS624_HelloWorld.cpp \ No newline at end of file