Advice needed

I want to design a project consisting of an LCD, keypad and 2 stepper motors. Its for a robotic panoramic camera head similar to a Gigapan which costs £700-900 :astonished: This is how I want it to work: LCD displays input option, I input a set of numbers which represents the angle of movement I want from the steppers and the number of times I want it repeated (with a time delay between each repeat). At the end of the cycle I want it to return to the start position and forget the numbers I have previously input.

Being a complete newbie with Arduino I can see how the hardware can fit together, what I need to know is where (and how) the arduino stores the inputs. Or do I need to know? I understand hardware better than programming......

here is the sequence as I see it: Input angle of stepper movement (this is same for both steppers) Input Delay (time for stepper to wait before moving again) Input number of repeats for stepper 1 Input number of repeats for stepper 2 Run Stepper 1 moves angle, pauses for Delay then moves again, repeats until it reaches max number of repeats inputted Steppper 2 moves 1 angle Stepper 1 then moves in opposite direction for max number of repeats Stepper 2 moves 1 angle Stepper 1 repeats etc until both steppers have reached their max repeats the steppers then return to the original position.

Any help or advice would be grateful, perhaps a share of knowledge if there is anyone else interested in building one of these....

Have you got any hardware in mind, I can point some out if you haven't.

Not really, Im new to the arduino but have a little experience in circuit building. I was thinking of using one of those cheap 2 row LCDs off Ebay with the buttons already on the board. I will also need a shield (or 2) which will control the steppers. Thats a stepper controller thats fairly simple to use (does two steppers). Sparkfun also sells two compatible steppers as well. As far as the other pats go, try a serial LCD, it uses less pins and is easier to use.

Thats a stepper controller thats fairly simple to use (does two steppers).

No, it doesn't. It controls a single stepper motor, and only fairly small ones at that.

My apologies, And i cant even find the one i was looking for either :(

I am building something similar so I'd be glad to help. My project is just for testing stepper motors but it consists of a arduino, 12 key keypad, and dual line lcd. I believe the driver your looking for is based on the L298 dual H bridge. with 2 L298's you can drive 2 steppers with a very good voltage/current range. I built one myself because my rule of thumb is if I have the parts here at my bench to build something, Id rather build it than buy it.

If you built this on an Arduino Mega you could also use a keypad instead of the buttons. Its nice to entry values on a numeric keypad rather then click them up in increments on pushbuttons.

I dont see any Dual L298 drivers but you could use 2 singles like you mentioned:

here's one but its kinda expensive, you could try to find a cheaper one

and here's the link to the thread on my project. it may help you code wise - keep in mind im not a pro and just started myself lol.,52618.0.html

Did you already have a look here: Udo

Yes I have been watching your thread. I might look at a keypad as it ready made just to fix to the box, where I would have to modify an LCD with those small buttons built on.

Thanks for that link Udo its brilliant, I guess I’ll be spending a lot of time on that site. :smiley:

Just a thought for tonyh66, if you can do all the user interaction on arduino LCD shield, you don't have to tether it to a computer.

A number keypad is convenient, but the on board push buttons are enough to input numbers. In my shield software, I've written codes to take user inputs such as numbers, days of the week, months, and words, with up, down, left, right, enter, and escape buttons.

It's fairly simple if you decide to use these codes, just tell the subroutine a few things, the value you currently have, upper and lower limits of the number, and step size to increment or decrement.

Say you have this device that requires the user to enter an angle between 0 and 180 degrees, with step size 5 degrees. Currently it's 45 degree, your psudo code looks like:

angle1=get_reading(angle1_current_value, 0_being_lower_limit, 180_being_upper_limit, 5_being_step_size);

Here is an instructable I posted. There is a video of my arduino alarm clock where I adjusted all clocks and alarm settings on my Phi-1 shield. The code is also included. If you want to use it on the DFRobot LCD shield, I guess you could make some changes and use it.

Udo Klein, I've seen your project sometime ago, truly awesome.

My project? Which one?

I am not aware that I released any major project so far. Only some small stuff so far. What are you talking about?


I thought the openmoco was yours. Sorry, careless reading on a Sat morning.

Don't mind. I just did not want to get other people's well deserved credits.