I am new to the Arduino community, I am doing my senior project in school. I would like to use Arduino micro-controller, but I am not too sure about which one to use, my project is going to involve 6 motors (4 Servo, 2 Stepper), a key pad, and a LCD display. Can one micro-controller handle all of these components at once? Or do I need multiple micro-controllers? If one can handle it would would be the best?
Yes, one micro can handle all that.
Break out how much IO is needed for each device.
For example, the keypad - is it 3x4? 4x4? One needs 7 pins, one needs 8.
The LCD display - does it need 4-bit wide data + control lines? 8-bit? Serial / I2C / SPI interface?
6 motors - do they all need to work at one time? What Voltage/Current do they need?
Thank you very much for the reply, yes we did some research and we are going to be using the following
The keypad - Matrix Keypad, 3x4, 7 pins
LCD Display - 16 characters wide, 2 rows - 4-bit mode with seven I/O pins from the Arduino
4 Servo Motor (3 pins), VCC, GND, INPUT… require 4v to 6 volts to operate - each
out of 4 Servo Motor, 2 will be operating at the same time, while other two stay off.
2 Stepper Motor Bipolar(4 pins)- Voltage rating : 7.4 V to operate - each
both stepper motor will operate at same time, while all 4 servo motor stay off.
Do we need to use a Motor Drive to Operate all the motors? Would Arduino Pro and Aruino Motor Shield be sufficient?
Welcome to arduino forum! For stepper motors you need driver circuits but for servos you don't. I can see that your project will most likely use up all the pins on an UNO. I suggest the following serial LCD keypad but to be clear, it is my design:
You will have the display, 16 keys, 4 LED indicators, and a speaker, all for 2 serial port pins. If a button is pressed, you get a character from serial read. Serial is easy to process. The panel also integrates menus/lists for you to easily display a list by sending the list text to the panel and just wait to get the return. The panel processes the button presses and LCD update.