Sparkfun Mpr 121 breakout board


#1

Hi all. i have recently found out about Arduino and i am a complete novice when it comes to programing. The project that i have started is making a touch pad hid device for gaming specifically for Elite Dangerous Horizons. I have 4 mpr 121 breakout boards to give me 48 touch sensor’s. i have managed to hook up 1 and get it working. i have changed the addresses on the other three and they all work. but when i put them together and attach them to a touch sensor switch (Touch Switch Module HTTM Series 2.7V-6V Strong anti-interference) i had some funny results. The switch has been set up as touch on release of like a key board.
i think the programing could be better, so i thought i would try XOD but I’m having difficulty setting up a node for the Breakout board, and help or advice would be nice.
Thanks in advance.


#2

Unfortunately, if a node does not already exist in XOD to interface with your hardware, you generally need to be able to write C++ code to create the node yourself, so XOD will not make that part of your project easier for you. There are libraries that others have contributed (https://xod.io/libs/), but I don’t see one for your device.

There are a few existing nodes that interface with I2C devices; you might be able to use one of them to help get you started with your new node. There doesn’t seem to be an easy way to find them, unfortunately. Searching for “i2c” will only find the LCD node (which shows init & write, but not read). Some of the accelerometers use I2C and would probably be a better starting point for you. There are probably other I2C nodes if you can find them; I would look at descriptions of nodes under xod/common-hardware. You can also search for “i2c” on the library page, but I didn’t see anything there that would help you (more LCD examples and a DAC driver that probably doesn’t match your case as well as accelerometers & thermometers would).

Note that your board probably specifies the I2C address in hex. XOD will need the address in decimal, so you will need to convert. A google search will provide plenty of conversion calculators if you don’t know how to do it yourself.


#3

Thanks for your reply.