Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

LCD for RN1

Hitec robotics including ROBONOVA humanoid, HSR-8498HB servos, MR C-3024 Controllers and RoboBasic
62 postsPage 1 of 51, 2, 3, 4, 5
62 postsPage 1 of 51, 2, 3, 4, 5

LCD for RN1

Post by Entrastic » Wed Jan 02, 2008 12:55 pm

Post by Entrastic
Wed Jan 02, 2008 12:55 pm

Hey everyone..

I am not sure whether this has been discussed here before.. But, does anyone know a good alternative to the Hitec LCD? From what I have heard, the Hitec LCD is hard to get and is also expensive. Is there any other (cheaper) LCD that will work with the MRC3024 board? My I2c and Serial ports onboard are used up already and therefore I need to use the LCD port on board.

I am from Singapore and I found this in the local store. http://www.sgbotic.com/product_info.php ... ucts_id=42 Will this work? Also, will I be required to do a lot of additional electronic stuff like adding in resistors and capacitors and all... Coz I am really bad with such stuff..

This is my first post in Robosavvy.. Do not disappoint me!!
Hey everyone..

I am not sure whether this has been discussed here before.. But, does anyone know a good alternative to the Hitec LCD? From what I have heard, the Hitec LCD is hard to get and is also expensive. Is there any other (cheaper) LCD that will work with the MRC3024 board? My I2c and Serial ports onboard are used up already and therefore I need to use the LCD port on board.

I am from Singapore and I found this in the local store. http://www.sgbotic.com/product_info.php ... ucts_id=42 Will this work? Also, will I be required to do a lot of additional electronic stuff like adding in resistors and capacitors and all... Coz I am really bad with such stuff..

This is my first post in Robosavvy.. Do not disappoint me!!
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by Gort » Wed Jan 02, 2008 1:10 pm

Post by Gort
Wed Jan 02, 2008 1:10 pm

This is the LCD that I just hooked up yesterday.

http://www.sparkfun.com/commerce/produc ... cts_id=461

Still need to find time to program it but it seems to be working.

phpBB [media]
This is the LCD that I just hooked up yesterday.

http://www.sparkfun.com/commerce/produc ... cts_id=461

Still need to find time to program it but it seems to be working.

phpBB [media]
Gort
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 555
Joined: Wed May 31, 2006 1:00 am
Location: KC, MO, USA

Post by Entrastic » Wed Jan 02, 2008 1:16 pm

Post by Entrastic
Wed Jan 02, 2008 1:16 pm

Does it have proper pin outs or do I have to wire them manually?? Can I use wit the LCD port on the MRC3024 board?

And can you also tell me whether the LCD available locally in Singapore ( the link I posted in my last post) will work with RN1?

I am really sorry but I have very limited experience with RN 1 and robots as such.
Does it have proper pin outs or do I have to wire them manually?? Can I use wit the LCD port on the MRC3024 board?

And can you also tell me whether the LCD available locally in Singapore ( the link I posted in my last post) will work with RN1?

I am really sorry but I have very limited experience with RN 1 and robots as such.
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by Gort » Wed Jan 02, 2008 2:29 pm

Post by Gort
Wed Jan 02, 2008 2:29 pm

It needs just three wires to be hooked up ground, 5V power and signal. I also hooked it up to the LCD port on the MRC3024 board. The LCD board was made in China. There is a daughter board connected to the LCD board. That one looks like it was made by Sparkfun. That is the board I connected the three wires too and it controls the LCD board. I am not sure if you can get it in Singapore.
It needs just three wires to be hooked up ground, 5V power and signal. I also hooked it up to the LCD port on the MRC3024 board. The LCD board was made in China. There is a daughter board connected to the LCD board. That one looks like it was made by Sparkfun. That is the board I connected the three wires too and it controls the LCD board. I am not sure if you can get it in Singapore.
Gort
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 555
Joined: Wed May 31, 2006 1:00 am
Location: KC, MO, USA

Post by i-Bot » Wed Jan 02, 2008 3:06 pm

Post by i-Bot
Wed Jan 02, 2008 3:06 pm

The display at the link you gave appears to have a parallel interface and not serial. This display would not work, you must have a serial interface display.

