Lynxmotion Tech Support

www.lynxmotion.com
It is currently Thu May 23, 2013 1:13 am

All times are UTC - 6 hours [ DST ]




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Sun Dec 19, 2010 11:35 pm 
Offline
Roboteer
User avatar

Joined: Tue Jun 23, 2009 3:41 am
Posts: 240
Location: USA Wisconsin
Well Zenta has his controller, which is pretty fancy, but also pretty big.

So heres my new controller.
Attachment:
smaller f7.JPG
smaller f7.JPG [ 125.9 KiB | Viewed 894 times ]

Full details here.

The controller uses the Roving Networks RN-24, and the basic atom Pro 40 as the brains.
It has two thumb sticks with center buttons. Similar to zenta's controller except mine don't have center pots. I'm ok with that though.
My controller only has 1 speed slide pot, where zenta's has two. But besides that, i think they are similar in capabilities.

Let me know what you guys think of it, like or dislike, i want honest opinions.
I'll upload the programming code when i'm done.
If you guys have any questions please feel free to ask. This thing took over a week to make so i'm gonna show it off. If you guys want any specifics on it, let me know.

The thumb sticks are a little goofy, in that they hit the min and max levels, 0 and 1023 rather early in their movements. I'm not sure if that's the fault of my limiting resistor just the way the thumb stick is.
Will probably fix this issue when i eventually make a version 2 of the controller.

It'll eventually get an IR transmitter and work as a TV remote, just for the hell of it. And it'll get a little speaker eventually too.

Also let me know if you guys have any suggestions. I'm always interested in new ideas and feedback.

More pictures. First without flash, second with flash. On the second picture, the last digit on the first row, isn't problematic, the LCD was in the middle of a refresh, it refreshes rather rapidly since i'm continuously feeding it information.
Attachment:
DSCF0382.JPG
DSCF0382.JPG [ 215.19 KiB | Viewed 892 times ]


The numbers are
LX ______Move/ARM____RX
LY_____Speed 00-10____RY
Attachment:
DSCF0384.JPG
DSCF0384.JPG [ 152.04 KiB | Viewed 892 times ]

_________________
Say no to real Trees this Christmas.
Real trees are very flammable, and can be a host to diseased insects.
http://blog.basicmicro.comB
asic Micro Blog: Kenjj and Fallentine
Got sick, now I'm back.


Top
 Profile  
 
PostPosted: Mon Dec 20, 2010 9:58 am 
Offline
Robot Guru
User avatar

Joined: Sat Apr 15, 2006 1:42 pm
Posts: 4414
Looks like you are having some fun :)

My guess with those thumb sticks that at best they may be as good as the things in a PS2 controller, which I often find is not very sensitive. That is a reason why the gimbals in the DIY remotes (from RC controllers are nice), but they do eat up a lot of space. You used a Bap40 :). I think Zenta will be Jealous as you have those extra IO lines. He probably would have added more Sliders or Pots, but ran out of IO pins :lol: I also would actual like one or two more controls. For example in the Hex, it would be nice to have both Joysticks to be self centering, and have one slider for Body Height, Maybe another for Leg Lift Height, Maybe another for speed adjustments(Gear box). If I had them maybe other joystick/Slider for adjusting the Pan/Tilt while it is walking...

Zenta and Mine now use XBees to communicate. I believe he still has his setup that he can use the RC as well. With the XBees we can switch which robot we are controlling, by pressing a button and then scrolling through a list. The list is built by issuing an XBee Node Discovery command and then I cache away the results in the BAPs EEPROM.

As for capabilities, since the time they were built, some of us have added some additional switches, which we use to control the remote. (We use all 16 buttons of the keypad for controlling the robot, so I have 2 buttons that I use to switch which mode I am in, plus an Enter key to accept the new data and an ESC key to abort, which is not overly used.

Some of the other modes in the code is to calibrate the remote. In this mode you move all of the joysticks and sliders to their extremes and then with the self centering joysticks, let it go back to center. With this it calculates some scaling and offsetting values, such that 128 is the center, 0 min, 255 max...

If you are interested in any of this code, I think the reasonably current code is up on the thread: http://www.lynxmotion.net/viewtopic.php ... &start=360

Again it looks like you are having some fun, which is the important things, It will be interesting to see it in action.

Kurt


Top
 Profile  
 
PostPosted: Mon Dec 20, 2010 3:38 pm 
Offline
Roboteer
User avatar

Joined: Tue Jun 23, 2009 3:41 am
Posts: 240
Location: USA Wisconsin
The Roving networks BT adapters i'm using can connect to a preprogrammed mac address, or it can sniff out and connect automatically.

Mine use the connect command, which is simply, go into command mode, send the connect command, then exit command mode. So if i have 6 bluetooth uart adapters powered, i can connect to a specific one ignoring the others.

Or i can connect to a PC's bluetooth dongle.

I'll be using a more sensitive stick when i make a version 2 of the controller. V2 will have more precision cuts.

This current controller may receive a PSP style sliding thumb stick. Or two, on the underside of the controller. Can use a small PIC or Atom nano to add additional analog lines. Zenta could probably do that too.

Just have the pic/nano receive the analog data then transmit it over to the main MCU using a normal PIO port.
Code:
pot1 var word
pot2 var word
pot3 var word
pot4 var word

main
ADIN p0,pot1
ADIN p1,pot2
ADIN p2,pot3
ADIN p3,pot4

serout p4,i19200,[dec pot1\4,dec pot2\4,dec pot3\4,dec pot4\4]
pause 10
goto main

Then on the main MCU receive the 16 decimals of data. separated into sets of 4.

serin p10,i19200,[dec4 pot1,dec4 pot2,dec4 pot3,dec4 pot4]


The separation is so if a pot is 0 it transmits as 0000, if a pot is 512 (center) it's 0512
That's why the screen in the second picture has the numbers with an extra 0.
The slider, lower center, is just /100, so 1023 (max) displays 10, where 100-199 = 1. This is the speed multiplier for the rover.

I believe the nano 18 has 6 A/D channels. I think the nano 28 has 11.
I've said it before, the Nanos make fantastic support MCUs. IE secondary MCUs.

_________________
Say no to real Trees this Christmas.
Real trees are very flammable, and can be a host to diseased insects.
http://blog.basicmicro.comB
asic Micro Blog: Kenjj and Fallentine
Got sick, now I'm back.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC - 6 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group