pxt-ev3/docs/tutorials/mindstorms-music.md
Galen Nickel ac81067f82
Tutorial format and macro fixes (#425)
* Tutorial format and macro fixes

* Remove branded names
2018-04-04 15:12:55 -07:00

2.7 KiB
Raw Blame History

Music Brick

Introduction @fullscreen

Transform your @boardname@ into a musical instrument!

Press my buttons message

Step 1

Open the ||brick:Brick|| Toolbox drawer. From the Screen section, drag out a ||brick:show string|| block onto the Workspace, and drop it into the ||loops:on start|| block. You should hear and see the block click into place.

brick.showString("Hello world", 1)

Step 2

In the ||brick:show string|| block, type the text "Press my buttons to make music!" to replace "Hello world".

brick.showString("Press my buttons to make music!", 1)

Step 3

Open the ||brick:Brick|| Toolbox drawer. From the Buttons section, drag out an ||brick:on button|| block onto the Workspace (you can put it anywhere).

brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {

})
brick.showString("Press my buttons to make music!", 1)

Step 4

Open the ||music:Music|| Toolbox drawer. Drag out 5 ||music:play tone|| blocks onto the Workspace, and drop them into the ||brick:on button|| block. Note: you can also right-click on a block and select "Duplicate" to copy blocks.

brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {
    music.playTone(0, music.beat(BeatFraction.Half))
    music.playTone(0, music.beat(BeatFraction.Half))
    music.playTone(0, music.beat(BeatFraction.Half))
    music.playTone(0, music.beat(BeatFraction.Half))
    music.playTone(0, music.beat(BeatFraction.Half))
})
brick.showString("Press my buttons to make music!", 1) 

Step 5

In the ||music:play tone|| blocks, use the drop-down menu to select a note to play for each block. You can also set the duration to play each note for.

Tone selector keyboard

brick.buttonEnter.onEvent(ButtonEvent.Pressed, function () {
    music.playTone(440, music.beat(BeatFraction.Half))
    music.playTone(494, music.beat(BeatFraction.Half))
    music.playTone(392, music.beat(BeatFraction.Half))
    music.playTone(196, music.beat(BeatFraction.Half))
    music.playTone(294, music.beat(BeatFraction.Whole))
})
brick.showString("Press my buttons to make music!", 1)

Step 6

Now, lets download our program to the brick. Plug your @boardname@ into the computer with the USB cable, and click the blue Download button in the bottom left of your screen. Follow the directions to save your program to the brick. You can add more ||brick:on button|| blocks to the Workspace and create other ||music:play tone|| melodies when different buttons are pressed to transform your brick into a musical instrument!