Using microphone to control a motor

So, I have to make a project to my physics class, but I cannot understand how can I put it to practice.
I need to control a motor rpm based on how loud the ambient is, I also have to make this communication via Bluetooth, so I was thinking of using a microphone connected to a computer and send this communication over to the Arduino, kinda like the diagram below.

I just don't have any idea on how to do this. I would like to not use the IoT Remote 'cause the sound intensity sensor is a paid one.

Any suggestions are more than welcomed

"Loudness" is not trivial to determine, so a good place to start would be to learn how to do that. Human hearing is logarithmic, so that sound with 10X the energy is perceived as "twice as loud".

1 Like

Start by braking it down into simple tasks then as you get them working combine them. Start with maybe the motor.

Give yourself a Christmas present and pick up these resources, along with the Arduino Cookbook:

I would likely start by looking for a combination Bluetooth transmitter and receiver to get your audio from point A to point B. Then use your Arduino as analog in/PWM out. One big consideration is if you have audio constantly changing levels as in speech. My suggestion involves transmitting for example a tone at changing amplitudes. You may, as mentioned, look at how audio levels are measured in DBA.

Ron

In post #60 of This Topic I let a project that I did to identify kids being too loud at a classroom. I believe it can be reused in your project if you decide not to use a PC. I didn't dive into de decibels conversion though. Just plain response to the noise.

If you're not obliged to use bluetooth, the same arduino can control the motor. Otherwise you can add a bluetooth module and send the noise level.

If it is just the volume of the surroundings, I would suggest buying something like this: Sound sensor module for Arduino - OTRONIC
It gives you an analog value which indicates the volume. And then maybe 2 Arduino's with a HC-05 with 1 master and 1 slave.

What you can do too, if you have an android phone, is to build an app with MIT app inventor and send an analog value to an Arduino with Bluetooth or to a hc-05 or hc-06. I think that is the easiest thing to do it.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.