Features
The RCX has only 3 sensor input connectors. Most of the sophisticated robot designs need more than three sensors. Passive sensor multiplexer lets you connect three Boolean sensors (touch sensor) at the same time to single RCX sensor input port. With a simple logical decision you can find out which of the touch sensors are pressed.
This multiplexer may not work with Mindstorms NXT.
|
Technical Specifications
Passive sensor multiplexer has three channels Ch1, Ch2 and Ch3. The table below shows the raw value for different combinations of these sensors.
Note: Due to differences in manufacturing and electronics tolerence levels, the values may be different from the mentioned below. Best way to get the correct value for your PMUX is to attach a touch sensor to your PMUX, and when it's pressed, read the value on your RCX.
Sensor Channel 1
|
Sensor Channel 2
|
Sensor Channel 3
|
Raw Value
|
0
|
0
|
0
|
1023
|
0
|
0
|
1
|
753
|
0
|
1
|
0
|
623
|
0
|
1
|
1
|
512
|
1
|
0
|
0
|
355
|
1
|
0
|
1
|
317
|
1
|
1
|
0
|
293
|
1
|
1
|
1
|
266
|
- Dimensions: size of 2 by 8 stud plate.
- Power with no active sensors: 0mW
- Power with all sensors active: 4mW
- Connector: Standard mindstorms electric connector.
|
Music Maker using two PMUX's
This Music maker was made using 6 touch sensors attached to two PMUX's.
The frequencies are calibrated to match C3 through A#3 notes.
The Sensor values are compared with appropriate ranges to ensure that key presses are noted immediately and accurately.
|
NQC program used for this music maker
task main()
{
// set first pmux as touch sensor in raw mode.
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensorMode(SENSOR_1, SENSOR_MODE_RAW);
// set second pmux as touch sensor in raw mode.
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensorMode(SENSOR_2, SENSOR_MODE_RAW);
while (true)
{
// first pmux
if ( SENSOR_1 > 700 && SENSOR_1 < 800 ) {
PlayTone(138,3);
}
if ( SENSOR_1 > 600 && SENSOR_1 < 690 ) {
PlayTone(155,3);
}
if ( SENSOR_1 > 300 && SENSOR_1 < 530 ) {
PlayTone(174,3);
}
// second pmux
if ( SENSOR_2 > 300 && SENSOR_2 < 530 ) {
PlayTone(185,3);
}
if ( SENSOR_2 > 600 && SENSOR_2 < 690 ) {
PlayTone(208,3);
}
if ( SENSOR_2 > 700 && SENSOR_2 < 800 ) {
PlayTone(233,3);
}
}
}
|
PMUX mounted with three Touch sensors
Notice the three touch sensors mounted on the PMUX in front of the music maker.
|