Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.

Get Started
United Kingdom
Asked — Edited

New To This ;)

Hi all, I'm new to this forum and new to building robots.
Got some inspiration from DJ Sures 1980's Omnibot build.
I've got myself a EZ-B v3 control board and an old omnibot but was wondering if there is a way to purchase the rest of the kit or at least the wifi camera for v3?
If not any advice on the best servos to use would be appreciated. I have been looking at AS-17 servos and HXT 900s.
Thanks for taking the time to read my post and hope to hear from anyone soon;)

Ken.

AI Support Bot
Related Content
Synthiam
Based on your post activity, we found some content that may be interesting to you. Explore these other tutorials and community conversations.
United Kingdom
#46  
Or would I have been better ordering this one?

User-inserted image
United Kingdom
#47  
If neither of these displays are any good for ez-b can anyone recommend me one?

Also although it would be good to hook it up to the ez-b If thats not possible could I put in an sd card with animations on or even link it to my raspberry pi to play animations?
A heart beat reading would be cool (hospital heart monitor style) especially if it could monitor the battery?;)
United Kingdom
#48  
Well thought whilst it's sunny I may as well get the primer on his shell, then it's time for some chrome...

User-inserted image
United Kingdom
#49  
And now looking good with some chrome:)

User-inserted image



User-inserted image



User-inserted image


Can anybody tell me whether the lcd display will run with ez-b and which type of lead I'm gonna need?
United Kingdom
#50  
Sorry dude, been in bed most of the weekend...

Before you buy any display make sure you can get a decent datasheet for it. You will need to know the commands to use to send the data to the display. I've had little luck with ebay displays since they usually come from someone who doesn't speak English and don't come with Datasheets.

It looks like it can be either Serial or I2C. Which means, if in serial mode you can use a simple 3 wire extension connected to a digital port of the EZ-B and use the SendSerial() command to send the data to the display. If using it in I2C mode you need 4 wires connected to the EZ-B's I2C port.

How to use it is the main question, you will need to know the serial or I2C commands to send data to the display. It's not as simple as putting SendSerial(D0, "This is text"). There are usually a bunch of commands needed to set the cursor position, then display the text, then exit from text display mode...

Get the datasheet (not the Arduino code, that's usually pretty much useless to us) before you buy anything.

If you only want to display text then I always recommend using Devantech LCDs from Robot Electronics Link. These are what I always use, they are simple to use and are of a very decent quality. They also have the ability to set up custom characters (see Melvin's battery monitor display for an example).

Link to the ebay item or post the item number and I'll have a better look at it when I get the chance.
United Kingdom
#51  
Cheers for the reply Rich.

Item number is 261281402779.

If it gets too technical I may just put my samsung gs2 phone inside it instead or buy a monitor from Robot Electronics:)

I've asked the seller for a data sheet, I used google translate lol.

Also ordered a blinkm smart LED, probably for in his head although I may fit it in his chest?
United Kingdom
#52  
No info on the display at all on that auction so I would personally steer clear.

The other one you put a picture up of does have a datasheet with the commands required. Looking at it, it's very similar to the LCD I already have so it should be pretty straight forward to use. I ordered one (it was only £10) so will let you know when it turns up.

BlinkM is simple to use, it's natively supported by ARC and easy to script too, I think I've done a bit of a tutorial on it (or it may have been just a few examples). Awesome little bit of kit:)
United Kingdom
#53  
I already ordered the 1st one yesterday:(
I've asked the seller for a data sheet and if not a refund.
Silly me!
United Kingdom
#54  
@Rich, (or anyone else who can help) what would be the best method of connecting multiple servos or accessories to the battery?
Is there a specific connector I can get to link them all to the same power source? Or am I best making some sort of board that links them all together or even using chock blocks?

On another note I've managed to cancel the lcd and get a refund;) let me know how the one you ordered works out please Rich.
#55  
@dkenny , there are lots of options but I personally have been using barrier strips and spade connectors. If you flatten the spade out you can get 3 to 5 under one screw but I try to keep one spade per connection. It's easy and you won't need to wait for a product in the mail to continue on your project.
United Kingdom
#57  
Personally I dislike chockblocks/barrier strip. The more cables you have in each terminal the more likely you are to have a cable (or cables) work their way free, especially when being constantly vibrated by the robot.

Personally I would do it this way...

Reuse the existing flylead from the omnibot however cut off the spade crimps, strip the wire back, swap them around (Tomy used a centre ground, EZ-B uses outside ground), strip 2 more cables and crimp both in to one spare connector to make a Y cable (or use piggyback spade connectors)

Plug the barrel jack in to the EZ-B

Connect the other cables to a piece of Stripboard using
16A PCB Terminals. This leaves you with 2 strips with 0.1" spacing that you can now use for battery Vcc and Ground.

Solder in some pin headers and you now have a modular board which accessory extensions, jumper cables, servos etc. can plug directly in to, and be removed when needed if you wanted to make changes, add in things, borrow things for other projects.

Everything remains modular. Very little needs cutting and changing and it leaves everything the ability to be changed easily, removed or borrowed for another project (and believe me, you will borrow from one project to get another project moving).
United Kingdom
#58  
Thanks jstarne1, much appreciated. I'll look into getting some:)
I read a post from a while ago where you were going to hard wire jumper leads to the v3 blue wifi camera straight to the board inside rather than the usb connector, I just wondered how reliable it was doing this and did you have any problems with the battery removed or any other problems?

EDIT: @Rich I've only just seen this post, what a great idea, I already have all the parts needed so think I will go with this;)
United Kingdom
#59  
A lot of people have hard wired the camera in that way. It seems to solve some issues with the camera and is more reliable. There's a decent topic on it here.
United Kingdom
#61  
Is there a way to change the name of this thread before I mark it as resolved or make it easy to find for beginners?

Niek answered my original question but Rich provided lots of valuable information aswell as other forum members.

It has lots of useful information for beginners in building robots, like me lol.

Thanks everybody:)
United Kingdom
#62  
Right, my digole LCD turned up today so I've spent the evening playing with it...

