Loops and Switches. 1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give.

Slides:



Advertisements
Similar presentations
Getting started with LEGO NXT Mindstorms software This is intended to be a short introduction to the LEGO Mindstorms software and programming the LEGO.
Advertisements

How Do You Make a Program Wait?. 1. What is an algorithm? 2. Can you think of a reason why it might be inconvenient to program your robot to always go.
Robot Soccer Challenge
A CTIVITY M OVEMENT TASK USING SENSORS - HUMANS AND ROBOTS (75 MINUTES ) 1.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Mine Mapping Choose a Sensor.
From the NXT top menu Connect desired hardware as indicated Enter a command in the box indicated from the menu provided Repeat for all 5 boxes.
Computational Neurobiology Center, College of Engineering, University of Missouri, Columbia MO DAY 2 – 50 minutes HOW DOES A ROBOT MOVE?
How Does a Light Sensor Work?. 1. How do humans sense light? 2. Provide an example “stimulus-sensor- coordinator-effector-response” framework using the.
Reviewing Common Blocks for St. Agnes Elementary School Teachers by Jenny Chang Feb. 26th, 2007 USC & University Neighborhood Outreach Robotics STEM program.
LEGO Mindstorms NXT Programming We will be using the Common Palette for our Robots This is how you download your program onto the brick Drag and drop a.
Control Using Sound. 1. What is sound? 2. How does the LEGO sound sensor sense sound? 2 Control Using Sound Pre-Quiz.
Don’t Bump into Me!. 1. How do bats sense distance? 2. Describe how bats sense distance in a “stimulus-sensor-coordinator-effector- response” framework.
Music by Touch. 1. Provide an example “stimulus-sensor- coordinator-effector-response” framework for both your (human) sense of touch and the robotic.
What Is a Program?. What Is a Program? Pre-Quiz 1. What is a program? 2. What is an algorithm? Give an example. 2.
BEGINNER PROGRAMMING Lesson
Programming 101 The Common Palette Content provided by Connor Statham (6 th Grade Student) Formatting by Shannon Sieber.
Navigating a Maze. Navigating a Maze Pre-Quiz 2 1. What is the difference between a program and an algorithm? 2. About how many inches does an NXT move.
BEGINNER EV3 PROGRAMMING Lesson
Maze Challenge Maze Challenge activity > TeachEngineering.org
Wait Program! WAIT please!. 1. Why is it often better to use conditional commands rather than program a robot to move exact distances? 2. What is the.
Programming a light sensor to follow a black line.
Using Waits, Loops and Switches WAIT please!. Waits, Loops and Switches Pre-Quiz 1. In programming, what is a loop? When is a loop useful? 2. How can.
GIRLS Robotics Objective of today Review last Saturday’s Lesson Create our 1 st robot.
Motors and Sound Troubleshooting Tips. © H-CCS Problem 1 Why can’t I download my program to the RCX?
Sentry System Multiple Sensors
Conditions and loops Day 4 Computer Programming through Robotics CPST 410 Summer 2009.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
Castor Bot. Now, we will begin creating a robot Log onto your computer On your screen, click on the website labeled “castor bot” Your building instructions.
BEGINNER EV3 PROGRAMMING Lesson
Programming 101 The Common Palette Content provided by Connor Statham (9 th Grade Student) Formatting by Shannon Sieber.
Mindstorm NXT-G Introduction Towson University Robotics.
BEGINNER FLL PROGRAMMING WORKSHOP BY DROIDS ROBOTICS & EV3LESSONS.
Lesson 1: Motors and Sound Programming Solutions.
ROBOTICS Jason Bell Brad Carlson
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Lego Mindstorm Robots 9797 kit.  Students will learn how to identify how to detect a change in a condition.  Students will learn where and how to identify.
Forward Until Near Stop when near a wall.
© 2006 Carnegie Mellon Robotics Academy Designed for use with the LEGO MINDSTORMS ® Education NXT Software and Base Set #9797 Sentry System Two-Way Communication.
How Do You Make a Program Wait?
Create a Halloween Computer Game in Scratch
Line-Follower Challenge
By Sanjay and Arvind Seshan
Mindstorms EV3 Programming
Understanding Communication with a Robot? Activity (60 minutes)
By Sanjay and Arvind Seshan
Follow the Light Follow the Light Presentation > TeachEngineering.org Center for Computational Neurobiology, University of Missouri.
Mindstorms EV3 Programming
What Is a Program? What Is a Program? lesson > TeachEngineering.org
Introduction To Programming with LEGO NXT 2
Robot Soccer Challenge
Loops and Switches Pre-Quiz
Music by Touch Music by Touch Presentation > TeachEngineering.org
Module F: Presentation Understanding Robot Fundamentals
Robot Programming Computer Literacy S2.
Learn… Create… Program
INTERMEDIATE PROGRAMMING LESSON
An Introduction to VEX IQ Programming with Modkit
Holyoke Codes LEGO ROBOTICS
Learn… Create… Program
Maze Challenge Maze Challenge activity > TeachEngineering.org
ACTIVITY MOVEMENT TASK USING SENSORS - HUMANS AND ROBOTS (75 MINUTES)
Using Waits, Loops and Switches
Loops and Switches How Do You Make Loops and Switches? lesson > TeachEngineering.org Center for Computational Neurobiology, University of Missouri.
Learn… Create… Program
Learn… Create… Program
Creating a Simple Game in Scratch
Getting started with LEGO EV3 Mindstorms software
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

