Go Down

Topic: *SOLVED* How to reverse a 5 volt motor (Read 2953 times) previous topic - next topic


Sep 19, 2011, 01:27 pm Last Edit: Sep 20, 2011, 02:32 am by Haunted360 Reason: 1
Hi. I am somewhat confused around this.

I have a 5 volt motor. DC.
I need to reverse the motor when it detect a HIGH signal,
and run it normal (forward) when it detects a LOW signal.

How would I do this on my Arduino Uno? :smiley-roll-sweat:

Do I need a stepper motor shield? :~


Not a stepper motor driver, but a motor driver of some sort - search the forum for H-bridge


Look at a part like this
It uses transistors to basically switch the motor leads from +supply/gnd for current flow in one direction, to gnd/+supply for current flow the other direction to make the motor spin the other direction.
Depending on how big your motor is, what voltage/current is required, you may be able to use this part, or find a beefier part, or use discrete transistors with a chip like this to drive/control the transistors.  You may be able to use an existing motor shield for this.

What will the source for your HIGH/LOW signal? Reading that from a digital pin is usually the easist part of the project, such as from a mechanical switch.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


Sep 19, 2011, 06:47 pm Last Edit: Sep 19, 2011, 06:50 pm by Haunted360 Reason: 1

The HIGH and LOW are sensors for the where abouts of a disc. It is for a CD-ROM drive.

Here is the somewhat basic logic:

If sensor 1 detects disc, forward motor.
if sensor 2 detects disc, disc loaded. stop motor.

if button pressed, reverse motor.
if sensor 1 does not detect disc, stop motor.

(there are some else's and stuff missing, but you get the idea).

Oh. The motor is some cheep tiny little thing. Like a small CD-ROM motor basically :P
Will draw hardly any amps :)

As for your idea with a relay, would a one shot 555 timer work?
I would rather something programmable :/


Sep 20, 2011, 12:27 am Last Edit: Sep 20, 2011, 12:54 am by Haunted360 Reason: 1

So you want forward/stop/reverse control based on inputs from several transducers. Yes, that would require a micro-controller and an H-bridge, (or a transistor and a relay).  But a simple H-bridge can be constructed from four jelly-bean transistors and is quite a simple circuit.

Would you have a link for me to make the circuit?

Or, would I just use the Arduino and the H-bridge ( http://www.ti.com/lit/ds/symlink/l293d.pdf )??

I am new to this, so no0b based information would be easier to understand.


Sep 20, 2011, 12:49 am Last Edit: Sep 20, 2011, 12:59 am by Haunted360 Reason: 1
lol. Nice diagram ;)

Underload, I am using 0.28 Amps.



Just what I was after.

Thank you ^_^

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131