The LEGO Mindstorm RCX command module features three input sensors. The unit receives input from electronic sensors built onto the LEGO vehicle. These sensors can sense changes in light, temperature, touch, and vehicle acceleration. Based on the sensors input, the machine can be programmed to carry out specific commands.
The RCX command module receives the sensory input then uses the information to control a maximum of three output ports. The output ports are attached to servos and switches that control the bot's movement. The output servos include simple switches which can turn circuits on and off, activating lights or robotic arm movement. Other servos control motion, movement, and even the bot's rotation. The machine can identify elements of its environment, and "choose" what actions to take based on the programming downloaded into the RCX's brain.
The RCX command module is programmed via software loaded onto a standalone computer. The software is available for both PC and MAC machines. Because of the interaction between the RCX command module and the programming interface, students learn about basic computer programming. The RCX command module receives its programming from the computer via infrared ports. For advanced students, the RCX command modules can communicate with each other via the same infrared ports. This means, by using 2 modules, student can build a complex robot that receives input data from 6 sources, and controls 6 output sensors, servos and devices.
While the LEGO RCX Mindstorm kits are simple enough to introduce middle school students to the study of robotics, this system is also used in collegiate level coursework. By combining the sensors and servos, students build many different robots. For example, one kit with touch sensors, rotational controls and accelerometers can be combined to build a "bump and go" tank. The sensors are controlled with programing that tells the tank, when it encounters a wall, back up, change direction and then continue. A classroom full of students can be divided into two groups and given this assignment: One group is responsible for creating a "bump and go" tank while the other group is tasked with creating a maze that will attempt to defeat the robot's programming. With interactive assignments like these, students learn about robotics, logic commands and the challenges of computer programming.