The C3024 LCD port operates at 4800 baud, and this is fixed in the C3024 firmware. So you must have a board which operates at 4800 (like the Sparkfun, which can be changed from the 9600 default). I do have a version of the C3204 firmware with the LCD port at 9600, but that gets you into a whole new area of changing the code, which is best avoided for now.

I use the sparkfun, though at 9600. If Gort has it working at 4800, then I recommend you buy the sparkfun from the Robosavvy store:
http://robosavvy.com/store/product_info ... cts_id/217

[EDIT by PedroR on June 8th, 09]
The above product (Serial Enabled LCD White on Green) is no longer available on Robosavvy. We do have a similiar, compatible product available - Serial Enabled LCD White on Black - available here http://robosavvy.com/store/product_info ... cts_id/218
[/EDIT]


You may have to use the ETX to set the baud rate to 4800, but I guess this is then in EEPROM. Also the control sequences are different from the Hitec board, but quite simple to change.

Gort, can you confirm the SerLCD baud rate can be set to 4800 and is saved in EEPROM, I did not actually test this. thx

I would finally add that the LCD is an almost essential add on to the Robonova if you plan to do any serious programming.
The display at the link you gave appears to have a parallel interface and not serial. This display would not work, you must have a serial interface display.

The C3024 LCD port operates at 4800 baud, and this is fixed in the C3024 firmware. So you must have a board which operates at 4800 (like the Sparkfun, which can be changed from the 9600 default). I do have a version of the C3204 firmware with the LCD port at 9600, but that gets you into a whole new area of changing the code, which is best avoided for now.

I use the sparkfun, though at 9600. If Gort has it working at 4800, then I recommend you buy the sparkfun from the Robosavvy store:
http://robosavvy.com/store/product_info ... cts_id/217

[EDIT by PedroR on June 8th, 09]
The above product (Serial Enabled LCD White on Green) is no longer available on Robosavvy. We do have a similiar, compatible product available - Serial Enabled LCD White on Black - available here http://robosavvy.com/store/product_info ... cts_id/218
[/EDIT]


You may have to use the ETX to set the baud rate to 4800, but I guess this is then in EEPROM. Also the control sequences are different from the Hitec board, but quite simple to change.

Gort, can you confirm the SerLCD baud rate can be set to 4800 and is saved in EEPROM, I did not actually test this. thx

I would finally add that the LCD is an almost essential add on to the Robonova if you plan to do any serious programming.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Gort » Wed Jan 02, 2008 5:35 pm

Post by Gort
Wed Jan 02, 2008 5:35 pm

All good guestions I-Bot. I am at work now or I would check them out. You can set the baud rate for it by using the following commands:

124 then

<control> l for 4800

<control> m for 9600

<control> r for reset

I am not sure if you can set the baud rate for the LCD port in RoboBasic?
All good guestions I-Bot. I am at work now or I would check them out. You can set the baud rate for it by using the following commands:

124 then

<control> l for 4800

<control> m for 9600

<control> r for reset

I am not sure if you can set the baud rate for the LCD port in RoboBasic?
Gort
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 555
Joined: Wed May 31, 2006 1:00 am
Location: KC, MO, USA

Post by Entrastic » Wed Jan 02, 2008 6:10 pm

Post by Entrastic
Wed Jan 02, 2008 6:10 pm

i-Bot wrote:You may have to use the ETX to set the baud rate to 4800, but I guess this is then in EEPROM. Also the control sequences are different from the Hitec board, but quite simple to change.

Gort, can you confirm the SerLCD baud rate can be set to 4800 and is saved in EEPROM, I did not actually test this. thx


But my RX-Tx ports are already used up by my CMUcam 2+. Is there any way, I can buy may be a digital switch or something that can switch between the cam and the LCD using digital (logic) outputs that can be controlled by Robobasic. So that I can send commands to the cam and then switch over and send commands to the LCD whenever needed from the same port? Sorry if that sounds stupid.

I cant use my SDA-SCL pins also coz I am planning to use an SP03.

So am I correct in saying that the LCD port is nothing but another serial transmit port(like the RX port) that operates at 4800 baud rate at TTL voltage level?If thats the case, shouldnt I be able to send commands over to the LCD byte by byte through the LCD port just like a normal serial port?



