Presentation is loading. Please wait.

Presentation is loading. Please wait.

T HE F INCH R OBOT AND THE W HILE L OOP Pepper. T HE R OBOT Developed by Carnegie Mellon students to teach CS Supports many compilers, including Java.

Similar presentations


Presentation on theme: "T HE F INCH R OBOT AND THE W HILE L OOP Pepper. T HE R OBOT Developed by Carnegie Mellon students to teach CS Supports many compilers, including Java."— Presentation transcript:

1 T HE F INCH R OBOT AND THE W HILE L OOP Pepper

2 T HE R OBOT Developed by Carnegie Mellon students to teach CS Supports many compilers, including Java Web site: http://www.finchrobot.com/http://www.finchrobot.com/ Why – Illustrate while and do /while loops with physical example Why 2: See how hardware and physical actions can be controlled with code Lab group practice Extra: One robot available for creating game Will need to learn methods May need to debug issues Will it help you learn for the final?

3 H ARDWARE Input Sensors Obstacles Light Accelerometer (how fast is it going) Temperature Output Wheels turn LED lights Speaker Power Long USB Cord

4 I NSTALLING Download Java package from http://www.finchrobot.com/Creating,%20Compili ng,%20and%20Running%20Programs%20for%20 Finch/bluej http://www.finchrobot.com/Creating,%20Compili ng,%20and%20Running%20Programs%20for%20 Finch/bluej Place it in the folder you want to use Unzip it Open sample project in sourceFiles bluej.pkg Create your own package inside sample project (or add jar file finch.jar to bluej via preferences Or add finch.jar to the +libs folder inside SourceFiles)

5 M AKE A F INCH C ONTROLLER Bring in the knowledge: import edu.cmu.ri.createlab.terk.robot.finch.Finch; Create a finch object that knows finch commands: Finch myFinch = new Finch(); Always end with quit and exit: myFinch.quit(); System.exit(0);

6 C ONTROLLING COMMANDS Set Finch Beak Color: myFinch.setLED(red,green,blue); // 0 to 255 Make Finch Speak: myFinch.saySomething("The Finch will say this."); Make Finch Move: myFinch.setWheelVelocities(left,right,time) // -255 to 255 & time is in milliseconds // negative number rolls backwards // hold the cord or it may have difficulty

7 S IMPLE PROGRAM – package Pepper; import edu.cmu.ri.createlab.terk.robot.finch.Finch; public class FinchSimple { public static void main(final String[] args) { // Instantiating the Finch object Finch myFinch = new Finch(); myFinch.setWheelVelocities(255,255,1000); myFinch.saySomething(“I am now All Done"); // Always end your program myFinch.quit(); System.exit(0); }

8 G ET F INCH S ENSE I NFORMATION Obstacles: All true/false isObstacle () isObstacle isObstacleLeftSide () isObstacleLeftSide isObstacleRightSide () isObstacleRightSide Light: All true/false, but using light level threshold. Returns true if less than the threshold isRightLightSensor (10) isRightLightSensor isLeftLightSensor (10) isLeftLightSensor In dark, it will be true up to about 4 In light, it will be true up to about 40 Ex: if (myFinch.isRightLightSensor(10) == true) { System.out.println(“It is light out”);} else {System.out.println(“It is dark out”);}

9 M AKE IT DO AN ACTION WHILE A CONDITION IS TRUE Keep moving forward until it senses an obstacle while ( myFinch.isObstacle() == false ){ myFinch.setWheelVelocities(255,255,200); } // then back up myFinch.setWheelVelocities(-255,-255,1000);

10 A NOTHER - M AKE IT DO AN ACTION WHILE A CONDITION IS TRUE Spin until the lights turn off while (myFinch.isRightLightSensor(10) == true){ myFinch.setWheelVelocities(255,-255,1000); } // when the lights are out, this will be false // when the lights are on, this will be true // could say spin while lights are on // WILL NOT SPIN AT ALL IF LIGHTS OFF

11 D O W HILE Spin at least once, and then keep spinning until the lights turn off do { myFinch.setWheelVelocities(255,-255,1000); } while (myFinch.isRightLightSensor(10) == true); // run with lights off – see one spin first

12 G ET ORIENTATION INFO Orientation: All true/false isFinchLevel () isFinchLevel isFinchUpsideDown () isFinchUpsideDown isBeakDown () isBeakDown isBeakUp () isBeakUp isLeftWingDown () isLeftWingDown isRightWingDown () isRightWingDown

13 Y OUR T AKEAWAY Difference between while and do while Creating an object of a class gives your program powerful tools A sense of how hardware can be controlled by code Perhaps a desire to code your game using this little robot

14 Y OUR T URN Probably not needed, but see finch.jar in preferences Download java finch package http://www.finchrobot.com/Creating,%20Compiling,%20and%2 0Running%20Programs%20for%20Finch/bluej http://www.finchrobot.com/Creating,%20Compiling,%20and%2 0Running%20Programs%20for%20Finch/bluej New class Import above class: import edu.cmu.ri.createlab.terk.robot.finch.Finch; Inside main method, create a finch object Finch myFinch = new Finch(); Close your finch at the end of main myFinch.quit(); System.exit(0); Add code to make it move right and test. Then make it do something until it hits a wall.


Download ppt "T HE F INCH R OBOT AND THE W HILE L OOP Pepper. T HE R OBOT Developed by Carnegie Mellon students to teach CS Supports many compilers, including Java."

Similar presentations


Ads by Google