Fun Projects for your LEGO® MINDSTORMS® NXT!
The NXT-G programming system that comes with the NXT is a graphical block-based system that makes writing simple programs for the NXT easy.
The NXT-G Programming System
Everyone needs some help learning to program, from beginners who have never programmed anything before, to experts in other systems. To learn how to use NXT-G and how to program more complex actions, here are some suggestions:
Study the Multi-Bot Programs
For NXT 2.0 users, the Multi-Bot project has over 70 programs organized into categories that are designed to teach different programming concepts, such as motor control and using the different kinds of sensors. Each category has example programs of increasing complexity. Owners of the CD "LEGO MINDSTORMS NXT 2.0 By Example" have access to all of the programs in ready-to-run form. Web-only users can view the program descriptions and perhaps use them to guide and inspire their own experiments.
Study Example Programs
The programs provided on nxtprograms.com contain comments inside them that help explain how they work. Starting with the list of Projects by Program Complexity (for NXT 1.X or 2.0), load the programs and study how they work. Start with the easy programs and work your way up as you learn more. Building the associated projects will help you see how the program operates in action.
Read Through the Software Help Pages
Picking Contents and Index from the Help menu on the NXT software will lead to the help pages that are included with the software. You can read about some general topics as well as get detailed help on the various programming blocks. In addition, with a block selected and the help tab selected in the lower right of the screen, you can follow the help link for that block to learn more about it.
Tutorial on "My Blocks"
After you become familiar with the basic to intermediate features of the NXT-G system, including data hubs and data wires, you can learn about the "My Blocks" feature, which allows you to make your own custom blocks, from this free My Blocks Tutorial.
In addition, owners of the CD "LEGO MINDSTORMS NXT 2.0 By Example" get complete building instructions and ready-to-run programs for two complex projects that use My Blocks in their programs: The Vending Machine, and the Pinball Machine. Studying these programs will help give you ideas of how to structure a larger program as a series of smaller My Blocks.
Sometimes the best or only way to figure something out is to try it! The NXT is a great system to experiment with, because it is easy, fast, free, and not dangerous to try things. If you are wondering what a certain block does or what happens if you use it in a certain way, write a simple test program to use it and see what happens with a suitable test robot. Make a change to the block's configuration, and try it again to see what difference it makes. If you don't know enough to guess what try, try to find a use of the block in the programs provided on this site to get an idea of how the block can be used, then try to imitate a similar use.
A general rule when experimenting and learning is to keep everything else as simple as possible. Make your test program as simple as possible, and try only one new thing at a time. Get one thing working before adding anything else new, and when experimenting with variations, change only one thing at a time if possible.