i-Bot wrote:I would finally add that the LCD is an almost essential add on to the Robonova if you plan to do any serious programming.


I do realize the importance of LCD especially after working with the camera and other sensors. I am sure it is an extremely useful tool for debugging. I am sick of using LED blinks and music beeps for debugging my codes. By the way, my main intention with the LCD is to print status updates to the user when the robot is usign the CMU cam. For example, " Tracking Red" or " Initializing the camera, please wait" and stuff like that :)

By the way, I did find another LCD available locally that uses serial trasfer. But the baud rate is 9600 and I dont think I can change it. But it can also use I2C. So i am guessing this wont do the trick also?? Please take a look. http://www.sgbotic.com/product_info.php ... ucts_id=83
The main reason I am tryign to obtain an LCD locally is not the money but to save time as I am working on a tight schedule.
i-Bot wrote:You may have to use the ETX to set the baud rate to 4800, but I guess this is then in EEPROM. Also the control sequences are different from the Hitec board, but quite simple to change.

Gort, can you confirm the SerLCD baud rate can be set to 4800 and is saved in EEPROM, I did not actually test this. thx


But my RX-Tx ports are already used up by my CMUcam 2+. Is there any way, I can buy may be a digital switch or something that can switch between the cam and the LCD using digital (logic) outputs that can be controlled by Robobasic. So that I can send commands to the cam and then switch over and send commands to the LCD whenever needed from the same port? Sorry if that sounds stupid.

I cant use my SDA-SCL pins also coz I am planning to use an SP03.

So am I correct in saying that the LCD port is nothing but another serial transmit port(like the RX port) that operates at 4800 baud rate at TTL voltage level?If thats the case, shouldnt I be able to send commands over to the LCD byte by byte through the LCD port just like a normal serial port?



i-Bot wrote:I would finally add that the LCD is an almost essential add on to the Robonova if you plan to do any serious programming.


I do realize the importance of LCD especially after working with the camera and other sensors. I am sure it is an extremely useful tool for debugging. I am sick of using LED blinks and music beeps for debugging my codes. By the way, my main intention with the LCD is to print status updates to the user when the robot is usign the CMU cam. For example, " Tracking Red" or " Initializing the camera, please wait" and stuff like that :)

By the way, I did find another LCD available locally that uses serial trasfer. But the baud rate is 9600 and I dont think I can change it. But it can also use I2C. So i am guessing this wont do the trick also?? Please take a look. http://www.sgbotic.com/product_info.php ... ucts_id=83
The main reason I am tryign to obtain an LCD locally is not the money but to save time as I am working on a tight schedule.
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by i-Bot » Wed Jan 02, 2008 6:59 pm

Post by i-Bot
Wed Jan 02, 2008 6:59 pm

The baud rate of the LCD port is set to 4800 in the firmware and cannot be changed unless you change the firmware. You cannot POKE a fix for the baud rate.

Using the Sparkfun SerLCD would require only tempoary use of the ETX to program the baud rate, then it should sit on the LCD port, and free the ETX/ERX.

The SDA/SCL pins are dedicated to the EEPROM. If you want to connect the SP03 or other I2C devices, you will need to bit bang through other ports or use my I2C firmware. You can have multiple I2C devices at different adresses on the same bus, but you will have to write new the code for the display.

The LCD port is not like the ETX port, speed cannot be changed. The integated LCD commands such as clear screen are Hitec specific, and will need to be replaced by control sequences sent to the LCD port.
The baud rate of the LCD port is set to 4800 in the firmware and cannot be changed unless you change the firmware. You cannot POKE a fix for the baud rate.

Using the Sparkfun SerLCD would require only tempoary use of the ETX to program the baud rate, then it should sit on the LCD port, and free the ETX/ERX.

The SDA/SCL pins are dedicated to the EEPROM. If you want to connect the SP03 or other I2C devices, you will need to bit bang through other ports or use my I2C firmware. You can have multiple I2C devices at different adresses on the same bus, but you will have to write new the code for the display.

The LCD port is not like the ETX port, speed cannot be changed. The integated LCD commands such as clear screen are Hitec specific, and will need to be replaced by control sequences sent to the LCD port.
i-Bot
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 1142
Joined: Wed May 17, 2006 1:00 am

