Metealp97
Turkey
Asked
— Edited
hi i am new to ez-b and whole robotics world but i would like to add a lcd screen to ez-b i have no idea how to do it can someone explain how to do it from start and how enter scripts on lcd thanks
Hello! Welcome
Start by reading this: https://synthiam.com/Tutorials/Hardware.aspx?id=13
There is a link at the bottom to search for compatible devices. Well, the search is accurate as it can be. Many eBay sellers lie or post confusing information. You want Serial/TTL ... That means the LCD at mininum would have an RX
You'll find thousands of LCD's for "arduino". And they will require 8 or 16 wires. They also will require a kabillion lines of confusing code. They will also take up the entire processor capability of the Arduino. So stay away from those! The seller will write a description to have you buy it........ but you won't be able to use it. ever
okay but in the tutorial you talk about only 3 wires (Power, Gnd, Power) in the ebay links they have 5 (GND, SS, SCL/SCK, RX/SDA/SDI, VCC) which one will go in the ez-b board thank you here is a link of the lcd i am thinking of buying
http://www.ebay.com/itm/Serial-UART-I2C-SPI-Adapter-White-Blue-1602-LCD-for-Arduino-PIC-AVR-/370662529906?pt=LH_DefaultDomain_0&hash=item564d355b72
There are a lot of misleading items on ebay. Its easier to keep away from anything that says I2C.
@metaelp97, that LCD will work great! Good find!
You care about the UART mode. So check the manual to ensure the jumper is set for UART.
Voila
I just bought one myself Been looking for ages for something that works but only ever found the same rubbish I got before which was I2C and had no documentation with it.
@DJ is the SendSerial example in the script manual correct? "SendSerial(0x09, 'n', 0x00, 244, "This is text")" or should it be more like "SendSerial(D1, 38400, "This is text")"
thanks for the info i will buy that right away i actually thinking of buying 2 and could you give me and example text code for that lcd like "hello world" because i dont really know how to enter texts on ez script and it would be nice if you can tell me how to do tricks like moving "hello world" text to side to side or display diffrent informations
one last thing how can i set the lcd to uart i couldn't find the info i need so it would mean a lot to me if u can tell me here
thank you again
Since I've also bought the exact same item you can expect some examples once mine turns up.
For now though, I will be reading the manual (download here) and figuring it all out.
OK mine turned up today (typically since I ordered a different one yesterday which should be here tomorrow but never mind).
The LCD has it's problems;
Connecting to Melvin on port D7 (I don't think the port was the issue) sent Melvin insane... When sending commands to the LCD his neck would on occasion judder (ports D1 & D2) and on one occasion I lost connection and had a frozen ARC. That said, it's been working fine on Test Bot. (Any ideas why that happened? More than once too.)
The commands in the manual are not exactly clear. They look it but when using them it's a whole different ball game.
First of all, there is no mention in the manual that once you are in TT mode that you can't get out of it. For instance;
works great and outputs Hello World on the display.
Follow it up by trying to clear the screen (CL) and you end up with Hello WorldCL on the display.
After a while I stumbled upon using;
to exit the mode. All commands after this seemed to work... kinda.
The next problem is positioning the text. For my scripts I need to set the static text in 1,1 and 1,2 for the 2 lines. Set static text at 16,1 and 16,2. Then update the variable written at 12,1 and 12,2.
But, the position text command (TPxy) doesn't quite work right. I have no idea at the moment how it works. Using 00, 11, 0,0, or 1,1 doesn't seem to put text in the top left. I thought I had some sucess with 0001 to put it in the top left but when looping it showed that it was coincidentally in the top left anyway, the command was doing nothing.
A bit more playing around and it seemed to be OK with this;
Or almost... It would cut the first character off and the lines were around the wrong way... Using 0101 and 0102 didn't give anything like the desired results either...
I did, however have great results doing things the long way... this "Hello World" animation works fine but as much as I like coding I will not be writing any scripts like this if I can help it.
Honestly, there must be an easier way. And I will find it. But bear with me on it, I need to play a bit more.
What I do know is I'm glad I ordered the I2C one yesterday, which has easy to understand instructions. I will use that one in Melvin and use this one in something else, or just play around with it.
Keep your eyes peeled for more on this though, I wont give up on it... yet...
Edit: It's on D14 on Test Bot hence the change in port number halfway through.
OK, I have sorted it out. I just needed to step back, have a coffee and then have another go (see how easy it is to blame the device when it was user error?).
The commands are;
CL = Clear Screen CS0 = Turn Off Cursor CS1 = Turn On Cursor BL0 = Turn Off Backlight BL1 = Turn On Backlight TP,x,y = Position Text. Example SendSerial(D14,9600,TP,3,1) - Top left = 0,0 bottom right = 15,1 TT = Text Entry 0 = Exit modes.
Quick Example, I will work on more now;
Another example of how to make it do it's thing is;
That way saves having to write out all of the SendSerial lines.
OK, spent the best part of today playing with this display and figured it all out now.
Positioning of text is simple when you think about it (I think I may have been getting mixed up on the X and Y)
However, one thing I've noticed and I hope someone can point me in the right direction or explain it is this...
If a servo is being held and SendSerial is executed the servo will twitch. Not every time but a lot of the time. I have my test bot displaying the current ping along with the current time on the display, updated every 500ms. The sweep servo is held at 20 but twitches every second or so.
Is it the display causing this or is it a general occurrence?
found this lcd:
Lcd screen
how would you wire this up to the ez-b?
That is the same one, same auction, same everything.
Simple to wire up
Then plug it in to a digital port on the EZB
Excuse the poor quality it was taken quickly
Just make sure it comes with an LCD, that picture is of just the "backpack" (or LCD driver)
it does. thanks.
I know what im getting next.
Example Script #1 (yes there will be more)
There may be a better way to format the time & date, I haven't spent long looking in to that but the above way works. It also updates every second with a blinking . which could be changed for every minute if it is eating up the communications.
As always, easy to change for your LCD, port and baud are variables at the top of the script.
As much for reference in to doing anything than as an example for making a clock.
Edit: Minor bug fix made to hour when changing to single digit would have left the leading 1.
will the code posted before work too?
All code I post will work
ok thanks Rich.
I'm still having the servo twitch issue, even on the new LCD that come today.
I guess I will be moving over to I2C for the new one, hopefully that'll avoid these slight issues (they make Melvin look like he has gone insane).
Lovely music
weird.
im thinking noise on the ports.
could be that ur ez-b is one of the odd ones.
Happens on both EZ-Bs dude. Not a problem, I put the new LCD in I2C mode for Melvin and this one can be put in to I2C mode and I assume the commands are as straight forward. Frees up a digital port too so it's win win.
Just wanted to flag it up since I'd not heard anything about the issue.
ok fair enough.
you should make your own website for posting projects you've made and posting ideas and scripts.
sort of like what DJ has
I don't have time to do that, besides it's all on here where everyone can find it
Once Melvin is finished (if he ever get's really finished but I suspect he will forever be having upgrades) I may throw the details on a site but for now I don't even have the time to update any of my other sites.
I'm currently in the process of making one. totally free. will post my projects and tips on it.
thanks so much for the scripting Rich.