2018-02-21 15:43:53 +01:00
# Make A System That Communicates
2018-09-20 23:05:59 +02:00
## Connect
2018-02-21 15:43:53 +01:00
### Design Brief
Design, build and program a robotic system that follows a path and communicates its position at least twice along the way.
https://www.youtube.com/watch?v=6piMI1JPDQc
2018-03-20 05:07:30 +01:00
* 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 kind of system do you want to make?
2018-02-21 15:43:53 +01:00
### Brainstorm
Discuss different solutions to the design brief.
Think about:
* What kind of motorized mechanism can be used to control the movements of a robot?
* How can the robot sense where it is along the path?
* How can the robot communicate its position?
2018-09-20 23:05:59 +02:00
2018-03-20 05:07:30 +01:00
![EV3 + LEGO Bricks ](/static/lessons/make-it-communicate/ev3-plus-parts.jpg )
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
## Construct
2018-02-21 15:43:53 +01:00
### Build
You can start by tinkering with the LEGO elements in the picture and then build on.
2018-03-20 05:07:30 +01:00
More building ideas:
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
[![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)
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
[![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)
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
### ~hint
If clicking the above images doesn't open the instructions, right-click on the image and choose "Save link as..." to download the PDF.
### ~
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
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.
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
### Program
Before you program, think about:
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
* How will you program the robot to follow a path?
* How will you program the robot to communicate its position?
* Which programming blocks will you use?
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
### ~hint
2018-02-21 15:43:53 +01:00
Explore the different Motor and Sensor blocks in the programming menu.
### ~
2018-09-20 23:05:59 +02:00
### Sample Solution
2018-02-21 15:43:53 +01:00
2018-03-24 00:26:46 +01:00
[![Video: EV3 Track Rover ](/static/lessons/make-it-communicate/ev3-track-rover.jpg )](https://legoeducation.23video.com/v.ihtml/player.html?token=79c99735f906403a4dd7f2909935983d& source=embed& photo%5fid=19857954)
2018-02-21 15:43:53 +01:00
The Track Rover follows a path using the color sensor. It identifies two locations by color.
2018-03-20 05:07:30 +01:00
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)
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
### ~hint
If clicking the above image doesn't open the instructions, right-click on the image and choose "Save link as..." to download the PDF.
### ~
### Sample Program Solution
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
This program works with the Track Rover. If you create a different robot, adjust the program to fit your solution.
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
Program summary:
2018-02-21 15:43:53 +01:00
* 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.
2018-09-20 23:05:59 +02:00
* If the Color Sensor sees green, all motors stop and the green sound plays.
2018-02-21 15:43:53 +01:00
* The robot waits one second, then motors move forward.
* If the Color Sensor sees red, all motors stop, and the red sound plays.
* The robot waits one second, then motors move forward.
* Loops unlimited.
```blocks
forever(function () {
if (sensors.color3.color() == ColorSensorColor.Black) {
motors.largeB.run(-50)
motors.largeC.run(0)
} else if (sensors.color3.color() == ColorSensorColor.White) {
motors.largeC.run(-50)
motors.largeB.run(0)
} else if (sensors.color3.color() == ColorSensorColor.Green) {
motors.stopAll()
music.playSoundEffectUntilDone(sounds.colorsGreen)
motors.largeBC.run(-50)
} else if (sensors.color3.color() == ColorSensorColor.Red) {
motors.stopAll()
music.playSoundEffectUntilDone(sounds.colorsRed)
motors.largeBC.run(-50)
}
})
```
### 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.
2018-09-20 23:05:59 +02:00
## Contemplate
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
### Test and Analyze
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
As you work on your solution:
2018-09-20 23:05:59 +02:00
1. Describe one part of your design that worked especially well.
2. Describe one design change that you had to make.
3. What will you try next?
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
### Review and Revise
2018-03-20 05:07:30 +01:00
2018-09-20 23:05:59 +02:00
Take a moment to reflect on your robot solution.
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
Think about:
2018-09-20 23:05:59 +02:00
* Can the robot’ s movement be more accurate?
2018-03-20 05:07:30 +01:00
* What are some ways that others have solved the problem?
2018-02-21 15:43:53 +01:00
Describe two ways you could improve your robot.
2018-09-20 23:05:59 +02:00
## Continue
2018-02-21 15:43:53 +01:00
### Personalize your project
2018-03-20 05:07:30 +01:00
2018-09-20 23:05:59 +02:00
* Add/remove LEGO elements to improve the way your robot moves.
2018-03-20 05:07:30 +01:00
* 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.
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
## Communicate
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
Here are some ideas:
2018-02-21 15:43:53 +01:00
2018-09-20 23:05:59 +02:00
* Create a video of your project, especially your final presentation and your robot’ s performance.
* Explain some important features of your software program.
* Produce a building guide for your model by taking a series of photographs as you deconstruct it.
* Include an image of your program with comments.
* Add a team photograph!
2018-02-21 15:43:53 +01:00
2018-03-20 05:07:30 +01:00
Congratulations! What will you design next?