New to Arduino, general advice

So, I have a project in mind for which I need:

8 servo's, each of which need to perform a function on a loop with a specific delay in between. So: action - delay in ms - action - delay in ms etc...

The thing is, the 8 servo's need to do this independently from one another (each servo would have the same action, but with different delays in between the action).

The delay of each servo also needs to be variable and controllable by a rotary pot or rotary encoder. This could mean 8 rotary's, or just one rotary with a switch to change between the servo's. A readout of the delay in ms would be nice too.

  • Any advice on which Arduino board would be best suited for this?
  • Any advice on reliable and silent servo's?

Any help would be greatly appreciated.

Nino

The first help any one will supply is: Any Arduino will do your project. How long have you been programming with C? If not long, start your learning by forgetting the project and begin to exercise EACH of the sample programs that come with the Arduino IDE system that you have installed on your computer.
Eventually you will have to decide how much torque is required from each of your servos before you know what to purchase.
Good luck with a very rewarding hobby/education.

Welcome to the forum

You will need to use non blocking code for the timing so take a look at Using millis() for timing. A beginners guide, Several things at the same time and the BlinkWithoutDelay example in the IDE

Arrays will also play an important part in your project so being familiar with them will aso be important

Servos need a surprising amount of current. Allow 1 amp per servo and use a suitable external power supply for them

if you use a rotary encoder which incorporates a switch and a LCD you select a servo by pressing the switch until you get the required servo as shown on LCD and then rotate to the required setting as shown on the LCD
any other requirements? WiFi, bluetooth, ?????

Hi, wifi and bluetooth are not required.

Nino

Did your teacher request this?

A PCA9685 servo expansion board would make wiring a lot easier.
And it only uses two Arduino pins, which can be shared with an I2C LCD screen.
Leo..

Hello nino_1983

Welcome to the world's best Arduino forum ever.

My recommendation is to use an Arduino Nano. This Arduino offers eight analogue inputs if you want to use the mentioned potentiometers.

My second recommendation is to use OOP to design the sketch.
The programme contains eight configurations for the servo/pot hardware and a timer function to control the timing of the hardware.

Have a nice day and enjoy coding in C++.

Not if you use a PCA9685 servo board and/or an I2C LCD.
Then you only have six analogue inputs left.

OP also mentioned rotary encoders, which use digital pins.
Leo..

Hello

You are right.

The decision on the design will be made by Mr. nino_1983.

He has asked for a recommendation for a design.

  • an Arduino UNO R3 (the 3 is important - don't get a R4!)
  • a PC9685 Servo Board (just do make the wiring of the Servos easier)
  • an I2C LCD (for example one with a PCF8574 Adapter)
  • one Encoder (or 3 buttons as alternative for the beginning)
  • a good power supply do drive all components

almost any microcontroller would meet your requirements
I would tend to go for an ESP32 as the experience of using such a modern microcontroller would probably be useful for future more sophisticated projects

Thanks for all the help, this will get me started. :+1:t2:

No, I’m not in school anymore, it’s just a hobby project.

You will not find silent servos, but you can make boxes around the servos that absorb the sound.

Take a look at this example simulation of multi-servos with multi-controls, showing the "non-blocking" thing. The simulation does not include all the input devices (analog knobs) that you want, so you will need to find the right multiplexer for your purpose.

And here is some further reading about PWM and using a logic analyzer on a simulation:

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