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:
- 19:691019fc9891
- Parent:
- 18:cd47f802bb36
- Child:
- 20:f0e446e5b209
diff -r cd47f802bb36 -r 691019fc9891 main.cpp --- a/main.cpp Sat May 13 09:29:41 2017 +0000 +++ b/main.cpp Sat May 13 16:12:26 2017 +0000 @@ -39,22 +39,14 @@ IQS62xDisplay terminal; // class to display IQS62x registers on a terminal IQS62xIO iqs62x; // class for basic IQS62x block read and write -int main() { +int main() { terminal.helloMessage(false); // say hello and don't wait for user keypress to continue iqs62x.configure(); // configure the IC - while(1) { + while(1) { // main loop where we continuously display all the registers 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; // a highlight table contains 1 byte for every register - // if a byte in a highlight table is nonzero, the corresponding register value will be highlighted during display - highlightTable = 0; // use a NULL table to make all registers print plain with no highlighting - highlightTable = iqs62x.writeFlag; // special table to highlight all registers that were initialized - can be used to verify configure() - highlightTable = iqs62x.writeChanges; // special table to highlight all registers that were written/configured but now contain a different value - highlightTable = iqs62x.readChanges; // special table to highlight all registers that changed since the previous read - - terminal.showRegisters(iqs62x.registers, highlightTable); // display the registers and highlight the ones marked in the table - + char * highlightTable = iqs62x.readChanges; // table that contains all registers that changed since the previous read + terminal.showRegisters(iqs62x.registers, highlightTable); // display the registers and highlight the ones marked in the highlight table } }