Post by Entrastic » Wed Jan 02, 2008 7:37 pm

Post by Entrastic
Wed Jan 02, 2008 7:37 pm

i-Bot wrote:Using the Sparkfun SerLCD would require only tempoary use of the ETX to program the baud rate, then it should sit on the LCD port, and free the ETX/ERX.


But do I need to manually unplug the camera from the ETX/ERX and plug in the LCD to initialize the LCD every time I wanna use it?? Is htere any better way in doin that?

i-Bot wrote:The SDA/SCL pins are dedicated to the EEPROM. If you want to connect the SP03 or other I2C devices, you will need to bit bang through other ports or use my I2C firmware. You can have multiple I2C devices at different adresses on the same bus, but you will have to write new the code for the display.


I was readin the thread ' need for sound' and Novaone has used two free servo ports to communicate with SP03. I think I will use the same method. I dint read the entire thread, but I am guessing it has proper guidelines on how to use it rite??
i-Bot wrote:Using the Sparkfun SerLCD would require only tempoary use of the ETX to program the baud rate, then it should sit on the LCD port, and free the ETX/ERX.


But do I need to manually unplug the camera from the ETX/ERX and plug in the LCD to initialize the LCD every time I wanna use it?? Is htere any better way in doin that?

i-Bot wrote:The SDA/SCL pins are dedicated to the EEPROM. If you want to connect the SP03 or other I2C devices, you will need to bit bang through other ports or use my I2C firmware. You can have multiple I2C devices at different adresses on the same bus, but you will have to write new the code for the display.


I was readin the thread ' need for sound' and Novaone has used two free servo ports to communicate with SP03. I think I will use the same method. I dint read the entire thread, but I am guessing it has proper guidelines on how to use it rite??
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by Entrastic » Wed Jan 02, 2008 7:49 pm

Post by Entrastic
Wed Jan 02, 2008 7:49 pm

