Exploring Wireless Options
Mindstorms wires are a given—but what about wireless communication? The EV3 kit comes with two ways to communicate wirelessly with your Intelligent Brick.
Infrared Sensor and Beacon
The EV3 set includes a dirt-simple infrared remote (IR) control and receiver that allow you to control two motors on your model, both forward and backward (see Figure 3.6). In addition, you can opt between two channels, so theoretically you could control four motors with two remotes and two receivers. Another option would be to have four motors connected to your robot—for instance, two for propulsion and two to control a robot arm—and you simply switch channels when you want to do one task or the other.
FIGURE 3.6 The infrared sensor and beacon give you simple wireless control of your robot.
The sensor has one added feature that most IR receivers lack: It can be used as a proximity sensor, beaming out infrared light and sensing as it bounces back. This feature has a short range compared to other proximity sensors (for example, ultrasonic), and can detect proximity only within 50cm to 70cm, or around 2 to 3 inches.
The beacon is what LEGO calls its remote control, and this is not just for fun: One of the projects described in the EV3 set is an IR-homing robot that wanders around until it senses the infrared signal from the beacon and rolls toward it. The controller’s range is only about 2 meters, unfortunately.
Another intriguing option is the EV3 brick’s Bluetooth capabilities. The Intelligent Brick has a Bluetooth chip on-board, allowing it to connect to other EV3 bricks as well as take commands from smartphones using an application called the Commander, which includes preset control configurations for the five sample robots that are part of the EV3 set (see Figure 3.7). You can also create an interface for a custom robot, pulling out sliders and buttons from a library to match what you’re building.
FIGURE 3.7 LEGO’s Bluetooth app allows you to control robots wirelessly.
EV3’s Bluetooth capability also allows you to control the Intelligent Brick from your PC or Mac wirelessly, just as if you had it plugged in with a Bluetooth cable.
Finally, one cool aspect of the robot, both in terms of Bluetooth and regular wiring, is you can link up to four EV3 bricks together if you want to build a gloriously complicated robot.
It almost goes without saying that Mindstorms fans have figured out how to control their robots in ways not officially supported by LEGO. Here are just a few ways to wirelessly control your Mindstorms robot.
A common hobbyist and professional wireless specification is called Zigbee, and XBee is a brand of wireless modules built to that spec. Dexter Industries (dexterindustries.com) sells a Mindstorms-compatible XBee breakout called the NXTBee, though I’m not sure whether it’s compatible with EV3 yet. Another technique is to ditch the EV3 brick altogether and use an Arduino: Check out the cool LEGO bracer shown in Figure 3.8. It has an Arduino, battery pack, XBee, and Wii nunchuk, allowing me to operate a robot with a wearable controller. SparkFun sells XBee radios (P/N 8665) as well as its own flavor of breakout board.
FIGURE 3.8 This wireless controller combines LEGO, Wii, and Arduino.
Normal radio control (RC) technology doesn’t mesh well with Mindstorms, but it can be made to work. RC flight electronics consist (in their most basic configuration) of a radio, shown in Figure 3.9, as well as a receiver. The receiver interprets the data from the transmitter and triggers pins that tell the motors what to do. Not surprisingly, those same pins can trigger Arduino actions or could be used to bump Mindstorms touch sensors with a servo.
FIGURE 3.9 An RC transmitter and receiver can control Mindstorms models.
Mindsensors.com and a couple of other places sell a wireless controller that consists of a PlayStation 2 (PS2) interface card that plugs into the EV3 Intelligent Brick—onto which a wired PS2 controller may connect (see Figure 3.10). Mindsensors also sells a 2.4Ghz wireless PS2 controller and a matching dongle that plugs into that interface card, allowing you to wirelessly control your robot.
FIGURE 3.10 Mindsensors’ PS2 adapter lets you control your model with a game controller.
Wi-Fi Dongle in EV3
There is no native Wi-Fi capability in EV3 bricks, but you can add it with a USB dongle, such as the NetGear WNA1100 shown in Figure 3.11. As a matter of fact, the WNA1100 is currently the only wireless dongle that the EV3 works with out of the box. It may be that other models can be made to work with the EV3, but so far just this one works.
FIGURE 3.11 The NetGear WNA1100 is the only Wi-Fi dongle that works with the EV3.
BrickPi and a Wi-Fi Module
Here’s another example of a Wi-Fi add-on module allowing wireless communication of a Mindstorms robot. The BrickPi shield allows you to control Mindstorms by doing away with the EV3 brick and using a Raspberry Pi minicomputer, with the BrickPi mounted on top (see Figure 3.12). A Wi-Fi module from Adafruit (P/N 814) provides connectivity, though the Pi’s built-in Ethernet port is always an option.
FIGURE 3.12 The BrickPi shield helps control Mindstorms robots.