New Project Feasibility

I just learned about arduino and now a project that I have stuck in my head may actually be possible. Here are the basics:

  1. A column that holds a certain number of a specific object.
  2. A chamber with a sensor to see if an object is loaded
  3. A start button used to start up the system and perform a specific action
    4a. Initial startup sequence would be, push the start button and the sensor checks for the object.
    4b. If the object is loaded the system waits until the button is pressed again.
    4c. If no object is loaded, a solenoid will push one into the chamber.
  4. When the button is pressed again (or a separate button), a stepper motor spins one full revolution.
  5. The solenoid pushes the next object into the chamber and waits for the pushbutton.
  6. Possible ability to have a running mode that does not wait for a push button but will run continually with a preset pause between the activation of the stepper motor. This would be activated with a selector switch and LED notification.
  7. The ability to control the speed of the stepper motor. Potentiometer I would guess.

An advanced version would be

  1. A start button for the initial startup and object check
  2. An accelerometer with bluetooth connection to trigger the stepper motor. Think about a hand waving up and down to start the sequence.

I have a Mechanical Engineering degree and have (at least in school) experience with coding and circuitry, but I am far removed from that and don't know the capabilities of arduino.

Thank you in advance

That all seems feasible... Count the number of inputs & outputs required and make sure you have enough. A stepper motor requires two outputs. (It also requires 2 outputs to reverse a regular DC motor.)

There's a lot going on, so I wouldn't say this is a "simple" project, but the logic seems straightforward so you should be able to handle the software, and I think the Arduino has plenty of processing power for your needs.

You'll need driver circuits to drive motors & solenoids. (An Arduino output pin can't drive much more than an LED.)

at least in school) experience with coding

Just take it one function at a time. In fact, if you are a beginner you should be writing and test-compiling one or two lines of code at a time, and test-running as soon as you have enough code to "do something".

It's also helpful to use the serial monitor to "watch" what the program is doing. For example, you can "print out" variables, or little helpful messages like "button pressed" or "waiting for button press", "starting motor", etc.

The two most important programming concepts are conditional execution (if-statements, etc.) and loops (doing something over-and-over, usually until some condition is met). Or, quite often your loop can be doing nothing until some condition is met. If you understand those two concepts, you should be able to structure a useful program.

You can test a button or sensor input with an LED at an output (the built-in pin-13 LED is handy), or you can use the serial monitor.

You can test DC motor and solenoid drivers by applying a voltage, without the Arduino or any software. (A stepper motor needs the Arduino & software to generate the steps.)

Once the basic electronics are working, you can connect the Arduino and run simple test programs to test these drivers & electro-mechanical systems under software control with no buttons or other user input.

You should test all of the "modules" individually before trying to put everything together.

al the things you mention here, can be done by an arduino.

The coding shouldn't be to difficult either.

Do you know what kind of hardware (sensors, motors) you want to use?

Thank you for the replies. The coding is where I will have the biggest issue, especially putting it all together as a system. Individual features I have done before but not an integration.

This is how I see the IO breakdown. I need to do a block diagram, but this is off the top of my head.

In:

  1. Start Button (functionality may be automatic on startup)
  2. Function Button/bluetooth input
  3. Sensor
  4. Speed Control
  5. Program Selector (continuous run or button activated)

Out:
1&2.Stepper Motor
3. Solenoid
4. Indicator light(s)
5. LCD readout (optional)

dorvakta:
Do you know what kind of hardware (sensors, motors) you want to use?

I do not know what I will be using yet. I have to pick everything out carefully so I can run it off of the same power source if possible without too much circuitry, but that may be too much of a pain. I also don't know if I want this as an AC or DC input. The stepper motor should be high torque though maybe something like this:

I have to do some experiments to see what range will be acceptable. The sensor may be a photoeye or a physical limit switch. The more I get into the design, the more I will know what will work. I need to work on the 3D model so I know what can fit.

You may get some ideas in Planning and Implementing a Program and in Stepper Motor Basics

...R

Robin2:
You may get some ideas in Planning and Implementing a Program and in Stepper Motor Basics

...R

That was a great tutorial. I understand a lot more now. And reading through it made me realize that I would be better off using a servo instead of the stepper motor.