Loops and Switches

1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give an example of a program you could write that would use a switch. 2 Loops and Switches Pre-Quiz

1. What kind of blocks are these? loop switch 2. Name two kinds of controls that can be specified to determine how long a loop repeats. Any two of these: “Forever” (a never-ending loop), any sensor, “count” (tell the loop to repeat, for example, 5 times), “time” (tell the loop to repeat, for example, 1 minute), logic 3. Give an example of a program you could write that would use a switch. Example answer: While the touch sensor is pressed, go forward; otherwise, move backwards. 3 Loops and Switches Pre-Quiz Answers

Objective Loops and switches are two of the most important tools used in programming. Loops allow us to repeat segments of a program indefinitely or until some condition is met Switches allow a program to respond differently to different conditions In today’s lesson, we: Investigate how loops and switches work Learn how to use loops and switches when we program using the LEGO MINDSTORMS NXT software Learn to use switches and loops in unison to expand the functions of the programs we will make 4 What are loops and switches? (50 minutes)

o In programming, a loop is an operator that allows us to repeat a set of commands indefinitely. o In many factories, a machine performs the same simple task thousands of times in a day o Watch a video clip of an assembly machine (1:41 minutes) o As a programmer, you don’t want to have to copy instructions for repeating that same simple task thousands of times… o So, instead, you write commands for the simple task once, and then enclose those commands in a loop, which can be repeated as many times as you want. 5 Loops: What Are They?

Suppose we want to make a robot move once around in a square. A program to do that has 8 blocks and would look like this: 6 start/stop at this corner  Programming with Loops

So. what we really want to program is simply: Repeat (1. go forward; 2. turn right) 4 times. In the LEGOMINDSTORMS NXT software, the loop block icon looks like this  Drag this block down to the main line of your program as shown: Notice that the 8 commands we would use to do this (forward, right, forward, right, forward, right, forward, right) are really just the same 2 commands repeated 4 times 7 Programming with Loops (continued) Programming this task becomes a lot easier if you use “loops.”

When you highlight the loop block, notice the drop- down menu next to “Control.” The Control options enable you to tell a robot how long to keep looping the commands inside the loop. Selecting “Forever” repeats those commands indefinitely. Selecting “Sensor” repeats those commands until a sensor detects a stimulus (for example, until the touch sensor is pressed). Selecting “Time” repeats those commands until a certain amount of time has expired (for example, 5 minutes). 8 Programming with Loops (continued)

Selecting “Count” repeats those commands some specific number of times. We won’t discuss selecting “Logic” at this time, because it is a bit too complicated for our application. In this case, what do we choose? Since we want the commands (go forward, turn right) to be repeated 4 times, we select “Count” and set “count” to 4. 9 Programming with Loops (continued)

