2018-03-30 00:16:26 +02:00
# Make a Sound Machine
Make a Sound Machine that can play a rhythm, music or just noise!
![Maker – Make a Sound Machine Main Image ](/static/lessons/make-a-sound-machine/lego-maker-sound-machine-1.jpg )
## Connect
Music is made up of a combination of sounds, notes and rhythm. A rhythm is a regular movement or repeated pattern of movements that can be used in many different ways. In mechanical machines, a rhythm can help keep a machine running smoothly. It can also be used to generate different sounds in music.
![Sound Machine 3 Stock Footage Images ](/static/lessons/make-a-sound-machine/three-stock.jpg )
Look at the photos and think about:
* What do you see?
* Can you see any new design opportunities?
* What problems can you see?
* How could you make use of the LEGO bricks, the EV3 Programmable Brick, motors, and sensors?
### Things You’ ll Need
2018-04-13 18:05:34 +02:00
* [@boardname@ Core Set ](https://education.lego.com/enus/products/legomindstormseducationev3coreset/5003400 )
2018-03-30 00:16:26 +02:00
Additional materials to add to your Sound Machine:
* Small musical instruments, such as chimes, bells, and small drums
* Arts and crafts materials such as:
>* Cardboard
>* Construction paper
>* Pipe cleaners
>* Plastic or paper cups
>* Recycled materials
>* Rubber bands
>* Wire
### Prior Knowledge
This activity uses motor rotations and sensor inputs. You may want to try the [Use ](/getting-started/use ) or [Object Detection ](/coding/object-detection ) activity before this one. Or, you can start out with this activity and tinker with coding motor and sensor inputs on your own.
## Contemplate
2018-04-18 22:15:53 +02:00
Follow the steps of the _Maker Design Process_ for this lesson:
2018-03-30 00:16:26 +02:00
2018-04-18 22:15:53 +02:00
| | |
|-|-|
| ![Paper sheet icon ](/static/maker/design-process-icons/define-problem.png ) | **Define the Problem** |
| ![Lightbulb icon ](/static/maker/design-process-icons/brainstorming.png ) | **Brainstorming** |
| ![Checkmark icon ](/static/maker/design-process-icons/define-criteria.png ) | **Define the Design Criteria** |
| ![Connector icon ](/static/maker/design-process-icons/go-make.png ) | **Go Make** |
| ![Redo icon ](/static/maker/design-process-icons/review-revise.png ) | **Review and Revise Your Solution** |
| ![Speaker icon ](/static/maker/design-process-icons/communicate.png ) | **Communicate Your Solution** |
2018-03-30 00:16:26 +02:00
### Defining the Problem
1. What problems did you imagine?
2. Pick one problem and explain it to a partner.
### Brainstorm
Now that you have defined a problem, start to generate ideas for solving it.
### ~hint
Some things to do while brainstorming:
* Use the bricks from the LEGO set to help you brainstorm or sketch your ideas on paper.
* The goal of brainstorming is to explore as many solutions as possible. You can use the tinkering examples in the Sample Solutions section below as inspiration for getting started.
* Share your ideas and get some feedback. It may lead to more ideas!
### ~
### Define the Design Criteria
* You should have generated a number of ideas. Now select the best one to make.
* Write out two or three specific design criteria your design must meet.
### Go Make
It is time to start making!
2018-04-13 18:05:34 +02:00
* Use the components from the @boardname @ Core Set and additional materials to make your chosen solution.
2018-03-30 00:16:26 +02:00
* Test and analyze your design as you go and record any improvements that you make.
### Review and Revise Your Solution
* Have you managed to solve the problem that you defined?
* Look back at your design criteria. How well does your solution work?
* How can you improve your design?
### Communicate Your Solution
Now that you have finished you can:
* Make a sketch or take a photo or video of your model.
* Label the three most important parts and explain how they work.
* Share your work with others.
## Continue
### Rhythm Maker - Sample Solution
2017-10-27 07:19:16 +02:00
This example program combined with the small model will make a beat and rhythm on any surface when the program is run.
2018-03-30 00:16:26 +02:00
![Sound Machine Tinkering Example ](/static/lessons/make-a-sound-machine/lego-maker-sound-machine.jpg )
#### Programming
1. Drag a run ``||motors:large motor A||`` block inside the ``||loops:forever||`` loop.
2. Press the ** (+)**.
3. Change the rotations to `2` .
4. Drag a ``||loops:pause||`` block and place it under the motor block.
5. Change the duration to ``200`` ms.
6. Drag a ``||run large motor A||`` block inside the ``||loops:forever||`` loop.
7. Press the ** (+)**.
8. Change the power to `100` .
9. Change the rotations to `1` .
2017-10-27 07:19:16 +02:00
```blocks
2018-02-15 01:05:31 +01:00
forever(function () {
2018-03-30 00:16:26 +02:00
motors.largeA.run(50, 2, MoveUnit.Rotations)
2018-02-15 01:05:31 +01:00
pause(200)
2018-03-30 00:16:26 +02:00
motors.largeA.run(100, 1, MoveUnit.Rotations)
2017-10-27 07:19:16 +02:00
})
2018-03-30 00:16:26 +02:00
```
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.
### Color Sensor Sounds - Sample Solution
You can also tinker with the use of sensors.
![Sound Machine Color Sensor ](/static/lessons/make-a-sound-machine/lego-maker-sound-machine-color-sensor.jpg )
#### Programming
1. Drag an ``||logic:if else||`` Logic block and place it inside the ``||loops:forever||`` loop.
2. Drag a ``||sensors:pause color sensor||`` block and place it inside the ``||logic:if true then||`` block.
3. Change the color to ``blue``.
4. Drag a ``||music:play tone||`` block and place under the sensor block.
5. Change the tone to ``Middle G`` (392 Hz).
6. Drag a ``||sensors:pause color sensor||`` block and place it inside the ``||logic:else||`` block.
7. Change the color to ``red``.
8. Drag a ``||music:play tone||`` block and place under the new sensor block.
9. Change the tone to ``High C`` (523 Hz).
10. Press the ** (+)**.
11. Drag a ``||sensors:pause color sensor||`` block and place it inside the ``||logic:else if||`` block.
12. Change the color to ``green``.
13. Drag a ``||music:play tone||`` block and place under the new sensor block.
14. Change the tone to ``High D`` (587 Hz).
```blocks
forever(function () {
if (true) {
2018-04-03 14:05:01 +02:00
sensors.color3.pauseUntilColorDetected(ColorSensorColor.Blue)
2018-03-30 00:16:26 +02:00
music.playTone(392, music.beat(BeatFraction.Whole))
} else if (false) {
2018-04-03 14:05:01 +02:00
sensors.color3.pauseUntilColorDetected(ColorSensorColor.Red)
2018-03-30 00:16:26 +02:00
music.playTone(523, music.beat(BeatFraction.Half))
} else {
2018-04-03 14:05:01 +02:00
sensors.color3.pauseUntilColorDetected(ColorSensorColor.Green)
2018-03-30 00:16:26 +02:00
music.playTone(587, music.beat(BeatFraction.Half))
}
})
```
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.