It works. It's very similar to the digole LCD I picked up earlier in the year, the commands are the same, the datasheet is the same datasheet... it even shares the same I2C address (when put in I2C mode).

I'll cover it in a new topic when I get chance.

Long and short of it is this though (my opinions on it).

Small... very small. It's only 1.8".
16x5 character text display, which is just about big enough for basic info but I prefer bigger to fit more in.
Graphics commands can be a bit of a pain to use, the rectangle (filled and unfilled) seems to only draw an unfilled rectangle which is pointless.
bitmap graphics, while they work you need to convert the image to bitmap data, each byte is an 8x8 grid of pixles. There is a converter on digole's site but this brings up another issue, you can't send enough data to the LCD over I2C in one go, so the image must be split in to parts. Easy enough to do but it's more code and a pain to do if you don't realise.

I wouldn't recommend this one to be honest. Unless you needed some very basic graphics and a screen 1.8" in size (which may come in handy).

It all depends what you want to be able to do on it though...

I'll upload a video too so you can decide if it looks like it'll do what you want it to do.

FYI, a sample piece of code to display a small battery symbol, split line by line to avoid the maximum data transmitted to I2C limit;

Code:

I2CWrite(0,0x28,"DIM",0,0,81,1,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,1,81,1,0x01,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,2,81,1,0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,3,81,1,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,4,81,1,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,5,81,1,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x07,0xfc,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,6,81,1,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xfc,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,7,81,1,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,8,81,1,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,9,81,1,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,10,81,1,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,11,81,1,0xf8,0x1f,0xff,0xff,0xff,0xe0,0x00,0x00,0x1f,0x3c,0x7f)
I2CWrite(0,0x28,"DIM",0,12,81,1,0xf8,0x1f,0xff,0xff,0xff,0xf0,0x00,0x00,0x1f,0x1f,0x7f)
I2CWrite(0,0x28,"DIM",0,13,81,1,0xf8,0x1f,0xff,0xff,0xff,0xf0,0x00,0x00,0x1f,0x1f,0x7f)
I2CWrite(0,0x28,"DIM",0,14,81,1,0xf8,0x1f,0xff,0xff,0xff,0xf8,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,15,81,1,0xf8,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,16,81,1,0xf8,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,17,81,1,0xf8,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,18,81,1,0xf8,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,19,81,1,0xf8,0x1f,0xff,0xff,0xff,0xfe,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,20,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,21,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0x00,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,22,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0x80,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,23,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0x80,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,24,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xc0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,25,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xc0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,26,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xe0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,27,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xe0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,28,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xf0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,29,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xf0,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,30,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xf8,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,31,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xf8,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,32,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xfc,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,33,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xfc,0x00,0x1f,0x1f,0xff)
I2CWrite(0,0x28,"DIM",0,34,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xfe,0x00,0x1f,0x1f,0x7f)
I2CWrite(0,0x28,"DIM",0,35,81,1,0xf8,0x1f,0xff,0xff,0xff,0xff,0xfe,0x00,0x1f,0x3e,0x7f)
I2CWrite(0,0x28,"DIM",0,36,81,1,0xf8,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x1f,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,37,81,1,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,38,81,1,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,39,81,1,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,40,81,1,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,41,81,1,0x3f,0xc0,0x00,0x00,0x00,0x00,0x00,0x07,0xfc,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,42,81,1,0x1f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf8,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,43,81,1,0x0f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf0,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,44,81,1,0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe0,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,45,81,1,0x03,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x80,0x00,0x7f)
I2CWrite(0,0x28,"DIM",0,46,81,1,0x00,0x7f,0xff,0xff,0xff,0xff,0xff,0xfc,0x00,0x00,0x7f)


Imagine having to do that for every graphic you want to use...
United Kingdom
#63  
Ha ha, the coding looks fun... seen your thread, very helpful thanks.
I may give this one a miss for now.

I've seen some small low voltage two wire multimeter displays that hook straight up to your battery, I may use one of these until I feel brave enough lol.

It's gonna be enough fun figuring out the coding for the ir & ping sensors aswell as other functions;)
#64  
Rich, I think I would go cross-eyed!
*blush*
United Kingdom
#65  
It's easy once you get in to it. EZ-Script is a very easy language to learn.