View Single Post
  #3   Spotlight this post!  
Unread 27-03-2005, 02:49
RbtGal1351's Avatar
RbtGal1351 RbtGal1351 is offline
~La Reina de los Robots~
AKA: Stephanie
FRC #1351 (TKO)
Team Role: Programmer
 
Join Date: Dec 2004
Rookie Year: 2004
Location: San Jose, CA
Posts: 166
RbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to beholdRbtGal1351 is a splendid one to behold
Send a message via AIM to RbtGal1351 Send a message via MSN to RbtGal1351
Re: Change joystick to pwm mapping

Quote:
Originally Posted by Joe Lewis
We are trying to program the following scenario and are having a difficult time:

Joystick one - push forward - makes pwm11 go forward
Joystick one - pull back - makes pwm09 go forward
Joystick one - move left - make pwm05 go forward
Joystick one - move right - make pwm07 go foward

Each of the outputs needs to be variable, so the further the joystick is moved, the higher the output to the motors.

Lastly, if the joystick is moved forward, back, left or right off the x/y axis, then a combination of the motors needs to be triggered.

Can we do this, and if so, how? Below is a sample of my code that is not working. The code that I have is just triggering PWM01 to go forward or backward as the joystick is moved on the Y axis.

Thanks much,
Joe

pwm01 = pwm02 = pwm03 = pwm04 = pwm05 = pwm06 = pwm07 = pwm08 = 127;
pwm09 = pwm10 = pwm11 = pwm12 = pwm13 = pwm14 = pwm15 = pwm16 = 127;

/* Check if Port 1 Joystick is being pulled back or pushed forward */

if (p1_y <= 125) /* Joystick is being pulled back */
{
Pwm09 = 255 - p1_y; /* turn on motor 5 to go up */
Pwm11 = 127; /* turn off motor 6 */
}
else if (p1_y >= 135) /* Joystick is being pushed down */
{
Pwm11 = p1_y; /* turn on motor 6 to go down*/
Pwm09 = 127; /* turn off motor 5 */
}
else
{ /* In neither forward or reverse position */
Pwm11 = pwm09 = 127; /* Turn off motors 5 and 6 */
}
well its probably too late, but its always good to solve the problem anyway

1. if you directly copy/pasted that, its a lowercase "p" for pwm01, etc.
2. you might want a bigger deadzone than that, i normally use 140 and 115
(depending on the joysticks tho, we use the KoP ones and i admit, they suck)
3. you can test the logic in visual c - i do this a LOT and can thus prove it is not directly a SW problem
4. i did that, and the logic works, so its not the obvious problem unfortunately... so sorry, must be something else

Plz tell me what the problem is when you find it, you have me curious
feel free to IM me or something, i can try to help

~Stephanie Schmit
Team 1351
__________________
2004 Founding member and Arm leader, 2005 Lead programmer, 2006 Controls leader, 2007 Project Manager/President
Thanks for making FIRST such a great experience for me. I'm no longer on 1351, and I'm not currently planning to mentor team 97, but FIRST has meant so much in getting me to where I am now, in life and at MIT, class of 2011.
I met Billfred! He recognized me!
SVR 04: 11th seed - Highest Rookie Seed - Semifinalists w/ 1120 and 568 - GM Industrial Design Award
SVR 05: Semifinalists w/ 8 and 766
SVR 06: 6th seed - Quarterfinalists w/ 368 and 1072
Davis 06: 1st seed - Quarterfinalists w/ 649 and 100 - KPCB Entrepreneurship Award
SVR 07: 36th seed
David 07: 4th seed - Semifinalists w/ 1280 and 692 - Johnson and Johnson Sportsmanship Award