Next, we need to drag the commands we want to be repeated INSIDE the loop. The final program looks like this:  Notice that instead of 8 blocks, we only need 2 blocks, surrounded by a loop. 10 Programming with Loops (continued)

Do This: Fill out Part 2 of the worksheet. Then program the robot to: Go forward until it hits a wall, then back up one rotation and turn left Repeat these instructions until detecting a sound Then stop 11 Mini-Activity 1

Mini-Activity 1 Programming Solution

(continued) Mini-Activity 1 Programming Solution

In programming, a switch is an object that gives different commands depending on which state it is in. A light switch for example, has 2 states: up and down. When the light switch is in the “up” position, the switch directs the light it controls to turn on. When the light switch is in the “down” position, the switch directs the light it controls to turn off. 14 Day 2: What Is a Switch?

Suppose we want to program a robot to end up exactly 24 inches from a wall no matter where it starts. This means that the robot will always be in one of two states: 1. closer than 24 inches to the wall or 2. farther than 24 inches from the wall We can best deal with this situation by using a switch. To do this, click on the switch icon: and drag it down to the program line. 15 Programming with Switches

When you highlight the switch block, notice that you can indicate the sensor used. In this case, we are interested in how far away the robot is from the wall, so we select the ultrasonic sensor from the drop-down menu. Because we want the state of the switch to depend on the distance the robot is initially away from the wall, we also need to set the distance to 24 inches. 16 Programming with Switches (continued)

If the condition specified is satisfied, the program will execute the commands in the top half of the switch. This means the robot is less than 24 inches from the wall and we need the robot to back up until it is at least 24 inches away from the wall. We can achieve this by using a backward move block with unlimited duration followed by a wait block as shown below. 17 Programming with Switches (continued)

18 If the condition specified is not satisfied, the program will execute the commands in the bottom half of the switch. This means the robot is more than 24 inches from the wall and we need the robot to go forward until it is closer than 24 inches from the wall. We can achieve this by using a forward move block with unlimited duration followed by a wait block as shown below. Programming with Switches (continued)

Do This: In worksheet Part 3, write out the program we just discussed in WORDS, that is, as an algorithm, and understand it fully. Then, write the NXT program, download it onto the LEGO taskbot and verify that it works correctly. Note that all the blocks for this program are provided on the previous slides. 19 Mini-Activity 2

20 Mini-Activity 2 Programming Solution

Do This: Program the robot so that: It moves forward until it hears a sound. If the touch sensor is pressed when it hears a sound, turn left. If the touch sensor is not pressed when it hears a sound, turn right. 21 Mini-Activity 3

Programming Activity Solution

Programming Activity Solution (continued)

1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give an example of a program you could write that would use a switch. 24 Loops and Switches Post-Quiz

1. What kind of blocks are these? loop switch 2. Name two kinds of controls that can be specified to determine how long a loop repeats. Any two of these: “Forever” (a never-ending loop), any sensor, “count” (tell the loop to repeat, for example, 5 times), “time” (tell the loop to repeat, for example, 1 minute), logic 3. Give an example of a program you could write that would use a switch. Example answer: While the touch sensor is pressed, go forward otherwise move backwards. 25 Loops and Switches Post-Quiz Answers

loop: A command or “operator” that repeats a set of commands. switch: In programming, an object that gives different commands depending on which state it is in. 26 Vocabulary

27 Slide 1: girl on floor with laptop; source: Microsoft® clipart: us/images/results.aspx?qu=laptop&ex=1#ai:MP | us/images/results.aspx?qu=laptop&ex=1#ai:MP | Slide 1: multicolored chevron loop; source: Microsoft® clipart: us/images/results.aspx?qu=cycle&ex=1#ai:MC | us/images/results.aspx?qu=cycle&ex=1#ai:MC | Slides 1, 14: wall switch drawing; source: Microsoft® clipart: us/images/results.aspx?qu=light+switch&ex=1#ai:MC | us/images/results.aspx?qu=light+switch&ex=1#ai:MC | Device and programming images from LEGO MINDSTORM NXT User’s Guide Screen captures and diagrams by author Images Sources