LCD Display Arduino Minishield




Objective

I need a way to easily debug my robot as it roams around. A screen is a good way to achieve this.

LCD Display Modules

LCD display modules are an exceedingly effective way for microcontrollers to display information to the user.

Schematics

The module chosen is a CDM1602K 16x2 standard LCD display equipped with a KS0066U LCD controller. The interface with the LCD uses 4 data pins, and two control pins, which is quite compact.

The interface is done by using only one side of the arduino shield, making this project a minishield.




An additional PMOS is controlled from the reset in order to turn off then on the display on power up. Failure to do so would cause old content to persist on the LCD display after a reset. In this version RST low powers up the LCD, which is the opposite of what you would want. I rigged the RST pin to add as an additional IO to save one transistor in this prototype.



Code

The display runs on an Atmel Microcontroller.
I have made a standard library to handle a LCD display in interrupt which is vastly more efficient than the Arduino library implementation which is blocking.

>>>Microcontroller Driver - LCD Display<<<


This version is hooked to my HotBlack Shield running on an AtMega644. I use AVR Studio 7 as IDE and program the board through an AVRisp MKII.

>>>Maze Runner LCD Display Test Code<<<




1 comment:

Shenzhen WANTY said...

of blogs. Thank you so much for sharing this blog. China LCD Screen manufacturers