You are previewing The LEGO MINDSTORMS NXT 2.0 Discovery Book.
O'Reilly logo
The LEGO MINDSTORMS NXT 2.0 Discovery Book

Book Description

From the creative mind of author, robotics instructor, and frequent NXT Step Blog contributor Laurens Valk, The LEGO® MINDSTORMS® NXT 2.0 Discovery Book is packed with building and programming instructions for eight innovative robots.

Table of Contents

  1. cover Page
  2. Title Page
  3. Copyright Page
  4. about the author
  5. about the technical reviewer
  6. brief contents
  7. contents in detail
  8. acknowledgments
  9. introduction
    1. why this book?
    2. is this book for you?
    3. how does this book work?
      1. the discoveries
      2. what to expect in each chapter
        1. part I: getting started
        2. part II: building and programming robots with sensors
        3. part III: creating advanced programs
        4. part IV: advanced robot projects
    4. getting help: the companion website
    5. conclusion
  10. PART I getting started
    1. 1 collecting the equipment for your robot
      1. what’s in the box
        1. the NXT brick
        2. the NXT-G programming software
          1. installing the software
        3. the test pad
      2. inserting batteries
      3. conclusion
    2. 2 building your first robot
      1. building the explorer
        1. building tip: beams and axles
        2. building tip: friction and nonfriction pins
        3. connecting the cables
      2. using the NXT buttons to navigate on the NXT brick
        1. turning on the brick
        2. selecting and choosing items
        3. turning off the brick
        4. running a program
      3. conclusion
    3. 3 creating and modifying programs
      1. a quick first program
      2. creating a basic program
        1. 1. programming palette
        2. 2. work area
          1. moving and deleting blocks
        3. 3. start area
        4. 4. NXT controller
          1. downloading and running a program
          2. manually running a program
          3. downloading a program without running it
          4. using Bluetooth to download programs to the NXT
      3. working with the NXT-G software
        1. 5. configuration panel
        2. 6. little help window
        3. 7. program navigation bar
        4. 8. toolbar
          1. managing programs
          2. modifying programs
          3. using the pointer, pan, and comment tools
        5. 9. robo center
      4. controlling the robot remotely
      5. conclusion
    4. 4 working with programming blocks: move, sound, and display
      1. what do programming blocks do?
        1. using blocks to create programs
        2. using different programming blocks
      2. the move block
        1. seeing the move block in action
        2. understanding the configuration panel
          1. port
          2. direction
          3. steering
          4. power
          5. duration
          6. next action
        3. understanding the configuration icons
        4. making accurate turns
      3. the sound block
        1. understanding the sound block configurations
          1. action
          2. control
          3. volume
          4. function
          5. file
          6. note
          7. wait
        2. seeing the sound block in action
          1. understanding the explorer-sound program
      4. the display block
        1. understanding the display block configurations
          1. action
          2. display
          3. displaying images
          4. displaying text
          5. displaying drawings
        2. seeing the display block in action
          1. understanding the explorer-display program
      5. further exploration
    5. 5 waiting, repeating, and other programming techniques
      1. the wait block
        1. understanding the wait block settings
        2. seeing the wait block in action
          1. understanding the explorer-wait program
      2. more on the move block: moving unlimited
        1. the unlimited option
        2. the duration unlimited setting in action
          1. understanding the explorer-unlimited program
        3. problems with moving unlimited
      3. the loop block
        1. using the loop block
        2. understanding the loop block settings
        3. seeing the loop block in action
        4. using loop blocks within loop blocks
      4. making your own blocks: the my block
        1. creating my blocks
        2. using my blocks in programs
        3. editing my blocks
      5. parallel sequences of blocks
        1. using parallel sequences in a program
      6. further exploration
  11. PART II building and programming robots with sensors
    1. 6 understanding sensors
      1. what are sensors?
        1. understanding the sensors in the NXT 2.0 kit
        2. understanding the ultrasonic sensor
        3. creating the ultrasonic sensor attachment
        4. polling sensors
      2. programming with sensors
        1. sensors and the wait block
          1. using the configuration panel
          2. seeing the sensors and the wait block in action
          3. avoiding walls with the ultrasonic sensor
        2. sensors and the loop block
          1. seeing the sensors and the loop block in action
        3. sensors and the switch block
          1. configuring a switch block
          2. seeing the switch block in action
          3. adding blocks to a switch block
          4. using the flat view option
          5. repeating switches
      3. further exploration
    2. 7 using the touch, color, and rotation sensors
      1. the touch sensor
        1. creating the bumper attachment with touch sensors
          1. connecting the cables
        2. programming with the touch sensor
          1. creating a test program for the touch sensor
        3. avoiding walls with touch sensors
          1. creating the discovery-bumper program
      2. the color sensor
        1. creating the color sensor attachment
        2. using the view mode to poll the color sensor
        3. programming with the color sensor
          1. staying inside a colored line
          2. following a line
      3. using the NXT buttons as sensors
      4. the rotation sensors
        1. using the view mode to poll the rotation sensor
        2. making programs with rotation sensors
          1. resetting the rotation sensor
      5. further exploration
    3. 8 shot-roller: a robotic defense system
      1. building the shot-roller
        1. connecting the cables
      2. programming the shot-roller
        1. the complete palette
        2. the color lamp block
        3. the motor block
          1. using the control motor power option
        4. autonomous mode
          1. creating the program
        5. light sensor mode
          1. defending a territory with the shot-roller
          2. troubleshooting your program
        6. remote-control mode
      3. further exploration
    4. 9 strider: the six-legged walking creature
      1. building strider
        1. connecting the sensor cables
      2. understanding strider’s walking technique
      3. programming strider
        1. creating the walk-forward my block
        2. creating the walk-left and walk-right my blocks
        3. using the my blocks in an interactive program
          1. creating the program
        4. creating the scared strider program
          1. polling sensors with feedback boxes
          2. setting thresholds
          3. creating the program
      4. further exploration
  12. PART III creating advanced programs
    1. 10 using data hubs and data wires
      1. building SmartBot
      2. a program to get started with data wires
        1. understanding the sample program
      3. how do data hubs and data wires work?
        1. creating a second example program with data wires and data hubs
        2. using data plugs: input and output
        3. block configurations when using data wires
        4. deleting data wires
      4. sensor blocks
        1. configuring a sensor block
        2. configuring a touch sensor block
        3. configuring a color sensor block
        4. configuring a rotation sensor block
      5. data wire types
        1. the number data wire
        2. the logic data wire
          1. seeing a logic data wire in action
        3. the text data wire
          1. displaying values with the number to text block
        4. the broken data wire
      6. multiple data wire connections
        1. connecting multiple wires to different plugs
        2. connecting multiple wires to one data plug
        3. using settings with both input and output plugs
        4. using help for data plugs
      7. tips for managing data wires
        1. hiding unused data plugs
        2. using data wires across your program
      8. further exploration
    2. 11 using data blocks and using data wires with loops and switches
      1. data blocks
        1. the math block
          1. using the math block in a more advanced program
        2. the random block
        3. the compare block
        4. the logic block
          1. logic operations
          2. not operation
      2. switch blocks and data wires
        1. configuring switch blocks with data wires
        2. using number and text data wires and switch blocks
        3. connecting data wires to inside switch blocks
      3. loop blocks and data wires
      4. further exploration
    3. 12 using variables, constants, and playing games on the NXT
      1. using variables
        1. defining a variable
        2. using the variable block
        3. creating a program with a variable
          1. changing variable values
          2. initializing variables
      2. using constants
        1. using the constant block
        2. creating a program with constants
      3. playing a game on the NXT
        1. defining the variables
        2. step 1: displaying a target randomly
        3. step 2: waiting until a button is pressed
        4. step 3: storing which button is pressed
        5. step 4: comparing the position and button variables
        6. step 5: adjusting the score
        7. step 6: displaying the current score
        8. step 7: making the program repeat for 30 seconds
        9. expanding the program
      4. further exploration
  13. PART IV advanced robot projects
    1. 13 snatcher: the autonomous robotic arm
      1. understanding the grabber
        1. the grabbing mechanism
        2. the lifting mechanism
      2. building the snatcher
      3. creating objects
      4. programming the snatcher
        1. creating the my blocks
          1. my block #1: grab
          2. my block #2: release
          3. my block #3: find object
          4. my block #4: move closer
          5. my block #5: say color
        2. creating the final program
        3. troubleshooting the snatcher
      5. further exploration
    2. 14 hybrid brick sorter: sort bricks by color and size
      1. understanding the sorting technique
        1. the driving module
        2. the scanning module
        3. identifying a brick’s size
      2. building the hybrid brick sorter
        1. connecting the cables
        2. finding bricks to use with your sorter
        3. finding buckets
      3. programming the hybrid brick sorter
        1. creating the my blocks
          1. my block #1: reset sorter
          2. my block #2: drop brick
        2. creating the final program
          1. step 1: getting the brick’s size
          2. step 2: checking where there is a brick to sort
          3. step 3: calculating the position of a bucket
          4. step 4: dropping a brick in the right bucket
      4. further exploration
    3. 15 CCC: the compact chimney climber
      1. understanding the climbing technique
        1. staying balanced on the x-axis
        2. balancing on the y-axis
          1. detecting balance errors
          2. solving balance errors
      2. building the compact chimney climber
      3. preparing a chimney
      4. programming the compact chimney climber
        1. step 1: extending the arms
        2. step 2: climbing and staying balanced
        3. step 3: going down, staying balanced, and stopping
        4. troubleshooting the CCC
      5. further exploration
  14. troubleshooting and solving connection problems
    1. using the NXT controller to download programs to the NXT
      1. using the NXT window
        1. changing the name of an NXT
      2. problems connecting to an NXT with USB
      3. problems downloading programs to the NXT
        1. The NXT device is no longer connected.
        2. The NXT device is out of memory.
        3. data wire error messages
        4. Cannot download needed file for the program.
        5. The program is broken. It may be missing required files.
        6. The file is currently in use on the NXT device.
    2. using Bluetooth to download programs to the NXT
      1. finding a Bluetooth dongle
      2. connecting to the NXT with Bluetooth
      3. problems connecting to an NXT with Bluetooth
    3. conclusion
  15. companion website
  16. DISCOVER THE CAPTIVATING WORLD OF LEGO® MINDSTORMS® NXT 2.0!
    1. about the author