Update 'make it communicate' lesson (#372)

This commit is contained in:
Galen Nickel 2018-03-19 21:07:30 -07:00 committed by GitHub
parent 77365ddd92
commit adbda6e35f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 43 additions and 56 deletions

View File

@ -8,9 +8,9 @@ Design, build and program a robotic system that follows a path and communicates
https://www.youtube.com/watch?v=6piMI1JPDQc https://www.youtube.com/watch?v=6piMI1JPDQc
* Robotic systems are built from smaller, related subsystems. Look at the automobile system shown in the video. What subsystems can you see? * Robotic systems are built from smaller, related subsystems. Look at the automobile system shown in the video. What subsystems can you see?
* What kinds of robots follow a path? * What kinds of robots follow a path?
* What kind of system do you want to make? * What kind of system do you want to make?
### Brainstorm ### Brainstorm
@ -21,7 +21,7 @@ Think about:
* How can the robot sense where it is along the path? * How can the robot sense where it is along the path?
* How can the robot communicate its position? * How can the robot communicate its position?
![EV3 + LEGO Bricks](/static/lessons/make-it-communicate/hero.png) ![EV3 + LEGO Bricks](/static/lessons/make-it-communicate/ev3-plus-parts.jpg)
## Construct ## Construct
@ -29,25 +29,26 @@ Think about:
You can start by tinkering with the LEGO elements in the picture and then build on. You can start by tinkering with the LEGO elements in the picture and then build on.
More building ideas: More building ideas:
* [EV3 Frames](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/ev3%20frames-5054ee378e624fb4cb31158d2fc8e5cf.pdf)
* [Tracks](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/tracks-32d7554813af3f25cf5012d54a4bad2b.pdf) [![EV3 Frames](/static/lessons/make-it-communicate/ev3-frames.jpg)](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/ev3%20frames-5054ee378e624fb4cb31158d2fc8e5cf.pdf)
* [Color Sensor 2](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/color%20sensor_v2-e7fd54b6fa3cdfe36f414c1d2510f9cb.pdf) [![Tracks](/static/lessons/make-it-communicate/ev3-tracks.jpg)](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/tracks-32d7554813af3f25cf5012d54a4bad2b.pdf)
[![Color Sensor 2](/static/lessons/make-it-communicate/ev3-color-sensor2.jpg)](https://le-www-live-s.legocdn.com/sc/media/files/support/mindstorms%20ev3/building-instructions/design%20engineering%20projects/color%20sensor_v2-e7fd54b6fa3cdfe36f414c1d2510f9cb.pdf)
Build a path for your robot to follow. You can use electrical tape on a floor, or marker on paper. You can use objects as milestones to indicate a path that can be detected by either the Touch Sensor, Color Sensor, or Ultrasonic Sensor. Build a path for your robot to follow. You can use electrical tape on a floor, or marker on paper. You can use objects as milestones to indicate a path that can be detected by either the Touch Sensor, Color Sensor, or Ultrasonic Sensor.
## Program ### Program
Before you program, think about: Before you program, think about:
* How will you program the robot to follow a path? * How will you program the robot to follow a path?
* How will you program the robot to communicate its position? * How will you program the robot to communicate its position?
* Which programming blocks will you use? * Which programming blocks will you use?
### ~ hint ### ~hint
Explore the different Motor and Sensor blocks in the programming menu. Explore the different Motor and Sensor blocks in the programming menu.
@ -55,17 +56,25 @@ Explore the different Motor and Sensor blocks in the programming menu.
### Sample Solution ### Sample Solution
[Video: EV3 Track Rover](/static/lessons/make-it-communicate/trackrover.mp4) [![Video: EV3 Track Rover](/static/lessons/make-it-communicate/ev3-track-rover.jpg)](/static/lessons/make-it-communicate/trackrover.mp4)
The Track Rover follows a path using the color sensor. It identifies two locations by color. The Track Rover follows a path using the color sensor. It identifies two locations by color.
[Building Instructions](https://le-www-live-s.legocdn.com/sc/media/lessons/mindstorms-ev3/ev3-dep/building%20instructions/track-rover-bi-6aadb1b053df0c58a0dea108b5ce0eea.pdf) Track Rover solution combines these building ideas:
* EV3 frames
* Tracks
* Color sensor 2
Two copies of the tracks are built: one for the right side and a mirror image for the left side.
[![Track rover assembled](/static/lessons/make-it-communicate/ev3-track-rover2.jpg)](https://le-www-live-s.legocdn.com/sc/media/lessons/mindstorms-ev3/ev3-dep/building%20instructions/track-rover-bi-6aadb1b053df0c58a0dea108b5ce0eea.pdf)
### Sample Program Solution ### Sample Program Solution
This program works with the Track Rover. If you create a different robot, adjust the program to fit your solution. This program works with the Track Rover. If you create a different robot, adjust the program to fit your solution.
#### Program summary: Program summary:
* If the Color Sensor sees black, Motor B runs at -50 power and Motor C turns off. * If the Color Sensor sees black, Motor B runs at -50 power and Motor C turns off.
* If the Color Sensor sees white, Motor B turns off and Motor C runs at -50 power. * If the Color Sensor sees white, Motor B turns off and Motor C runs at -50 power.
@ -91,35 +100,10 @@ forever(function () {
motors.stopAll() motors.stopAll()
music.playSoundEffectUntilDone(sounds.colorsRed) music.playSoundEffectUntilDone(sounds.colorsRed)
motors.largeBC.run(-50) motors.largeBC.run(-50)
} else {
} }
}) })
``` ```
```blocks
sensors.color3.onColorDetected(ColorSensorColor.Black, function () {
motors.largeB.run(-50)
motors.largeC.run(0)
})
sensors.color3.onColorDetected(ColorSensorColor.White, function () {
motors.largeB.run(0)
motors.largeC.run(-50)
})
sensors.color3.onColorDetected(ColorSensorColor.Green, function () {
motors.stopAll()
music.playSoundEffect(sounds.colorsGreen)
pause(1000)
motors.largeBC.run(-50)
})
sensors.color3.onColorDetected(ColorSensorColor.Red, function () {
motors.stopAll()
music.playSoundEffect(sounds.colorsRed)
pause(1000)
motors.largeBC.run(-50)
})
```
### Download and test ### Download and test
Click Download and follow the instructions to get your code onto your EV3 Brick. Press the center button on the EV3 Brick to run the program. Click Download and follow the instructions to get your code onto your EV3 Brick. Press the center button on the EV3 Brick to run the program.
@ -128,37 +112,40 @@ Click Download and follow the instructions to get your code onto your EV3 Brick.
### Test and Analyze ### Test and Analyze
As you work on your solution: As you work on your solution:
1. Describe one part of your design that worked especially well. 1. Describe one part of your design that worked especially well.
2. Describe one design change that you had to make. 2. Describe one design change that you had to make.
3. What will you try next? 3. What will you try next?
### Review and Revise ### Review and Revise
Take a moment to reflect on your robot solution. Take a moment to reflect on your robot solution.
### Think about: Think about:
* Can the robots movement be more accurate?
* What are some ways that others have solved the problem? * Can the robots movement be more accurate?
* What are some ways that others have solved the problem?
Describe two ways you could improve your robot. Describe two ways you could improve your robot.
## Continue ## Continue
### Personalize your project ### Personalize your project
* Add/remove LEGO elements to improve the way your robot moves.
* Click on the JavaScript tab and experiment with changing the values in the code. * Add/remove LEGO elements to improve the way your robot moves.
* Add a custom image or sounds by adding blocks from the Brick or Music menus. * Click on the JavaScript tab and experiment with changing the values in the code.
* Add a custom image or sounds by adding blocks from the Brick or Music menus.
## Communicate ## Communicate
Here are some ideas: Here are some ideas:
* Create a video of your project, especially your final presentation and your robots performance.
* Explain some important features of your software program. * Create a video of your project, especially your final presentation and your robots performance.
* Produce a building guide for your model by taking a series of photographs as you deconstruct it. * Explain some important features of your software program.
* Include an image of your program with comments. * Produce a building guide for your model by taking a series of photographs as you deconstruct it.
* Add a team photograph! * Include an image of your program with comments.
* Add a team photograph!
Congratulations! What will you design next? Congratulations! What will you design next?

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB