Society of Robots - Robot Forum
|
Robot Tutorials
|
FAQ
|
Welcome,
Guest
. Please
login
or
register
.
Did you miss your
activation email
?
1 Hour
1 Day
1 Week
1 Month
Forever
Login with username, password and session length
News:
Squirrels have fuzzy tails.
Home
Help
Search
Login
Register
Society of Robots - Robot Forum
»
Software
»
Software
»
Making servos drive backwards? SOLVED!
Print
Author
Topic: Making servos drive backwards? SOLVED! (Read 2139 times)
0 Members and 1 Guest are viewing this topic.
Xyver
Robot Overlord
Posts: 125
Helpful? 0
Making servos drive backwards? SOLVED!
«
on:
March 10, 2010, 08:40:08 PM »
i've been writing the code for my robot (photovore) and this is what it looks like so far.
#include <Servo.h>
Servo leftservo; // create servo object to control a servo
Servo rightservo;
int potpin0 = 0; // analog pin used to connect the potentiometer
int left; // variable to read the value from the analog pin
int potpin1 = 1;
int right;
void setup()
{
leftservo.attach(7); // attaches the servo on pin 9 to the servo object
rightservo.attach(8);
}
void loop()
{
left = analogRead(potpin0); // reads the value of the potentiometer (value between 0 and 1023)
right = analogRead(potpin1);
left = map(left, 0, 1023, 0, 179);
right = map(right, 0, 1023, 0, 179);
I'm pretty sure the beginning is right, but once i get past the void loop () part I have no idea what to do. So far, it says (or at least i think it does/want it to) that left is the value that is read from potpin0, and right is the value read from potpin1. It then converts it from 0-1023 to the 0-180 that the servo can read. Now, I;m trying to make it say that if left < right, then turn left. If left > right, then turn right. And if left == right, then go straight. How do I do that?
(I already tried downloading the pre written code for the roboduino, but for some reason its not letting me open the file, or at least i cannot find the code. So I'm writing my own.)
«
Last Edit: March 12, 2010, 07:40:29 PM by Xyver
»
Logged
Razor Concepts
Supreme Robot
Posts: 1,856
Helpful? 53
Re: Making servos drive...?
«
Reply #1 on:
March 10, 2010, 09:00:37 PM »
if(left < right)
{
..
}
else if(right < left)
{
}
else
{
}
etc etc.
Logged
www.razorconcepts.net
Xyver
Robot Overlord
Posts: 125
Helpful? 0
Re: Making servos drive...?
«
Reply #2 on:
March 10, 2010, 09:11:40 PM »
I got that much but what goes between the { }'s? left wheel has to spin faster to turn right, and right wheel has to turn faster to go left....
Logged
teoxan
Full Member
Posts: 49
Helpful? 2
Re: Making servos drive...?
«
Reply #3 on:
March 11, 2010, 08:51:44 AM »
Why do they have to move faster?
If you want to turn left, you stop the left servo and move the right one and vice versa.
As far as I understand, your code is Arduino or Wiring based, so it's easy to do that.
So, it's like:
leftservo.write(0);
rightservo.write( speed parameter);
and vice versa if you want to move right.
Theo
Logged
Xyver
Robot Overlord
Posts: 125
Helpful? 0
Re: Making servos drive...?
«
Reply #4 on:
March 11, 2010, 12:06:25 PM »
Ok thank you
I figured that this morning... its amazing what you learn when you sleep haha. I'll probably be posting the finished code too soon if I can't trouble shoot it myself
Logged
Xyver
Robot Overlord
Posts: 125
Helpful? 0
Re: Making servos drive backwards?
«
Reply #5 on:
March 12, 2010, 06:00:56 PM »
I seem to be having trouble with making my servos go backwards. When you modify them, its supposed to be that a number between 0-89 is backwards, 90 is neutral, and 91-180 is forewards right? But when I try, 0 is neutral and anything above is forewards... How can I make it go backwards? Or did I modify it wrong?
( I glued the potentiometer, not soldered resistors. And these
http://www.robotshop.ca/hitec-hs422-servo-motor.html
are the servos I used)
And this is the simple code I wrote:
#include <Servo.h>
Servo leftservo;
void setup()
{
leftservo.attach(
;
}
void loop()
{
leftservo.write(200);
}
Logged
Razor Concepts
Supreme Robot
Posts: 1,856
Helpful? 53
Re: Making servos drive backwards?
«
Reply #6 on:
March 12, 2010, 06:59:42 PM »
Did you glue the potentiometer while the servo was in the neutral position?
Logged
www.razorconcepts.net
Xyver
Robot Overlord
Posts: 125
Helpful? 0
Re: Making servos drive backwards?
«
Reply #7 on:
March 12, 2010, 07:08:09 PM »
I believe so. I was very careful following the instructions, listed here:
http://www.societyofrobots.com/actuators_modifyservo.shtml.
I sent the signal and made sure the servo gears had stopped rotating the best i could, it was stopped but would sometimes twitch (after like 10-20 sec), so i thought i was close enough. If i tried to make it perfect, it would start spinning like mad. When I was glueing it, it was blowing on the glue to dry it and the gears started spinning slightly so I adjusted it till they stopped again.
I tried the servo.write() command, where it should be 0-89 is back, 90 is neutral and 91-180 is forewards. I also tried the servo.writeMicroseconds(), where 1000 is back, 1500 is neutral, and 2000 is forewards. Nothing seems to be working....
EDIT:: AHA! When I was told to send the signal to the servo to know where to glue the potentiometer, it said send it to neutral position. I sent it go to 0 position. So that means that anything above 0 is forewards and below 0 is backwards, right? So, If i redo it with 90 being neutral then it should work, correct? AND IT DOES WORK!!!! stupid me for mis interpreting instructions....
THANKS ALOT FOR YOUR PATIENCE/HELP!
«
Last Edit: March 12, 2010, 07:40:15 PM by Xyver
»
Logged
Print
Society of Robots - Robot Forum
»
Software
»
Software
»
Making servos drive backwards? SOLVED!
Get Your Ad Here
data_list