Arduino Mega based DIY Remote (XBee)

Very interesting stuff you are playing with guys! :smiley:

What I find most interesting with any remote is having as much info available on one screen/page at any time without the need for shifting pages. Using different colors on the bar might be a smart thing. When controlling the robot I prefer to keep my eyes on the robot, not the controller. Using a power bar with green, orange, red (and blinking red + sound at critical low batt) is useful.

yes very cool indeed. i really need one of these. it might also seem very overkill from a robotics point of view but having one with 4 gimbals would be very beneficial in animatronics. some of the applications iv been playing with could have done with this.

anyway great work eric. one day ill have one of these from you. :wink:

But you don’t have four hands!

What you need is some sort of ā€œbody suitā€ that’s instrumented!

Empty R/C servos w/ just the pot at each joint.

Alan KM6VV

yes i have a telemetry project i start on my desk that i start a few months ago, with 8 modified pots ready to go!

to control 4 gimbals you place your hands over the controller with both index fingers on the top two gimbals and other thumbs on the bottom two. (controller needs to be on a desk or something)
example seen at 1:05min in:
youtube.com/watch?v=f8x9trgN4_4

I have trouble with two joysticks!

Thanks for the URL

Alan KM6VV

Looks like you are having some fun. May have to play with some of your stuff soon! Are you using the SD card ?

Kurt

If you look at my uOLED library. There is something about display an image from the SD card, i think it’s the last one. You need to use Graphic composer first, to put an image.

Tanks Innerbreed, one day i will have it working… LOL

Yesterday and today I have been playing around with this. I moved everything over to the Botboarduino Mega shield. I now have 3 pin connections for each of the joystick pins plus ones for the 2 sliders. So I now have 8 Analog inputs hooked up. I moved the keypad connections directly over using the Shield standoff pins. Maybe I will convert to normal pins, but not a big deal. I changed the code some to have the analog inputs in the same order as the bytes are in the packet, so it makes it pretty easy to handle. Also I am scanning digital pins 2-9 for buttons and build an extra data byte at the end of the packet. So far I have 3 pin connectors on the buttons associated with the joysticks. For these I connect the signal and GND. I enabled the built-in PU resistors on these pins…

So far so good. This exercise is both for building the DIY remote and for testing out the shield. Maybe next will add the battery display. Also need to add the sound code as the shield has speaker…

Kurt

NICE…!!!

I only had a little time to play today. I have a quick first pass battery indicator. I have it setup that I can display up to 3 battery symbols with one letter… So far I have just have it showing 1 with the remotes battery level…

I don’t have it changing colors yet and may add some additional code in to allow me to erase one. For example if I am running it with USB power without battery, maybe don’t show it… But so far I am not sure how to detect this case. Could detect a low voltage… Not sure if it would make sense to add anything to the shield for this?

I may hold off adding more to this for now and go back to testing Botboarduino and CHR-3…

Kurt

Looking good Kurt, I like the batt indicator! Shifting to red color for low voltage would also be useful.

Thanks Zenta, My internal API takes a byte value for percentage of battery left (0-100), was thinking of maybe 3 colors. Green for good, Yellow for getting lower, Red for getting real low. Could maybe also experiment with using a timer, where maybe it starts blinking at a real low value… Not sure yet what the cut offs should be. Also currently for the internal battery I have constants defined for what the high battery value should be (100%) and what the low battery (0%) and do the calculations. Not sure if for remote battery if I should have the actual robots do the conversions, or should I have them send me their battery configuration information, like high/Low/Yellow/Red/Blink… And have the smarts be specific per battery and handled at the remote. The only thing the robot would have to do is to report their battery condition in maybe 10ths of a volt…

But for now will probably spend more time back on JR…

Kurt

Have you considered coding an ā€œHour Meterā€? This would be measuring current, at a specific sampling rate, and then integrating the samples to give you the current drawn from the battery. You could also ā€œtrainā€ your ā€œmeterā€ to know what capacity the battery was capable of.

iPhones Phones and Norelco shavers do this quite well.

Alan KM6VV

Recently I have been busy with several projects, many of which are not robot related, but today I started to play with the assembly of my new Arduino Mega based DIY remote with the panel that Robot Dude made for me (Thanks :smiley:)

It will take me a few more trips to the hardware store and radio shack before I have all of the pieces. Here is a quick preview of it.

I don’t have a sand blaster so I used a sanding block to rough up the look of the panel. I now have the two joysticks mounted. If I were to make more of these I would probably enlarge the holes for the joysticks a tad as to get the rubber part to stick through it a little easier, but this is working fine for me.

The keypad is a perfect fit :smiley:. I need to figure out which screws to use. The SES bracket screws are the right diameter, but I don’t know if I have any long enough…

The sliders fit great. I found some 3mm screws to attach them, but the sliders are quite long, which makes the knobs stick a long ways off of the panel. Options to resolve this include, cut the top off the sliders, or use some standoffs to move the sliders down inside the case. Something around 3/4 of an inch. I think the original DIY remotes used the second approach. Will need to figure out how to attach the standoffs to the sliders. Maybe some threaded rod…

Next up to install the OLED. I may have to do some surgery as the mounting screw locations look great, but I may have screwed up on the opening size for the panel. The current opening is about 1.04" x 1.04", but the actual panel is about:
1.35"w by 1.4’"h. Will probably use dremel tool to see if I can enlarge…

That is all for now.

Kurt

Looking good Kurt!

Let us know how the joysticks perform. :wink:

Kurt, please give specific details on what holes need to be changed and I will just cut you out a new panel.

The standoffs should be 5/8" long iirc. I ordered the original ones, but can’t remember where…

The display hole size I think was taken directly from the data sheet. I probably messed it up. :frowning:

The best finish with a sander is achieved with a random orbit sander and some light-medium paper.

Let me refine it for you. :wink:

Thanks Jim,

I may take you up on this :smiley: Before then it might be good for me to experiment a little more to see what other tweaks might be good.

Yesterday I used the Dremel with a drill press unit and tried to use it like a cutter to enlarge the display hole, which is not the cleanest approach but it allows me to try it out…Arduino-Remote-box2.jpg

For some reason one edge broke out a little when I got close to the bottom. If I were to keep using this panel, I thought of getting some black caulking to fill in the edges… Visually I am not sure what to do about bottom area. On this edge the actual display ends about at the middle of the screws, but the bottom clear-ish and tan-ish part extends down probably a little more than .1" My guess is in a product they probably have another molding piece or the case that covered everything but the actual display and recess the display into the case. I am not sure if that is at all clear or not. Currently the hole is pretty close to the 1.35x1.4 as I mentioned. Suggestion?

Thing still to check out. Is there enough room to fit in the 4 pushbuttons. I need to get to radioshack… Plus I need to pick up another M(or was that N) connector for battery/charging circuit. May just pilfer out of another cable…

Next is to figure out where to mount the Arduino/shield. Should I try to mount near edge of box and cut out box to get access to USB cable? Or should I try to mount some form of extension. Maybe like ones from: usbfirewire.com/usb_cables_m … rs_86.html
I think this would be a cleaner approach, but not sure if anyone else has a better source for case mounted USB connections? If I go with mount near edge. Should it be under the display, which is very thin. If So will the pushbuttons get in the way… Lots to experiment with.

Likewise figure out where to place battery. Probably will pick up another 1600mah 6v battery and maybe place it under keypad again.

Thanks again Jim!
Kurt

Yes, work out the details and I will make a new one, or two, or three, whatever it takes. :smiley: