Newbie first project.

I want to create a haptic experience to go along with my 3d animated vr movies.
The videos aren't interactive so I basically just want to hook up some motors and create a sequence that will be synced with the movie. I've never tried this before but I'm guessing the easiest way to do this is by making the whole thing start running with a queue to the sound sensor.
I'll probably use a stepper motor and a few vibration motors.
I was just about to buy the elegoo complete starter kit on Amazon but I thought I better ask and make sure my plan makes sense. I think all I need other then the kit is some vibration motors (I don't think it comes with any).

Yes, buy the Elgoo starter kit and go through connecting the kit sensors and running the example sketches (what Arduinolings call programs).

Once you are comfortable with the IDE and example programs, start pushing your knowledge outside of the examples.

Synching with the movie would likely take more memory than any Arduino board can supply. You need to develop an algorithm to read sound v silence periods that you program in advance. Then if you make a simple edit on your movie, you're screwed. You have to figure out how to inject that edit into your hepatic track.

I can imagine an Arduino would work fine to take an analog input either from the speaker or a microphone and amplifier to drive a vibrator motor proportional to the level of sound. You could filter the sound to respond only to lower frequency energy or very high levels.

Note, the Arduino output pins are limited to how much current they can safely provide to things like the vibrator motor. LEDs are fine as they only draw on average, 20ma, but a motor could easily draw 50-100ma which the Arduino can't provide. For this you need a logic level MOSFET transistor like the 2N7000.

Thanks for the reply. I ordered the kit so I better start watching some videos.

My plan was to just program a very basic routine with the motors to coincide with the timing of a movie about 2 minutes long. It would only be synced up with the video by one sound at the beginning and after that it's just a matter of hoping it stays in sync.

I'm not sure how that works with the timing. It would be nice if I could tell the motor to do something at 10.54 seconds in, and then again at 24.86 seconds etc. But I'm guessing it's not that easy.

If anyone knows of any specific tutorials that would help me out I'd be greatfull. For now I'll just search around and try and start from the bottom.

I'm not sure how that works with the timing. It would be nice if I could tell the motor to do something at 10.54 seconds in, and then again at 24.86 seconds etc. But I'm guessing it's not that easy.

If you can figure out how to identify the start time from something that is detected from the movie sound then doing things at intervals over a total of 2 minutes (or even 10 minutes) will be straightforward.

You just need to save the value of millis() when the start is identified and then get the other things to happen at X or Y millisecs after that.

Have a look at how millis() is used to manage timing without blocking in Several Things at a Time.

And see Using millis() for timing. A beginners guide if you need more explanation.


Thanks, that should help. I got my kit but still watching tutorials. Hopefully I'll be able to start some beginners projects this weekend.

I think I'm going to buy a higher torque servo motor while I'm at it.
If I wanted to run this servo would you recommend the same MOSFET transistor?

I'm going though all the electronic junk in my closets now and harvesting components. Unfortunately I threw out two printers last month even after reminding myself that every time I throw something out I suddenly find a use for it soon after.
But at the time I didn't know what a servo motor was.

That servo will not need a MOSFET because it handles the power management internally, you do not power it directly. The Arduino only provides the control signal and that requires very little current.

But you didn't originally mention a servo so I have no real idea where it fits into your project.


I'm just thinking ahead. There are a few more things I'd like to try and make In the future and I don't think the servo motor that came with the Arduino is going to work.
The 20 kg motor would have to be powered by a battery or something I assume? I have a 12 volt battery but I'm still trying to learn the basics about providing the right amount.

If you look at the description in that link the Operating Voltage is 4.8-6.8V. Reading the specifications of your components is essential if you don't want to spend a lot of money replacing them after you've killed them with too much voltage and/or current.


I knew I needed to power it independently, the seller recommends it in the q&a and I watched a couple tutorials first. I just wasn't sure if the MOSFET transistor was needed still for the Arduino.

I don't know if I have this right but the Arduino sends instructions electrically to the motor (or whatever you have connected). That end of things is fine and you don't have to worry about any overload etc because thats what it's built to do. So long as you're not doing plugging things in the wrong place or doing something weird.
Powering the actual motor or components you're controlling however is a different matter and you CAN power it through the Arduino but only of you're within the specifications. Otherwise you need to power it externally.
Do I understand that correctly?

Also, does the external power supply going to the motor have to interact with the Arduino in any way or is that completely seperate?

It would help if you distinguish between servos (most people don’t call them motors) and DC motors like vibration motors and stepper motors. They all need to be powered and controlled very differently but they generally need separate power supplies. There are almost no servos or motors of any type that can be powered from an Arduino.

The separate power supply needs its negative pole connected to GND on the Arduino. That’s all.


You can sync things with stereo sound.

One channel for the movie, one channel for DTMF sound control.

Watch the movie, record a new sound track on the Right channel.

While watching movie, with a DTMF generator circuit press the appropriate 1-16 sounds and record on the Left channel (at the appropriate times of course).

Conversely you can use a sound editing program . . .

Play back the L & R channels in place of the original sound track.

The Left track goes to a DTMF decoder then to the Arduino . . .


Thanks for the link Larryd.
Right now I'm trying to follow the dronebot workshop tutorial on making a power supply out of one of my old PC's. I've got a 4 wired stepper motor and the 20kg servo motor. And I have some vibration motors from old cell phones. Somehow I managed to solder leads into the one from my old Motorola RAZR. :o

I'd like to try and get the 20kg servo working first to make sure it's not defective. Does this still require a driver?

A servo does not need a driver just a good separate power supply. For a basic test to check that the servo works you can just use the Sweep or Knob example programs from the IDE.