dublin robotics boosters nxt-step programming workshop
TRANSCRIPT
![Page 1: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/1.jpg)
Dublin Robotics Boosters
NXT-Step Programming Workshop
![Page 2: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/2.jpg)
Basic Programming Workshop Review
Programming can not overcome poor robot and attachment design
Think strategically with missions & attachments
Use Bluetooth KISS it! Change ONE thing at a time Document changes Leapfrog development Save, Save, Save
![Page 3: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/3.jpg)
NXT-Step Programming Workshop: Taking your programming to the NXT Level
Adding on to the Basics: Create a script or a checklist for the competition
This checklist should be run through each time you approach the table to ensure that EVERY ITEM is in it’s place and you are ready to go
This checklist should be read by a non-robot handling student throughout the competition.
This checklist can be as simple or as complex as needed to suit your team
Things to include Check chassis Check wiring is secure NXT is “on” and set to it’s 1st program/mission Attachments are assembled and ready for use Who is the robot handler, what mission are they doing (repeat as
needed)
![Page 4: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/4.jpg)
Default Ports
Touch Sensor Default port 1
Sound Sensor Default port 2 Light Sensor
Default port 3
Ultrasonic Sensor
Default port 4
Attachment Motor Default port A
Drive Motors Default ports B & C
![Page 5: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/5.jpg)
Use the NXT to find accurate sensor readings “View” option Bluetooth can
send sensor readings to PC select the
sensor block readings will
appear on the far left of the configuration panel
Use that BRAIN!
![Page 6: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/6.jpg)
Reading Sensors: Now it’s your turn…
Objective… take sensor readings using your NXT
Using your NXT and Bluetooth, we’re going to: Take rotation reading (only reads in degrees) Take light reading Calibrate NXT light readings
Select “Calibrate” program from tools menu (it will download and run automatically).
Run this program EVERY time you approach the board if you use light sensors
![Page 7: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/7.jpg)
Multitasking!
What is multitasking? Programming your robot to accomplish multiple
tasks at the same time Why use it? SAVES TIME!! Example: Move forward and raise an attachment
![Page 8: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/8.jpg)
Multitasking: Now it’s your turn…
Objective… Program your NXT to walk and chew gum at the same time
In NXT-G, we’re going to: Create a multiple sequence beam
Program a standard move forward block Add a 2nd sequence beam, programming the
attachment motor to raise or lower TIP: Add a move block below the 1st sequence
beam. Use “Shift” and click on the 1st sequence beam, then drag down to connect to the move block, creating a new sequence beam.
![Page 9: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/9.jpg)
Loops: Going in Circles…
What’s a loop? Requires a task to be repeated a set number of times before
moving to the next block Repeat (or continue) a task until a specific variable is met
(using sensor input) Requires that specific conditions are met before moving on to
the next block
![Page 10: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/10.jpg)
Loops: Now it’s your turn…
Objective… using a loop, learn to meet a specific condition before moving on to the next block
Using a loop, we’re going to: Create a task that needs to repeat a set number
of times before moving to the next block Continue a task until a specific variable is met
(using sensor input)
![Page 11: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/11.jpg)
Breaking and Entering: using a crow bar
What’s a Crow Bar?
A temporary block used to pry open a space within a loop or a switch
![Page 12: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/12.jpg)
Crow Bar: Now it’s your turn…
Objective… learn to manipulate blocks to pry open space for loops and switches
Using a crow bar, we’re going to: Create a 2nd sequence beam inside a loop
Hint: The same process can be applied to a Switch
![Page 13: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/13.jpg)
Can you count to ONE?: Single Count Loops Single Count Loops:
Ensure that ALL tasks are met before leaving the loop
Why use a Single Count Loop? It’s an
insurance policy that everything is synchronized before moving on
![Page 14: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/14.jpg)
Single Count Loops: Now it’s your turn…Objective… using a single count loop, learn to ensure
ALL tasks are completed before leaving the loop
Using a single count loop, we’re going to: Create a program that needs to meet a specific
requirement before moving to the next block Hint:
Use a crowbar to put everything in a Loop
![Page 15: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/15.jpg)
Switches: If/Then ConditionsWhat’s a Switch? If Condition A is met, then program chooses path 1 If Condition B is met, then program chooses path 2
Example: Condition A: If the Light Sensor reads above 50, NXT says “Light”; Condition B: If the Light Sensor reads below 50, NXT says “Dark”
![Page 16: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/16.jpg)
Switches: Now it’s your turn…
Objective… using a switch, teach your robot to make a choice between two actions
Using a switch, we’re going to: Create a program that requires a if/then
statement, dependent upon sensor input.
![Page 17: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/17.jpg)
Data Wires: Playing Telephone with Your Programming Data Wires are:
Data wires send information from one block to one or more blocks later in a program
Three types of Data Wires: Numeric: integers (whole numbers), positive or negative Logic: one of two possible values, true or false Text: a string of letters “Hello”, “turn right”, “643cheese”
Why use them? Could send a light reading to a variable block Could send a touch sensor reading to a move block Could send text to the NXT screen letting you know
what a specific condition is (a light sensor reading) Must use a text block to convert a reading to text
![Page 18: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/18.jpg)
Data Blocks: Information Overload Logic, Math & Compare Blocks:
Blocks in which math calculations or comparisons are performed
Range & Random Blocks: Looks for values in a given range or randomly selects
a value Variable & Constant Blocks:
Carry and hold information for later use Variable Blocks get information from other blocks Constant Blocks must have values, like numbers or a
true/false, input manually by the programmer Why use them?
So we can reference values later in a program
![Page 19: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/19.jpg)
Data Wires and Data Blocks: Putting it all together
See the Help section for specific color coding and other helpful information about data wires
Uses math to calculate distance
Data Wires
Data Hub
Constants
![Page 20: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/20.jpg)
My Blocks: Space Saving Miracles My Blocks are:
Customized collection of blocks condensed into a single block
Why use a My Block? Saves screen space & simplifies look of your
program Creates a “program” that can be used multiple
times within a single block or program. Hints:
If you change anything within a My Block, it changes that My Block throughout your programming.
Double click the My Block to see what’s inside it.
![Page 21: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/21.jpg)
My Blocks: Now it’s your turn…
Objective: Learn to create a My Block
We’re going to… Create a simple program and make it into a My Block
![Page 22: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/22.jpg)
Telling your NXT where to go… Using the information that we’ve already
learned… How can you use a loop to determine your NXT’s
location on the board? Would it be more accurate if your robot had
multiple Touch and Light Sensors? Why or why not?
Hints: If you tell your robot to “square” to a wall or a line,
is it in a more accurate position on the board than telling your robot to move X number of rotations?
How does the position of the Light/Touch Sensor on the robot affect the programming?
![Page 23: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/23.jpg)
Telling your NXT where to go… Using the information that we’ve already
learned… How can you use a Touch Sensor with a loop to:
Find a wall How can you use a Light Sensor with a loop to:
Find a line
![Page 24: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/24.jpg)
Telling your NXT where to go… Find a wall
Find a line
![Page 25: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/25.jpg)
Telling your NXT where to go… Using the information that we’ve already
learned… Using 2 Touch Sensors can you modify your “Find a
Wall” program to: Square to Wall
![Page 26: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/26.jpg)
Telling your NXT where to go… Square to wall
![Page 27: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/27.jpg)
Telling your NXT where to go… Using the information that we’ve already
learned… Using 2 Light Sensors can you modify your “Find a
Line” program to: Square to Line
![Page 28: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/28.jpg)
Telling your NXT where to go… Square to line
![Page 29: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/29.jpg)
Telling your NXT where to go… Using the information that we’ve already
learned… How can you use a Light Sensor with a switch to:
Follow a line
![Page 30: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/30.jpg)
Telling your NXT where to go… Follow a line
![Page 31: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/31.jpg)
Master Programs: The King of the NXT-G World (insert evil laugh here)… Master Programs are:
A program that runs all the table top missions as a single mission It breaks the missions into individual sections, pausing
between each, waiting for input from the NXT brick before proceeding to the next one.
Why use a Master Program? Saves space Eliminates stressful searching for programs on
NXT brick during competition
![Page 32: Dublin Robotics Boosters NXT-Step Programming Workshop](https://reader036.vdocuments.us/reader036/viewer/2022062404/551adcdf55034606048b5750/html5/thumbnails/32.jpg)
Kudos and credit where it’s due: We couldn’t do it without you… Cindy Bryden Dan Monroe Cougar FLL Team Programming Lego Mindstorms NXT by Owen
Bishop http://
www.amazon.com/gp/product/1597492787/ref=oss_product
Created October 2010 by: Nick and Sherri Behr