It’s now possible to create programs for your Cellbot without writing any code thanks to App Inventor for Android. This web based development interface allows you to drag and drop functions and UI element into an app and then push it to your Android phone. With the Bluetooth module it can connect to almost all of the Cellbot platforms, including LEGO MINDSTORMS, iRobot Create & Roomba, and the VEX Pro. App Inventor is incredibly easy to get started with and the ideal platform for students and anyone new to programming.
The App Inventor team included some additional modules specifically for the LEGO MINDSTORMS NXT robots. This tight integration makes it a snap to drive any of the three motors, read from the sensors, or run programs stored directly on the NXT brick itself. The BluetoothClient component has functions for connecting, sending and receiving numeric and text data, and disconnecting. This provides low-level support for connecting to any robot that supports Bluetooth communication.
For LEGO MINDSTORMS NXT robots, the App Inventor team has provided seven components. The NxtDirectCommands component provides medium-level support for basic control of the NXT brick, including motor control, sensor readings, playing sounds, and putting messages into mailboxes on the brick. There are 5 sensor components (NxtColorSensor, NxtLightSensor, NxtSoundSensor, NxtTouchSensor, and NxtUltrasonicSensor) that provide high-level support for the sensors, including receiving events from the sensors. If you simply want to drive an NXT around, use the NxtDrive component which provides high-level support for motor control, including functions for moving backward and forward, turning clockwise and counter-clockwise, and stopping.
We’ve tested this with the phone as a remote control but find it’s more fun using the phone mounted to the robot as an extension of its brain. You can also put graphics on the screen to give the bot a personality or play sounds and make the phone talk. There are social components to connect with Twitter, and TinyWebDB for hooking up to AppEngine. Try using a variety of these components together in a single App Inventor project for your awesome robot!