I know it’s late, but the end of the year just got a little too busy for me.
Here is my LEGO MINDSTORMS EV3 version of ‘Carol of the Bells’. I found a version of the song in 3 parts and assigned each voice to an EV3. Timing was particularly difficult as while the notes played as expected, things like Loop and Bluetooth functions all take a finite time, which can throw out the timing of the song. In the end I sent a bluetooth message from the Master EV3 (left hand one) to the two Slaves ever 4 bars of the song. It does a pretty good job of keeping it roughly in time.
To make the Brick Lights flash in time with each note, requires some multi-tasking. I start the musical note and turn on the brick light at the same time. Then as the note is still playing, I take the note duration, divide by 3 and wait for that amount of time before turning the light off. This gives a nice effect whereby longer notes have the light left on for a longer period of time. Rather than do this for every single note, I used the My Block Builder to create my own block. It accepts inputs of Note name, Note Duration and Volume and then send all those variables to the right places.
This is a screenshot of one of the programs. You can download the full project file here – carol_of_the_bells.ev3
6 Comments
Comments are closed.
Did you use three part music sheets to program notes correctly? Where did you look to find it if you did? I have groups of four and would like to have them create a song in four parts. I can't imagine programming w/o note song sheets. Great challenging project for students.
This is just amazing and a nerdy robot thing to do. I love it.
Cool program. Great lights
This made me smile!
I love the fact that this is a totally novel way to use multiple EV3s.
: )
Awesome, I'm going to show my students tomorrow. Thanks for that. Happy holidays.
PS – If you want to see and hear an amazing Carol of the bells, listen to Carol of the Bells by Pentatonix. Enjoy.
https://www.youtube.com/watch?v=WSUFzC6_fp8
Very cool for carol of the bells