Go Down

Topic: DMC 40218: anyone using these? (Read 1 time) previous topic - next topic

lcvieira_br

Hi, all.

I found two DMC40218 (40 x 2 characters)  amongst some old stuff and they work fine with LiquidCrystal() commands (they are dated 1986; 27 Y.O.!). The data sheet I found about this module (www.datasheet-pdf.com/datasheetdownload.php?id=535216 or pdf.datasheetcatalog.com/datasheets2/16/169708_1.pdf) mentions that it is HD44780 compatible (OKI M6222B-01 7Y26 controller in both), but I just could make it work only with 8-bit data bus, it does not respond to the 4-bit data bus' only configuration. I checked all connections and they seem fine, and I also changed the original code so it could handle the 40 characters and it ran OK, including a full-display scroll left and/or right. I actually tested the jig with at least four other different LCD modules, same Arduino UNO, and they all worked fine (the LCD's were 16 X 2 and I set the code correctly for 16 X 2 characters). Does anyone have any experience with this DMC40218 LCD module? Is there any specific procedure I should follow to initialize it correctly so it works with a 4-bit data bus? I would very much like to use it because of the number of characters it provides, and I actually need to use a small 12-key keyboard with this design. Any ideas? Thanks in advance.

Luiz (Brazil)

floresta

As I recall there have been other cases where, when using the LiquidCrystal library, some modules worked in the 8-bit mode but not in the 4-bit mode.  Most likely these modules were out-of-spec eBay specials, but they may also have been old, like yours.  Some of very early devices had some different timing requirements which may not be incorporated in the LiquidCrystal library.

Also, although the current Liquid Crystal library is a big improvement over the library it replaced several years ago there are some deviations from the recommendations in the Hitachi datasheet.

There is a library that was developed for the 40x4 displays (using dual controllers) that takes care of these problems.  To get a copy start here:--> http://code.google.com/p/liquidcrystal440/ and follow the Downloads link to get to the latest version.


Don

lcvieira_br

Hi, Don.

Thank you very much! I was not aware of these facts, good to know. I1ll download the library & related data and, as soon as I have any news about it, I'll post again.

Cheers!
Luiz (Brazil)

krupski


Hi, all.

I found two DMC40218 (40 x 2 characters)  amongst some old stuff and they work fine with LiquidCrystal() commands (they are dated 1986; 27 Y.O.!). The data sheet I found about this module (www.datasheet-pdf.com/datasheetdownload.php?id=535216 or pdf.datasheetcatalog.com/datasheets2/16/169708_1.pdf) mentions that it is HD44780 compatible (OKI M6222B-01 7Y26 controller in both), but I just could make it work only with 8-bit data bus, it does not respond to the 4-bit data bus' only configuration. I checked all connections and they seem fine, and I also changed the original code so it could handle the 40 characters and it ran OK, including a full-display scroll left and/or right. I actually tested the jig with at least four other different LCD modules, same Arduino UNO, and they all worked fine (the LCD's were 16 X 2 and I set the code correctly for 16 X 2 characters). Does anyone have any experience with this DMC40218 LCD module? Is there any specific procedure I should follow to initialize it correctly so it works with a 4-bit data bus? I would very much like to use it because of the number of characters it provides, and I actually need to use a small 12-key keyboard with this design. Any ideas? Thanks in advance.

Luiz (Brazil)


I've used the DMC20418 in the past successfully (4 bit mode plus RW). Both Optrex and Kyocera versions work in 4 bit and 8 bit mode. The 4 bit mode, with newer displays, needs RW transitions between half bytes to work.

The only problem I ever ran into is that Optrex versions work great with the contrast ("Vo") pin grounded, while newer ones (made by Kyocera) require about NEGATIVE 3 volts on Vo to work (grounding the pin does not work, nor does, obviously, using a contrast pot).

The attached diagram is my simple Arduino V- generator for those kind of LCD displays.

Gentlemen may prefer Blondes, but Real Men prefer Redheads!

lcvieira_br

#4
Jun 02, 2014, 06:51 am Last Edit: Jun 02, 2014, 06:55 am by lcvieira_br Reason: 1
Hi, Krupski;

Thank you for your interesting solutiuon for the -3.5Vcc. I always tell my students that the best solutions are based in the best concepts, and usually the fundamental ones. A 50% square wave generated in one of the PWM-ready pins - analogWrite (pin, 128) - connected to a rectifier through a decoupling capacitor and we have a new, 'quasi' digital version of a classical inverter. I would had used a 555 running at 4KHz (or more) and, then, rectify its output to obtain the Vee. I must confess I would not consider using a spare pin from the existing ones in the Arduino assy to do so. Thanks again!

I added a picture of the original assembly; in this one, contrast is connected to Vcc and GND, no Vee (-Vcc) available. The assembly is for testing a temperature collection from four points (L1 to L4) and light intensity from one point (LGHT). The little heart is just a sign of system working and will later be used for heart beat monitoring, along with temperature monitoring.

Cheers.
Luiz (Brazil)

Normnicol

Hello Luiz

I have this Dmc-40218 lcd, is by chance you still have a schematic and the code of your project

I am a newbie in the Arduino world  and need a lot of explanations and a picture worth 1000 words.

so if you can help me it will be very appreciated.

thanks

Normand

lcvieira_br

#6
Dec 07, 2017, 02:38 pm Last Edit: Dec 07, 2017, 02:46 pm by lcvieira_br
Hi, Normand.

After more than 3 years I got back to the DMC40218 and found that somehow I messed things up back then. It actually works fine with 4-bit data bus (chances are I made mistakes in either or both the code or the connections) so I ended up driving it through an I2C adapter. Please, see the attached picture.

I sent you an e-mail a couple of days ago, but I succeeded connecting the LCD to the I2C module yesterday, so the picture is a fresh one. Please let me know what would be better for you. In any way, I can also post here (just need to know the best place) the pictures and descriptions of how I did it, or create a PDF with that... What suits better. Let me know.

Just to add that the controller in my units is the OKI M6222B chip, OK?

Cheers.
Luiz

Go Up