The Wooden Menace; Robotic Arm
-
- PyroElectro Admin
- Posts: 1181
- Joined: Mon Nov 12, 2007 9:24 pm
- Location: Earth
- Contact:
Hey Mike,
The PS1 controller itself is definitely more complicated. You could just make your own make-shift controller with a few buttons. You only need 5 buttons as you see used in the video and the code.
Making your own like this would simplify the project quite a bit, especially in the code routines.
Other than that, I don't really know of any controllers you could substitute straight in with the design I created.
Sorry about that.
The PS1 controller itself is definitely more complicated. You could just make your own make-shift controller with a few buttons. You only need 5 buttons as you see used in the video and the code.
Making your own like this would simplify the project quite a bit, especially in the code routines.
Other than that, I don't really know of any controllers you could substitute straight in with the design I created.
Sorry about that.
-
- PyroElectro Admin
- Posts: 1181
- Joined: Mon Nov 12, 2007 9:24 pm
- Location: Earth
- Contact:
-
- Newbie Pyro
- Posts: 1
- Joined: Thu Jun 11, 2009 12:06 pm
-
- Newbie Pyro
- Posts: 1
- Joined: Sat Jan 02, 2010 9:54 am
t?
hmmm... about the theory of operations, so you say that t changes. How does it change? Does it change if I applied a different voltage from +5V? say for example +4V? 

