True, but only if you dedicate one Arduino to about four steppers and have one master Arduino send coordination instructions to the three Arduinos it would take to drive the steppers. Getting the timing right for all twelve is far beyond the capacity of a single Arduino.
@Astrid Alaniz Intriguing, but I doubt very much that Klipper would fully support 12 stepper motors or that either an RPi or a BBB can reasonably support the pinout. I know for sure that neither the RPi nor the BBB can support the cascaded timing; GPIO on both is slower and far more complicated than it is on Arduino. My money is on a twenty-dollar set of four Arduinos. That's cheaper than either an RPi or a BBB. The RAMPS boards are far cheaper than the stepper driver boards that either the RPi or the BBB would require, too... and we haven't even started talking about power supplies yet. Nice try, though. 8)
@Astrid Alaniz Wait. I've read a little more. It appears that Klipper permits a single RPi or BBB to act as the "conductor", directing a cluster of Arduinos. OK, I can live with that.
normal people : Stepper motors. The stepper motor is an electromagnetic device that converts digital pulses into mechanical rotation. Advantages of step motors are low cost, high reliability, high torque at low speeds and a simple, rugged that operates in almost any environment. this guy : MOTOR OF THE FRONTIER GO BURRRR !!!
this is the intentional version of when I hear little recognizable tunes coming from my printer, , imagine STL's that generated g code that both print little things and make music while printing on porpoise,
1. Learn to read sheet music 2. Learn to program in GCode 3. Learn to program an Arduino for RAMPS use 4. Learn to make several Arduinos communicate well via I2C or SPI 5. Gather at least four Arduinos and three RAMPS boards and four prototype boards and twelve suitable stepper motors 6. Modify one instance of GRBL to become a "band director" 7. Modify three instances of GRBL to become four-note players 8. Build an interconnection system between the four Arduinos with one master and three slaves 9. Plug everything together; dress up the steppers 10. Learn how to translate sheet music to GCode 11. Laboriously perform the translation 12. Send your GCode to the "band director" Arduino 13. Edit the heck out of your GCode to correct all the errors you made the first time 14. Repeat 12 and 13 forever; there are countless errors in the first run 15. Amaze your friends once, bemuse them thrice, annoy them forevermore
@@timhofstetter5654 I think 90% of the steps are unnecessary steppers can be controlled using arduino in about 4 lines of code just extract frequencies from the song and create a function that takes frequencies in input and converts them to speed signals (which is just the delay control)
@@aminebouabid5382 It's not nearly that simple. A frequency cannot be used as an input to anything, and no such thing as a "speed signal" exists. It takes far more than four lines of code to control a stepper. You have to initialize a timer to give you a hardware interrupt at a given frequency and use that interrupt to send pulses to the stepper driver. There's a catch, though; that's ONE stepper. You have to do it for FOUR OR MORE steppers, and you don't have enough timers or interrupts available for four. You can''t synchronize the steppers because they each step at different frequencies (which accounts for the distinct tone of each). You can use high multiples of two stepper frequencies, though, and use counters to trigger each of two steppers at their appropriate intervals; that gives you two steppers per timer. If you happen to be lucky enough to need two frequencies that can reasonably be multiplied together to be divided back. An Uno has two sixteen-bit timers and two eight-bit timers. Eight bits isn't enough for good tuning, so you have to rely on just the pair of sixteen-bit timers. That gives you... four steppers per Arduino. Alternative: you could set up one single timer at a very, very high frequency and use four counters to approximate your four pitches... but then none of your pitches would be in good tune with the rest. They'd be in good enough tune for a campfire sing-along with children, but not good enough to be regarded as "musical" and certainly not good enough for anything that wanted to emulate symphonic music..
I was wondering how many different steppers are involved, because each will have practical limits as to top speeds and how closely they synchronize to musical tones. I could readily see using those with varying numbers of steps, torques, etc. also, their power supply may be varied to affect such parameters. A lot of 3d printers, for example, don’t run their steppers at max voltage.
@@strictnonconformist7369 It may also be possible to vary a stepper's timbre by adjusting its microstepping on the fly. Doing that makes the project that much more challenging, though. 8)
The pitch is generated by the speed of the rotataion right? For example a speed of 440 steps per second would generate a sound with a frequency of 440 hz?
@@JonathanKayne Thanks for the response! Nice work with the stepper synth. I have been thinking about trying to do a project like that for a while. I prototyped with a small stepper motor but didn't get much sound. What steppers are you using?
NSTB: So how many motors are we going to need for this song? NSTB: Yes, all of them. Internet: :-D {fist pump} I'm not sure why, but when this started, I couldn't help but just start laughing. It was sort of like a full of tough biker guys with straight faces started using kazoos to create this song. I think my brain thought it was absolutely absurd, and absolutely wonderful at the same time. All I really know is that I absolutely love this video!
you would need to first measure the relationship between the input voltage and output frequency of the motors - then you need to either take the MIDI sequence and map the channels' outputs as voltages instead of notes/binary data, or alternately just write the sequence as code using voltages
The only real limitation would be the number of pins. An arduino can easily handle this considering the pulses are kHz max and the thing runs at 16 MHz
Standing ovation for the light blue motor. That guy was going for it.
the light purple too
ik it's not funny anymore.... but cyan is sus
10 miles for him...
He was told he could do anything, so he became a helicopter.
Also magenta motor
The first time I ever set up and ran a stepper, my immediate thought upon hearing how on-pitch it was was that one could probably do this with them.
yeah yeah. All talk. wheres your video now?;p 1 year past buddy
:eyes:
Bravo! RUclips algorithm left this as a gem for me to find two years later. Nice work!
INFO: Using A4988 driver chip (1 for each motor) makes this absolutely doable for Arduino.
True, but only if you dedicate one Arduino to about four steppers and have one master Arduino send coordination instructions to the three Arduinos it would take to drive the steppers. Getting the timing right for all twelve is far beyond the capacity of a single Arduino.
@Astrid Alaniz Intriguing, but I doubt very much that Klipper would fully support 12 stepper motors or that either an RPi or a BBB can reasonably support the pinout. I know for sure that neither the RPi nor the BBB can support the cascaded timing; GPIO on both is slower and far more complicated than it is on Arduino.
My money is on a twenty-dollar set of four Arduinos. That's cheaper than either an RPi or a BBB. The RAMPS boards are far cheaper than the stepper driver boards that either the RPi or the BBB would require, too... and we haven't even started talking about power supplies yet.
Nice try, though. 8)
@Astrid Alaniz Wait. I've read a little more. It appears that Klipper permits a single RPi or BBB to act as the "conductor", directing a cluster of Arduinos. OK, I can live with that.
@Astrid Alaniz Oh... but it's written primarily in Python. I'm taking away your upvote again. Sorry.
@Astrid Alaniz Hmmm... support for the BBB, although touted, sounds very hinky.
That teal one is ZOOMIN'!
Claps for Purple and Cyan solo :)
How could 5 people not like this, it's brilliant.
now its 8 :(
Now there’s now dislike
@@SamuelLing Watched it again, still brilliant!
normal people : Stepper motors. The stepper motor is an electromagnetic device that converts digital pulses into mechanical rotation. Advantages of step motors are low cost, high reliability, high torque at low speeds and a simple, rugged that operates in almost any environment. this guy : MOTOR OF THE FRONTIER GO BURRRR !!!
Never take your silent steppers for granted
If stuff like that wouldn't be so time consuming I would love to do it myself on one of my projects at work as an easter egg.
This is hilarious.. Good job.. Makes me remember when my stepper where noisy.. :)
Here before this goes viral. Grab your tickets now!!!!!!
I remember hearing this song all the time when I used to watch Thomas the tank engine
this deserves way more views and likes than it's gotten
Maestro!
You made good use of all 10 motors.
Its eleven motors.
OMG! There nothing on this planet, that does not exist! Really! (I love it!)
This is by far mankind's greatest accomplishment. Bravo!
This tickles my brain
stunning. Best stepper motor music on the web!
This makes my day! Love it.
this should have millions of views. fantastic.
Steppin' in style! Bravo
magenta and cyan represent those two guys that do everything in the team
Капец, ноги в пляс сами просятся.😂🕺🕺👯♂👯♂👍
An orchestra of steppers :) Hat off, well done!
Stepper: Let's machine this bois
Rest of steppers: ayy
WTF!!! Absolutely BRILLIANT!!!
this is the intentional version of when I hear little recognizable tunes coming from my printer, , imagine STL's that generated g code that both print little things and make music while printing on porpoise,
it is doable in gcode, but not sure id you could do a model that makes a slicer do this
It sounds like a ringtone
ok, now lets hear THE WHOLE William Tell. please? ❤
Can you make a tutorial on how to do this. I would love to do this myself
1. Learn to read sheet music
2. Learn to program in GCode
3. Learn to program an Arduino for RAMPS use
4. Learn to make several Arduinos communicate well via I2C or SPI
5. Gather at least four Arduinos and three RAMPS boards and four prototype boards and twelve suitable stepper motors
6. Modify one instance of GRBL to become a "band director"
7. Modify three instances of GRBL to become four-note players
8. Build an interconnection system between the four Arduinos with one master and three slaves
9. Plug everything together; dress up the steppers
10. Learn how to translate sheet music to GCode
11. Laboriously perform the translation
12. Send your GCode to the "band director" Arduino
13. Edit the heck out of your GCode to correct all the errors you made the first time
14. Repeat 12 and 13 forever; there are countless errors in the first run
15. Amaze your friends once, bemuse them thrice, annoy them forevermore
@@timhofstetter5654 I think 90% of the steps are unnecessary
steppers can be controlled using arduino in about 4 lines of code
just extract frequencies from the song and create a function that takes frequencies in input and converts them to speed signals (which is just the delay control)
@@aminebouabid5382 It's not nearly that simple. A frequency cannot be used as an input to anything, and no such thing as a "speed signal" exists. It takes far more than four lines of code to control a stepper. You have to initialize a timer to give you a hardware interrupt at a given frequency and use that interrupt to send pulses to the stepper driver.
There's a catch, though; that's ONE stepper. You have to do it for FOUR OR MORE steppers, and you don't have enough timers or interrupts available for four. You can''t synchronize the steppers because they each step at different frequencies (which accounts for the distinct tone of each). You can use high multiples of two stepper frequencies, though, and use counters to trigger each of two steppers at their appropriate intervals; that gives you two steppers per timer. If you happen to be lucky enough to need two frequencies that can reasonably be multiplied together to be divided back.
An Uno has two sixteen-bit timers and two eight-bit timers. Eight bits isn't enough for good tuning, so you have to rely on just the pair of sixteen-bit timers. That gives you... four steppers per Arduino.
Alternative: you could set up one single timer at a very, very high frequency and use four counters to approximate your four pitches... but then none of your pitches would be in good tune with the rest. They'd be in good enough tune for a campfire sing-along with children, but not good enough to be regarded as "musical" and certainly not good enough for anything that wanted to emulate symphonic music..
Step one. Buy a horse
Step two. ???
Step three. PROFIT
There are tutorials online
This made me chuckle.
Awesome! Great Job! I will build one soon! thank you.
So awesome and well made!
Cyan just wigging out in the corner
shredding the 16ths
Hi-Oh Stepper away!!!!
Rossini might not have understood or appreciated it at first. But it is an interesting "orchestra."
The Lone Ranger would be proud
Kudos to the violet motor and the sky blue motor!
Legend.
Fantastic!
extreme good work
Nice! Is that group of steppers equal-tempered, or is the number of steppers selected for dynamic matching across the scale?
I was wondering how many different steppers are involved, because each will have practical limits as to top speeds and how closely they synchronize to musical tones. I could readily see using those with varying numbers of steps, torques, etc. also, their power supply may be varied to affect such parameters. A lot of 3d printers, for example, don’t run their steppers at max voltage.
@@strictnonconformist7369 It may also be possible to vary a stepper's timbre by adjusting its microstepping on the fly. Doing that makes the project that much more challenging, though. 8)
The pitch is generated by the speed of the rotataion right? For example a speed of 440 steps per second would generate a sound with a frequency of 440 hz?
Don't know if the relation is right but yes, the faster, the higher pitched the sound will be
That's 100% correct
@@JonathanKayne Thanks for the response! Nice work with the stepper synth. I have been thinking about trying to do a project like that for a while. I prototyped with a small stepper motor but didn't get much sound. What steppers are you using?
@@gulfarn863 I used a4988 stepper drivers with nema17 motors. The lower the driver quality the better sound you get
@@JonathanKayne Thanks!
Hi Yo! Stepper away!
cyan and magenta go wee
AWESOME!!!!
Teal over there about to achieve lift-off.
NSTB: So how many motors are we going to need for this song?
NSTB: Yes, all of them.
Internet: :-D {fist pump}
I'm not sure why, but when this started, I couldn't help but just start laughing. It was sort of like a full of tough biker guys with straight faces started using kazoos to create this song. I think my brain thought it was absolutely absurd, and absolutely wonderful at the same time.
All I really know is that I absolutely love this video!
everybody gangsta till "A Clockwork Orange 2077" starts playing
You're supposed to play William Tell using several bow strings.
Very cool!
Hi-ho Solder, away!
Reminds me of that micky mouse short. Every time i expect donald to interupt with his infinite flutes.
Meanwhile I'm reminded of Thomas cause it was used as the runaway theme a couple of times :P
I feel like shooting an apple off someone's head with a bow with a 100 pound draw.
sky blue MVP
kreated the steppers the diffrent frequences (low - high tone) with the rotationspeed?
When you have enough money and time to play a song on 11 stepper motors but can't afford a tripod.
LOL That's great i love it!!
for文で何とか一つ回せるようになりました。複数やるにはやっぱり割り込み理解しないときついですか?
Tell me how to build such a midi player?
you would need to first measure the relationship between the input voltage and output frequency of the motors - then you need to either take the MIDI sequence and map the channels' outputs as voltages instead of notes/binary data, or alternately just write the sequence as code using voltages
If all these motors are the same how comes they produce different Tunes? or is it different frequencies?
what is a stepper motor?
I know where my stimulas check is going
Completely pointless.... and completely awesome!
cyan vector: I WILL OVERSPIN YA
Can't even tell which way it's pointing!! Lol
NEMA17?
Probably not an arduino driving this... I assume it's a more powerfull cpu that is needed to create those pulsetrains
you gotta be kidding. a more powerful CPU?
i think someone with appropiate skill could do that with a 1980s CPU.
The only real limitation would be the number of pins. An arduino can easily handle this considering the pulses are kHz max and the thing runs at 16 MHz
I dont see any cannons
So this is what the NTSB does when theres no plane crashes
computer what we building stepper motors ¯\_(ツ)_/¯
magenta and cyan have a fight
Eat your heart out, Wendy Carlos xD
Shit sounds like a cheap little tikes keyboard but still fire
The higher notes sound a little out of tune. Divider values becoming to low to hit the precise frequencies?
My only question is: Why?
Reasonable response: because it could be done!
Best response" Why not?
magenta and cyan are helicopters
ビールのダンボールを振動材にしてて草
OK, Do Super Mario Brothers
only original if you see chinese letters.
This guy should doing MÆth,before....
I'm so stupid
本当にうっさい草