Basic NXT-G Programming Workshop
Download
Report
Transcript Basic NXT-G Programming Workshop
Dublin Robotics Boosters
Basic NXT-G Programming
Don’t touch that computer!
Build a solid robot that will do the job within the
parameters of the board
Build solid attachments that will accomplish the
desired missions
Set a goal
Think strategically
Build attachments that can be changed quickly or can multitask, if possible
Attachments should always start/stop in same position
Need to have a standard starting location
Consider building a jig for “quick starts” and eliminate errors
Consider using Bluetooth for practices
Bluetooth may NOT be used at tournaments
Programming 101
KISS - Keep It Simple Silly!
Ask yourself … Is this (method, model, etc) the simplest it can
be?
Programming 101
•
Change only 1 thing at a time
– It’s the ONLY way to tell what is wrong (or right)
in the new product.
– Document, Document, Document!
•
•
Make a record of what you changed so you can go back
to the original if it doesn’t work
Rename programs BEFORE you make changes
Programming 101
Testing, testing, testing… (and testing)
Test until you achieve successful results a minimum of 5
times in a row
Programming 101
SAVE your work frequently!!!
Coaches should have a back-up of ALL recent programs
Avoid having programs on multiple computers
Programming 101
Try several options and take the best
Be creative
Get as many kids involved in programming and design as
possible
Problem solve with each option
Can 1 option be adapted?
Can 2 options be merged?
Programming 101
Watch carefully to see where errors occur
Use slow-motion video if desired and available
Teammates should pay close attention to trial runs and mark
where errors occur (The ENTIRE team should be watching)
Programming 101
Leapfrog Development – Use this for PROGRAMS,
ROBOT and ATTACHMENTS
Once you have a working robot, program, tool or
attachment, DO NOT CHANGE IT.
Build something new that works better.
ONLY tear apart the old model AFTER you have built a
better model.
Then DON’T change the NEW one!
READ THE ABOVE AGAIN!!
Now for the Programming…
Input Ports (#1-4)
Used to attach sensors
Output Ports (A-C)
Used to attach motors
Programming…
Light Sensor
Reads light sensitivity
from surroundings
Reads reflection from IR
emitter
Ultrasonic
Sensor
• Senses distance
Sound Sensor
• Measures sound level
Touch Sensor
• Responds to press in
or release
Programming…
Sequence Beams
Controls the flow of your program
Blocks connected to the beam can be downloaded to the
robot. Unconnected blocks cannot.
Blocks
Move Block is most important, most used
Decide how you are going to measure distance to move robot
Programming… (Finally!)
Objective… Learn to manipulate Move Blocks
Building a Sequence Beam, we’re going to:
Move forward, lift an attachment, return to base
Beginner 1
Objective… Learn to pivot and turn
Modifying that Sequence Beam, we’re going to:
Move forward, lift an attachment, pivot left and move forward
again.
Beginner 2
Adding to the Beginner 2 program, how
can you get your robot back to base?
This is just one solution…
Beginner 3
Sensitivity Training
Objective… Learn to use Light Sensors
Using a Light Sensor to stop on a line:
Start with the Beginner 2 Sequence Beam
Change the last Move Block to unlimited
Add a Wait Block (Flow Palette), select “Light Sensor”, looking for dark line
Add Move Block to stop B&C motors
Beginner 4
Death to Uni-Taskers!!
Objective…Learn to run multiple Sequence Beams
Lower an attachment while moving out of base
Start with the Beginner 4 Sequence Beam
Add Move Block below 1st Forward Block
Drag Sequence Beam to lower Move Block
Beginner 4.1
Getting All Touchy-Feely
Objective…Learn to use Touch Sensors
Using a Touch Sensor to stop at a wall:
Start with a new Sequence Beam, move forward, unlimited
Add a Wait Block (Flow Palette), select “Touch Sensor”, looking for
wall. Some programs/blocks NEED a “Stop” Block.
Add Move Block to stop B&C motors, back up, pivot left and move
forward again
Beginner 5
Franken-bots
Q &A
Test your ‘Bots
What else can YOU do?
Nick’s NXT obsession… uhhmm… hobby
Fair Swings
Ferris Wheel
Double Ferris Wheel
Power Tower
Tower Crane
Marble Run
Himalayan