The Multi Touch Bricklet 2.0 is equipped with the MPR121 capacitive touch sensor. It can be used to extend Bricks to sense touch at 12 different locations.
The thing that is actually touched is called an "electrode". The electrode can be a cable, electrically conductive tape or a copper surface of a circuit board. Electrodes can sense touch through a thin layer of glass, plastic, paper or similar.
With the Multi Touch Bricklet it is possible to build custom touch panels by gluing a cover onto the electrodes.
Property | Value |
---|---|
Sensor | MPR121 |
Current Consumption | 30mW (6mA at 5V) |
Number of Electrodes | 12 + simulated 13th electrode for proximity |
Dimensions (W x D x H) | 30 x 25 x 7mm (1.18 x 0.98 x 0.28") |
Weight | 4g |
To test a Multi Touch Bricklet 2.0 you need to have Brick Daemon and Brick Viewer installed. Brick Daemon acts as a proxy between the USB interface of the Bricks and the API bindings. Brick Viewer connects to Brick Daemon. It helps to figure out basic information about the connected Bricks and Bricklets and allows to test them.
Connect the Multi Touch Bricklet 2.0 to a Brick with a Bricklet Cable.
If you connect the Brick to the PC over USB, you should see a new tab named "Multi Touch Bricklet 2.0" in the Brick Viewer after a moment. Select this tab. Touch single pins of the Multi Touch Bricklet and you should see their state changing in the Brick Viewer:
After this test you can go on with writing your own application. See the Programming Interface section for the API of the Multi Touch Bricklet 2.0 and examples in different programming languages.
You can create simple touch pads by using stripped wires. tape the wires with self-adhesive aluminum tape to a surface. Since it is a capacitive technology you can cover your touch panel with thin non-conductive materials. If your pad is too sensitive you can remove some of the aluminum tape or reduce the sensitivity in software.
The following image shows the basic setup of a touch pad:
Depending on your touch pads it might be necessary to adjust the sensitivity. Use the Brick Viewer Software to play around with it by changing the value until you found a satisfying sensitivity. To transfer new values press "Recalibrate".
There are several circuit boards offered in the shop which can be used as inputs for the Multi Touch Bricklet without the need of creating own pads.
Additionally there is a pad kit especially for gaming applications:
The Giant Game Pad consists of different pads made out of 3mm PMMA. Besides the pads there is 10m of stranded wire, two 1m pieces of aluminum tape and a 12 pole IDC connector included in the kit.
To create working pads you have to cut the 10m wire in 12 sections as you need them. Dismantle 5cm of the isolation on one side of the wires. Stick the wire with the aluminum tape to the bottom side of the pads. For a first test only use a small section of the aluminum foil.
After that insert the wires in the IDC connector. You can use a vise or similar to press the connector together.
After that your Giant Game Pad is finished. To ensure that the pads don't slide around can stick the adhesive rubber feet to the bottom of the pads.
The sensitivity has to be adapted depending on the wire length. This can be done for all pads by software and for each panel by adjusting the size of the aluminum plane.
A laser-cut case for the Multi Touch Bricklet 2.0 is available.
The assembly is easiest if you follow the following steps:
Below you can see an exploded assembly drawing of the Multi Touch Bricklet 2.0 case:
Hint: There is a protective film on both sides of the plates, you have to remove it before assembly.
See Programming Interface for a detailed description.
Language | API | Examples | Installation |
---|---|---|---|
C/C++ | API | Examples | Installation |
C/C++ for Microcontrollers | API | Examples | Installation |
C# | API | Examples | Installation |
Delphi/Lazarus | API | Examples | Installation |
Go | API | Examples | Installation |
Java | API | Examples | Installation |
JavaScript | API | Examples | Installation |
LabVIEW | API | Installation | |
Mathematica | API | Examples | Installation |
MATLAB/Octave | API | Examples | Installation |
MQTT | API | Examples | Installation |
openHAB | API | Examples | Installation |
Perl | API | Examples | Installation |
PHP | API | Examples | Installation |
Python | API | Examples | Installation |
Ruby | API | Examples | Installation |
Rust | API | Examples | Installation |
Shell | API | Examples | Installation |
Visual Basic .NET | API | Examples | Installation |
TCP/IP | API | ||
Modbus | API |