Program 1 worksheet

By Jeff Warren,2014-01-20 03:04
17 views 0
Program 1 worksheet

    NXT Robotics Techniques 2007 Advanced Labs

Robotics Techniques Advanced Labs is a series of labs to add to your knowledge of the NXT

    robot and Mindstorms NXT programming language. You should be familiar with building an

    NXT based robot, and with programming exercises in workshops I and II. So jump right in, go

    through the NXT Robotics Techniques Labs and have fun.

    Advanced Lab 1 Light Sensor Calibration

    New Information

    ? Each program block has a Configuration Panel at the bottom of the Mindstorms NXT window.

    In this lab we will use the configuration panel to change properties of the various programming


    ? The NXT system introduces the concept of Sensor Calibration. Calibration sets the white and

    black values for the light sensor. One can establish trigger points in the program then re-

    calibrate the sensor(s) to accommodate lighting differences in competition tables.

    ? An NXT Light Sensor trigger point is similar to setting the cutoff brightness in the Wait For

    Dark ROBOLAB command.

Discussion Light Sensors

    ? The light sensor detects light reflected from its built-in light source. The light sensor has a

    trigger point that can be set to signal the program to continue to the next program step. For

    example, we might want to create a program to move forward until a black line is detected.

    The Wait For block in the program uses the light sensor to detect the black line. We want the

    robot to Move forward until a trigger point (the black line) is detected, then back up a

    predetermined distance.

    ? A trigger point is the specific value in a range of numbers where a change in condition occurs.

    For example, you might program your robot to move forward until the light level drops below

    50% of the reflected light value. In this example, the trigger point value would be set to 50. ? Students may also want to review the “Light Sensors” section of the NXT Tutorial on the 2006

    ORTOP Workshops CD.

    A Program To Move Forward, Detect A Black Line, Then Back Up 1____ In Mindstorms NXT, create a new program window:

    click File and New. Note that “Untitled-1” program file

    tab is added to the top of the Mindstorms NXT window.

2____ Click and drag a Move block to the start position in the program.

    3____ In your program you need to change a variable in the Move block. To do this, click the Move

    block. At the bottom of the program window observe the Configuration Panel associated with the

    Move block.

    4____ Change the Duration: property from

    “Rotations” to “Unlimited.” The Duration:

    property should look like this>>>:

Page 1 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

5____ Mouse hover over the hourglass block and

    move to the right and click the Light block. Drag

    this block to the second position in your program.

    The program should look like this: >>>

    6____ Save the new program, click File, Save-As and

    title your new program “Move2.rbt”. The program tab should change from “Untitled-1” to


Calibration of the Light Sensor

    7____ On the NXT robot verify a Light Sensor is connected to port 3 on the front of the robot. The

    Light Sensor should be mounted about two pennies thickness from the mat surface.

    8____ Make sure the NXT brick is connected to your computer.

    9____ On the Mindstorms NXT window click on the Light Sensor block and note the properties on the

    Configuration Panel at the bottom of the window. We want the robot to go forward until the Light

    Sensor detects a black line and the reflected light value falls below the trigger point.

    10____ Change the Light: symbol

    > (greater-than) to < (less-than). from

    Now the sensor will tell the program

    to proceed when the sensor moves

    over a black line causing the light

    value to fall less than the trigger point.

    The Light Sensor Configuration Panel

    should look like this>>>:

11____ First, lets record the default light values.

    a)____ Turn on the NXT brick

    b)____ Download the Move2 program.

    c)____ Click on the orange Wait for

    light sensor block in the Mindstorms

    program. Observe that a % value is

    showing in the orange sensor feedback

    box in the light sensor configuration

    panel. The value should reflect what

    the light sensor is currently reading. It

    should look like this>>>>>>>>>>>>>

    Page 2 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

d)____ Place the light sensor over a white area on the mat and note the sensor feedback value.

    e)____ Record the white % value in the Default Sensor/View column in the table on page 4.

    f)____ Place the light sensor over the green and black areas on the mat and record the % values.

    12____ Next we need to calibrate the light and dark values from the mat. These steps will

    download and then run a calibration program in the NXT brick.

a)____ Click on the orange light sensor block in the Mindstorms program.

    b)____ In the upper left corner of

    the Mindstorms NXT window

    click Tools, Calibrate Sensors. A

    new window should appear with

    the light sensor values. It should

    look like this>>>:

    c)____ If the window is gray, close

    the window and redo step b.