-
- PyroElectro Admin
- Posts: 1181
- Joined: Mon Nov 12, 2007 9:24 pm
- Location: Earth
- Contact:
The Yellow wire of the Servo (signal wire) is expecting a PWM signal input. The PWM expected is of a TTL +5v standard. That means anything higher than 3.3v is seen as a logic 1 and anything below 1.3v is seen as logic 0. So yes you could run a +4v signal in there and it should still theoretically work. Not exactly sure why you'd want to do that though.
PIC to use..
Hi sir,
Is it possible to use PIC16f877a?
I am also planning to build a robotic arm. Just for hobby and learning purposes. Thanks.
Is it possible to use PIC16f877a?
I am also planning to build a robotic arm. Just for hobby and learning purposes. Thanks.
I am receiveing an error when i am going to build a program
when i am building a program using MPLAB v6.61.. i alwayz receiving an error just like this:
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 59
Executing: "C:\Program Files\MPLAB IDE\MCHIP_Tools\mplink.exe" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" /o"robotarm.cof"
MPLINK 3.80.02, Linker
Copyright (c) 2004 Microchip Technology Inc.
Error - Coff file 'C:\Users\User\Desktop\New folder\robotic_arm.o' does not appear to be a valid COFF file.
Errors : 1
BUILD FAILED: Sun Jan 24 16:35:58 2010
I am using PIC18f452..
pls. help me of what i should to do to fix this problem?? thanks.. =)
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 59
Executing: "C:\Program Files\MPLAB IDE\MCHIP_Tools\mplink.exe" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" /o"robotarm.cof"
MPLINK 3.80.02, Linker
Copyright (c) 2004 Microchip Technology Inc.
Error - Coff file 'C:\Users\User\Desktop\New folder\robotic_arm.o' does not appear to be a valid COFF file.
Errors : 1
BUILD FAILED: Sun Jan 24 16:35:58 2010
I am using PIC18f452..
pls. help me of what i should to do to fix this problem?? thanks.. =)
Building a program
i already build a program. and this is the result.. the computer said that
"Failed to load myfile.cof"
but this is the output of MPLAB IDE C18 compiler i used..
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Deleted file "myproject.cof".
Clean Warning: File "myproject.cod" doesn't exist.
Clean: Deleted file "myproject.hex".
Clean Warning: File "myproject.lst" doesn't exist.
Clean: Deleted file "C:\Users\User\Desktop\mythirdproject\myproject.mcs".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" /i"C:\Program Files\MCC18\h" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 55
Executing: "C:\Program Files\MCC18\bin\mplink.exe" /l"C:\Program Files\MCC18\lib" /k"C:\Program Files\MCC18\bin\LKR" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" "C:\MCC18\lib\clib.lib" /w /aINHX8M /o"myproject.cof"
MPLINK 4.34, Linker
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
MP2HEX 4.34, COFF to HEX File Converter
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
BUILD SUCCEEDED: Thu Jan 28 22:32:39 2010
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
although i already build a program.. an error of magic number appears just like in the above statement.. what does it mean??? pls help.. thanks.. =)
"Failed to load myfile.cof"
but this is the output of MPLAB IDE C18 compiler i used..
Clean: Deleting intermediary and output files.
Clean: Deleted file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Clean: Deleted file "myproject.cof".
Clean Warning: File "myproject.cod" doesn't exist.
Clean: Deleted file "myproject.hex".
Clean Warning: File "myproject.lst" doesn't exist.
Clean: Deleted file "C:\Users\User\Desktop\mythirdproject\myproject.mcs".
Clean: Done.
Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F452 "robotic_arm.c" -fo="robotic_arm.o" /i"C:\Program Files\MCC18\h" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
MPLAB C18 v3.34 (evaluation)
Copyright 2000-2009 Microchip Technology Inc.
Days remaining until evaluation becomes feature limited: 55
Executing: "C:\Program Files\MCC18\bin\mplink.exe" /l"C:\Program Files\MCC18\lib" /k"C:\Program Files\MCC18\bin\LKR" "C:\MCC18\bin\LKR\18f452.lkr" "C:\Users\User\Desktop\New folder\robotic_arm.o" "C:\MCC18\lib\p18f452.lib" "C:\MCC18\lib\clib.lib" /w /aINHX8M /o"myproject.cof"
MPLINK 4.34, Linker
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
MP2HEX 4.34, COFF to HEX File Converter
Copyright (c) 2009 Microchip Technology Inc.
Errors : 0
BUILD SUCCEEDED: Thu Jan 28 22:32:39 2010
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
Error: Bad magic number in COFF file "C:\Users\User\Desktop\New folder\robotic_arm.o".
although i already build a program.. an error of magic number appears just like in the above statement.. what does it mean??? pls help.. thanks.. =)
Dear sir, if I were to use regular buttons instead of a controller, how would I go about coding for these buttons. I am a very new to C programming so this might be an amateur very amateur question i'm asking.
i'm thinking simple if or switch statements would suffice?
if possible can you provide an example for a button or 2......
i'm thinking simple if or switch statements would suffice?
if possible can you provide an example for a button or 2......
I'm going to do the same as you and I think it's pretty nearly the same. Just put à if (port of your first control button == 1) then increment servo by 0x100 etc....
Exemple (might be false) :
while (1)
{
if (PORTAbits.RA0 == 1) // Port where one button is (move left)
{
servo0 = servo0 + 0X100; // or + 256 in decimal.
}
if(PORTAbits.RA1 == 1) // Port to move the same servo right
{
servo0 = servo0 - 0X100;
}
etc....
Of course you need two pins of your pic to control one servo. And one more to make it stop.
And for me i just have a question, how can i control a pad with a usb port ? You never explain how it does work can you help me ?
Exemple (might be false) :
while (1)
{
if (PORTAbits.RA0 == 1) // Port where one button is (move left)
{
servo0 = servo0 + 0X100; // or + 256 in decimal.
}
if(PORTAbits.RA1 == 1) // Port to move the same servo right
{
servo0 = servo0 - 0X100;
}
etc....
Of course you need two pins of your pic to control one servo. And one more to make it stop.
And for me i just have a question, how can i control a pad with a usb port ? You never explain how it does work can you help me ?
-
- PyroElectro Admin
- Posts: 1181
- Joined: Mon Nov 12, 2007 9:24 pm
- Location: Earth
- Contact:
Hi Xalter,
The code looks good, just a matter of tweaking things how you want them really.
As for controlling via USB. You would need to upgrade to a USB capable PIC such as 18F4550. Doing things through USB is far more complicated, because you will have to build a program on your Host computer and work with the operating system as well as get everything running on the PIC side of things.
I would suggest using serial initially, then moving to USB. It's a beast to implement.
The code looks good, just a matter of tweaking things how you want them really.
As for controlling via USB. You would need to upgrade to a USB capable PIC such as 18F4550. Doing things through USB is far more complicated, because you will have to build a program on your Host computer and work with the operating system as well as get everything running on the PIC side of things.
I would suggest using serial initially, then moving to USB. It's a beast to implement.
You must be right, but then how do yourself control your robotic arm with your playstation pad ? Cuz i've got a pad that i can connect in usb but of course my problem is to switch data to understandable state for my pic.
I'll use buttons if i can't do anything else. But the fact of using a controller such as a ps is very interesting.
(I've had some difficulties with you code for the multi servo, one of my servo was correct but the other had a signal always at 1 because the pin of this servo was not reseted to 1 right before the switch, you didn't had that problem ???).
I'll use buttons if i can't do anything else. But the fact of using a controller such as a ps is very interesting.
(I've had some difficulties with you code for the multi servo, one of my servo was correct but the other had a signal always at 1 because the pin of this servo was not reseted to 1 right before the switch, you didn't had that problem ???).
-
- PyroElectro Admin
- Posts: 1181
- Joined: Mon Nov 12, 2007 9:24 pm
- Location: Earth
- Contact:
Hi Xaltar,
That PS controller was something I found in an electronics supply store. It's not a standard PS controller as it has an RJ45 output. I had to bit-bang it to figure out how it worked.
I didn't run into that problem with the servo's that you're talking about. It should be sending the proper PWM for each servo without issue.
That PS controller was something I found in an electronics supply store. It's not a standard PS controller as it has an RJ45 output. I had to bit-bang it to figure out how it worked.
I didn't run into that problem with the servo's that you're talking about. It should be sending the proper PWM for each servo without issue.
hi such a look I have a problem q I want to do but I want a robotic arm controlled by a software and not by specific control your PS1 and that I could not recommend performing the same coding and structure of circuirto you put as a scheme would appreciate you porfa your help I am new to the subject!!!
Who is online
Users browsing this forum: No registered users and 2 guests