Actually...
If i can connect the SP03 to the servo ports as specified by NovaOne on 'need for sound' (http://robosavvy.com/forum/viewtopic.ph ... c&start=15) and use the I2C communication, can I do the same for this LCD?? http://www.sgbotic.com/product_info.php ... ucts_id=83

I am sorry but I am not familiar wit I2C communication. So will I be able to use the LCD the same way I plan to use the SP03. And can I use both of them at the same time??

I hope I have phrased my question properly.
Actually...
If i can connect the SP03 to the servo ports as specified by NovaOne on 'need for sound' (http://robosavvy.com/forum/viewtopic.ph ... c&start=15) and use the I2C communication, can I do the same for this LCD?? http://www.sgbotic.com/product_info.php ... ucts_id=83

I am sorry but I am not familiar wit I2C communication. So will I be able to use the LCD the same way I plan to use the SP03. And can I use both of them at the same time??

I hope I have phrased my question properly.
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by NovaOne » Wed Jan 02, 2008 8:20 pm

Post by NovaOne
Wed Jan 02, 2008 8:20 pm

Hi
I was using spare servo ports before I realized I could use the PWM ports that I was not using for anything else.

Have I missed some thing, but is there any reason you can't use the PWM0 and PWM1 ports for I2C comms? ie PWM0 port for SDA = 46 and PWM1 port for SCL = 47. Just change the CONST lines in the program from SDA= 15 and SCL= 16, Then you will not have to worry about disabling servos :?

If you use a i2c compatible LCD yes you can connect it to the same pins as the sp03 and any othe I2C Bus compatible slave devices, as long as you have one set of pull up resistors on the lines somewhere.
Hi
I was using spare servo ports before I realized I could use the PWM ports that I was not using for anything else.

Have I missed some thing, but is there any reason you can't use the PWM0 and PWM1 ports for I2C comms? ie PWM0 port for SDA = 46 and PWM1 port for SCL = 47. Just change the CONST lines in the program from SDA= 15 and SCL= 16, Then you will not have to worry about disabling servos :?

If you use a i2c compatible LCD yes you can connect it to the same pins as the sp03 and any othe I2C Bus compatible slave devices, as long as you have one set of pull up resistors on the lines somewhere.
NovaOne
Savvy Roboteer
Savvy Roboteer
Posts: 405
Joined: Thu Jul 05, 2007 7:30 am

Post by Entrastic » Wed Jan 02, 2008 8:35 pm

Post by Entrastic
Wed Jan 02, 2008 8:35 pm

NovaOne wrote:Hi
I was using spare servo ports before I realized I could use the PWM ports that I was not using for anything else.


Oh cool.. So i can use the PWM0 and PWM1 for my SP03. But is it possible for me to purchase the LCD (the link given in my last post) and use this also with I2C communication?? I dun noe whether this is a ridiculous thing to say, but i have no idea how I2C works.

So now I have two options. One is to purchase the locally available one and use I2C. If I can use this LCD, I would be really glad as I dun need to wait it to be shipped in.

Other option is to use the one specified by Gort from Sparkfun. But as i-Bot said, I need to use the ERX/ETX ports temporarily to initiate the LCD( to send in command to set the correct buad rate).

So which of these options is most feasible??
NovaOne wrote:Hi
I was using spare servo ports before I realized I could use the PWM ports that I was not using for anything else.


Oh cool.. So i can use the PWM0 and PWM1 for my SP03. But is it possible for me to purchase the LCD (the link given in my last post) and use this also with I2C communication?? I dun noe whether this is a ridiculous thing to say, but i have no idea how I2C works.

So now I have two options. One is to purchase the locally available one and use I2C. If I can use this LCD, I would be really glad as I dun need to wait it to be shipped in.

Other option is to use the one specified by Gort from Sparkfun. But as i-Bot said, I need to use the ERX/ETX ports temporarily to initiate the LCD( to send in command to set the correct buad rate).

So which of these options is most feasible??
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by Gort » Wed Jan 02, 2008 8:44 pm

Post by Gort
Wed Jan 02, 2008 8:44 pm

The setting should be stored on the onboard EEPROM and loaded during each power up.
The setting should be stored on the onboard EEPROM and loaded during each power up.
Gort
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 555
Joined: Wed May 31, 2006 1:00 am
Location: KC, MO, USA

Post by Entrastic » Wed Jan 02, 2008 8:48 pm

Post by Entrastic
Wed Jan 02, 2008 8:48 pm

You mean the setting for the Spark Fun LCD? So I set the baud rates for the LCD once and then I store it in the EEPROM so that it can be loadedeverytime i start my robonova?? Is it easy to do that?
You mean the setting for the Spark Fun LCD? So I set the baud rates for the LCD once and then I store it in the EEPROM so that it can be loadedeverytime i start my robonova?? Is it easy to do that?
Entrastic
Savvy Roboteer
Savvy Roboteer
Posts: 31
Joined: Fri Oct 05, 2007 7:43 am

Post by NovaOne » Wed Jan 02, 2008 8:55 pm

Post by NovaOne
Wed Jan 02, 2008 8:55 pm

But is it possible for me to purchase the LCD (the link given in my last post) and use this also with I2C communication?

Yes the Devantech is suitable, but part of me would advise you use the LCD port ie the spark fun device.

Choices, choices...?

If it all comes down to cost the cheapest solution is to do what i do.....don't use and LCD at all. Instead use a lead with a RS232 to TTL converter from the LCD port, to your PC and run Hyper-terminal or similar program.

If you are into programming you could even write your own monitor program to display the data in a more useful form ie graphically?
But is it possible for me to purchase the LCD (the link given in my last post) and use this also with I2C communication?

Yes the Devantech is suitable, but part of me would advise you use the LCD port ie the spark fun device.

Choices, choices...?

If it all comes down to cost the cheapest solution is to do what i do.....don't use and LCD at all. Instead use a lead with a RS232 to TTL converter from the LCD port, to your PC and run Hyper-terminal or similar program.

If you are into programming you could even write your own monitor program to display the data in a more useful form ie graphically?
NovaOne
Savvy Roboteer
Savvy Roboteer
Posts: 405
Joined: Thu Jul 05, 2007 7:30 am

Next
62 postsPage 1 of 51, 2, 3, 4, 5
62 postsPage 1 of 51, 2, 3, 4, 5