d)____ In the Calibrate sensor window, Click Port 3, Click Default, and Click Refresh, and note

    values: Min value =0 and Max=1023.

    e)____ Click Calibrate to download and run calibration program. f)____ On the NXT brick, place the light sensor over a black object like a black line on the mat.

    Note that the NXT brick is reading the dark value (similar to the View button on an RCX brick)

    g)____ Click Enter to record the black (Min) value. h)____ Now place the light sensor over a white area on the mat.

    i)____ Click Enter to record the white (Max) value. j)____ Calibration is now complete.

    k)____ On the Calibrate sensor window, click Refresh.

    l)____ Record White and Black values in the Calibrated Values column in the table on page 4.

    m)____ Close the Calibration window.

    n)____ Click the orange light sensor block and record.

    o)____ Observe that a % value is showing in the orange sensor feedback box in the light sensor

    configuration panel. (same as step 11c). Deselect then select the orange light sensor block in the

    program. Observe the value changes to 100% for the white value and 0% for the black view.

    Also note the green value, it should be close to 50%.

    p)____ Record these values in the Calibrated Sensor/View boxes in the table.

    q)____ You can also use the View program in the NXT brick to record values.

    Page 3 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

    r)____ In the Mindstorms NXT window click the Light Sensor block.

    s)____ Observe the orange square on the

    left side of the Light Sensor Configuration

    Panel. It should look like this>>:

    t)____ Observe the value in the orange

    square. Deselect then select the orange

    Light Sensor block in the program.

    Observe the value in the feedback box

    changes from ~59% to ~100%. Note however the View readings on the robot will continue to

    read the un-calibrated values of ~60% for white and 30% for black.

    u)____ Place the light sensor over a black area on the mat and observe the black value, it should

    be close to 0. Record the value in row “Calibrated Sensor/View column in the chart below.

    v)____ Place the light sensor over the green area and record the green value.

    w)____ Place the light sensor over the white area and record the white value. It should be close

    to 100.

    x)____ On the NXT brick, navigate to My Files. Press the right cursor arrow to View, press

    Enter. Press the right cursor again to Reflected Light, press Enter. Press right cursor to Port 3,

    press Enter. A rectangular box should appear on the NXT window, a VIEW value will appear in

    the box.

    y)____ Verify the View program gives the same values that you recorded in the Calibrated

    Sensor/View column.

    Default Run

    Default Sensor / Calibration Calibrated Calibrated

     Values View Program Values Sensor

    White 1023 (60%) (623) (100%) record values>> % >> %

    Green (42%) (52%) record values>> % >> %

    Black 0 (30%) (293) (0%) record values>> % >> %

The purpose of this exercise was to familiarize you with the Light Sensor Calibration process. You

    might repeat the calibration process several times to become familiar with the values. Note the values

    change with distance of the light sensor to the mat.

Program readings measured from the orange feedback box on the Light Sensor Configuration Panel

    should be used for setting the trigger points in a program.

You might also want to review the light sensor calibration section in the NXT_Tutorial CD.

Page 4 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

Completing the program…

    13____ At this point you program should have two blocks, a Move block, and a Wait For Light

    Sensor block.

    14____ Carefully recheck the program block properties; click the Move block and check that you are

    using outputs B and C, the power setting is between 30 and 50%, the motor direction is up

    (clockwise), and the duration is Unlimited.

    15____ Check that your steering is straight (arrow is pointing up) More on steering in a minute.

    16____ Add a second Move block after the Wait block,

    and change the Direction: property to STOP >>>:

17____ Add a third Move block to back up the robot away from the black line.

    18____ Set the Duration: for 3 Rotations and 19____ Set the Direction: to down (reverse). Wow, this program is powerful! Remember each motor

    has a built in rotation sensor so the rotations will be counted at the motor.

    20____ Set the Next Action property to Brake.

    Your NXT program should now do the following:

    ? Move forward until it reaches a black line, and

    ? Stop, and

    ? Back up for three wheel rotations, and

    ? Break to a stop

    Add one more feature using the Steering property. Make sure you have selected the third Move

    block in your program. With your mouse, drag the steering slider to the left or right. This should

    cause your robot to back up and turn at the same time. How about that? 21____ Don’t forget to save your “Move2” program. 22____ Download your program and try it out with a white mat and black line. Record your


Here is the “move to black line”


    Here are the properties for the “Backup” Move block:

Page 5 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

Lab 1 Using the Loop command

    Learning Objectives

    Students will understand and use:

    ? Adding a Loop feature to an existing program

    ? Completing a program to push the cans out of a circle

New Information

    ? Adding the Loop command is similar to the Jump & Land or Loop commands in ROBOLAB. ? The Loop command has Control Variables to change the conditions for looping. The default

    property is set to Loop Forever.

Discussion Adding the Loop Command

    ? This lab should be really simple. All you need to do is add one command to your previous

    Move2 program. What Loop command Property would you add?

    ? The Loop command has five different Control Properties. They are:

    Forever (loop until the program is halted or the batteries run out)





    After you have demonstrated completion of the Can-Do Challenge to the Lab Instructor, you can go

    back and change the Loop Control Properties and test for other results.

    ? Students may also want to review the “Loop” section of the NXT Tutorial on the 2006 ORTOP

    Workshops CD.

Completing the Can-Do Challenge Program

    1____ In Mindstorms NXT, open the Move2 program or create the following program.

    2____ Here is the complete

    Move2 program>>>:

3____ Click File, Save-As and re-name your program “CanDo.”

    Page 6 of 7 1/20/2010

    NXT Robotics Techniques 2007 Advanced Labs

4____ Click the Loop block and drag it to a point below the first Move

    block in your program, slowly drag the Loop block up>>>:

5____ Note the existing program moves to the right and a white box appears to

    indicate an insertion point for the Loop block. (Be patient with Mindstorms, it

    takes a second or two to respond)

    6____ Click to drop the Loop icon in front of the first Move block.

7____ Hold the shift key and click to select all four program blocks: Move, Wait, Move, and Move.

    All four

    blocks should

    have a green

    edge and look

    like this:>>>

8____ Click and drag the group of four blocks into the loop command. Be patient, it takes Mindstorms

    a bit of time to

    accomplish this

    task. The

    finished result

    should look like


9____ An alternative method is to drag each block one at a time into the loop block.

10____ Save your program.

    11____ Download your program to the NXT brick and try it out.

    12____ Go back and make changes to the Properties in your program. 13____ You might try to change the Loop command to run for 30 seconds and see if you can clear all

    the cans from the circle in that amount of time.

    14____ Record your observations and discuss program changes with your team mates.

This completes the NXT Advanced Lab Exercises. Oh, one more thing…

    For extra credit, go back and add comments to your program. See if you can determine how to add

    comments. Show your lab instructor the results. Remember, tournament judges give points for a well

    documented program.

    Page 7 of 7 1/20/2010

Report this document

For any questions or suggestions please email