84 48 lcd module arduino brands
In one of our previous tutorials we did an introduction on how to use the Nokia 5110 LCD with the Arduino, the tutorial covered displaying texts with different fonts etc. For this tutorial, we are taking things a little bit further and will be working through the display of customized graphics on the Nokia 5110 LCD display. This tutorial will particularly be useful for those who want to display their brand logo or any other kind of image on the LCD asides ordinary texts.
The Nokia 5110 display is basically a graphic LCD display useful for a lot of applications. It was intended originally to be used as a screen for cell phones and was used in lots of mobile phones during the 90’s. This display uses a low powered CMOS LCD controller/driver PCD8544, which drives the graphic display of size 84×48. In a normal state, the display consumes about 6 to 7mA which makes it quite ideal for low power usage.
To interface with a micro controller and power itself, the display has two parallel 8-pin port to which headers pins can be connected. You can pick one of the sides and solder header pins to it for connection to the Arduino board.
There are two main power sources needed. The first one is the operational power supply which according to the data sheet should be between the range of 2.7V to 3.3V. The second power supply is required for the LCD back-light. The LCD circuit has no current limiting resistor inbuilt so its better to play safe and only power with 3.3V max.
For the purpose of this tutorial, we will be using the paint.net tool to create the graphics. It is easy to use and can be downloaded from here. One thing that should be kept in mind while creating the graphics or logo is the canvass size. Since the LCD is 84×48, its important the canvass size is same as the screen, to ensure the designed graphics shows perfectly on the display.
In order to load our own graphics into the Arduino to be displayed by the Nokia 5110 display, we will need to use the LCD assistant software. It is a free and easy to use software that converts bitmap images into a data array which can then be used in C programming language based firmware for any micro-controller. The software is available for download here.
For better performance, we can save the data array in the program memory of the arduino instead of the sram, to save as much space as possible. To do this we will need to include some line of code to the data array file as shown in the image below.
With the LCD initialized, we then move to the loop proper. For each of the graphics to be displayed, we first clear the screen using lcd.clrscr() and then draw the graphics using lcd.drawbitmap() with the coordinates, name of the file, and the size as parameters. update the display with lcd.update() and set a delay to give the graphics enough time to display on the screen.
Copy the code, paste in the Arduino IDE, and upload to your Arduino board, you should get an output like the image below on your screen. Don’t forget to include the Graphics.c file in the Arduino sketch folder.
In the previous tutorial I showed how to build a weather station using DHT11 and BMP180 with an Arduino. However, the project has a downside which is the power consumption of the 16X2 LCD. If we were building a battery powered project with the desire to last for several weeks and probably several months, like a weather station for instance, then we’ll have to replace the LCD keypad shield from the previous tutorials and go for something like the low powered Nokia 5110 84×84 LCD display. In this tutorial I will be showing you how to drive this display with the Arduino and thus build projects with longer battery life.
Since we are just going to drive the display we won’t be needing sensors for this tutorial, however we will need the components listed below which include the Nokia 5110 itself and we will show how to drive the display using an Arduino board.
The Nokia 5110 display is basically a graphic LCD display useful for a lot of applications. It was intended originally to be used as a screen for cell phones and was used in lots of mobile phones during the 90’s. This display uses a low powered CMOS LCD controller/driver PCD8544, which drives the graphic display of size 84×48. It is very cheap and costs about 3$. You can get one here.
The Nokia 5110 LCD can display text, graphics as well as bitmaps. When this display is fully lit, it draws about 10mA but with the backlight off, it draws as low as 0.4mA. The power consumed by this display is very low compared to that of the keypad LCD shield used in the previous tutorial. I will be using the Arduino Mega for this tutorial as usual and you can buy one here. You can also buy jumpers, breadboards and power bank which you will be needing for this tutorial.
Before we start writing the code for this project, first we need to download the 5110 LCD graph library that was made by rinky-dink electronics. The library does most of the heavy lifting and makes it easy for us o use the LCD. Click here to visit the download page and then download the LCD5110_graph zip file. When done, unzip the file to your preferred location and then rename the unzipped folder to something simple like “LCD5110”. Copy and paste this folder in your arduino library folder, then run your arduino IDE.
Click on the file, then on examples and then click on LCD5110. Since we are using the Arduino Mega, under the LCD5110 drop down click on Arduino (AVR) and the open up the LCD graph demo file.
In the code we only have to change a few things. we can see from the comment section above that the RST pin of the display was connected to pin 11 but in our case we connected this pin to pin 12 of the Arduino Mega. We also have to change the CS from pin 12 to 11.
The first line after the comment section, the LCD5110 library was included and after that a myGLCD object was created with the numbers being the pins to which the LCD is connected. The last two values in the myGLCD object is the RST and CS values which has been changed as explained initially.
with this done, we move to the setup function. In the setup function, the InitLCD method is used to initialize the display and this method takes in a parameter for the display contrast. The contrast value is between 0-127 and since we didn’t pass in any value the default value which is 70 will be used. Next, the setFont method is called which sets smallFont as the display font style is called and lastly, the randomSeed function which is used to initialize the random number generator using analogRead on an unconnected pin as a random input.
In the loop function, on the first line the screen buffer is cleared using the clrScr method. The drawBitmap method was used to draw the arduino logo and this logo is placed in the screen buffer when the method is called. The update method is used to copy the screen buffer to the screen then we give it a delay of 2 seconds before clearing the screen buffer again.
Most of the functions used in the project have names that are self-explanatory like myGLCD.drawLine needs no explanation for instance as its clear the function draws a line.
Here is the full code for this project. Its an example from the Library named LCD5110_Graph_Demo and how to get to it has been described at the beginning of this section.
Note: This example assumes you are using the latest version of the Arduino IDE on your desktop. If this is your first time using Arduino, please review our tutorial on installing the Arduino IDE.
Below is a snippet of the example LCD control code. This small novella of a sketch shows off an array of graphics driver functions, character drawing tools, and other useful functions to help you get started using the LCD. You will need to include the LCD_Functions.h header in the same directory as the sketch folder from the download. Otherwise, your code will not compile when uploading to Arduino.
Heads up! If the display is not showing pixels even with the correct logic levels and example code, it may just have slight variances in the way that they were manufactured. You can see the pixels faintly on the screen at an angle or pushing down on the LCD. You will need to try and set the contrast where it says setContrast(40) on line 87 to a value of 60. There is probably some variances in the LCD’s contrast which might explain why certain LCDs have issues displaying defined pixels on the screen.
Once uploaded to your Arduino, the sketch will begin by running the demo -- a set of basic animations and graphics functions. To begin, we"ll draw some random pixels on the screen ("It"s full of stars..."). Then we"ll move on to examples of drawing lines, rectangles, and circles. Throughout there are examples of drawing characters and strings. Finally the demo closes out with an homage to a monochrome comic which seems a perfect fit for this little monochrome LCD.
After the demo runs its course, the sketch will enter into a serial echo mode. Open the serial monitor (set the baud rate to 9600 bps), and type stuff over to the Arduino. It should start printing everything you send it onto the LCD.
If you"re intrigued by the possibilities of drawing bitmaps on the screen, check out the next page! We"ll show you how to import your own 84x48 bitmap and draw it on the screen.
{"id":1848110415930,"title":"84*48 LCD Module White\/Blue Backlight Adapter PCB for Nokia 5110 Arduino","handle":"84-48-lcd-module-white-blue-backlight-adapter-pcb-for-nokia-5110-arduino","description":"\u003cstrong\u003eSpecification:\u003c\/strong\u003e\u003cbr\u003e1. \"LIGHT\" linked with GND, the backlight to be lit.\u003cbr\u003e2. Need you to compress the screen and PCB tighter, might got loose after the delivery.\u003cbr\u003e3 Use a 3.3V controller, otherwise the display could be quite vague.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eLCD5110 Module:\u003c\/strong\u003e\u003cbr\u003ePower supply voltage:2.7V-3.3V,5V is OK,but part of the screen becomes black when tested\u003cbr\u003eData interface level:2.7-5V\u003cbr\u003eBacklight power supply voltage:highest 3.3V\u003cbr\u003eInstallation diameter:2mm\u003cbr\u003eBacklight:White\/Blue\u003cbr\u003eDocument for Download:Data\u003cbr\u003e1.RST--------- reset\u003cbr\u003e2.CE------------chip selection\u003cbr\u003e3.DC-----------data\/commands choice\u003cbr\u003e4.DIN-----------serial data line\u003cbr\u003e5.CLK------------serial Clock Speed\u003cbr\u003e6.3.3V------------VCC\u003cbr\u003e7.LIGHT--------- backlight control terminal\u003cbr\u003e8.GND-----------power negative\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003cbr\u003e84 X 48 dot matrix LCD,can show 4 lines of characters\u003cbr\u003eUse serial interface communicate with the master processor,the number of interface signal line reduced greatly, only 8 signal lines including power and GND.Support different types of MCU,such as the SPI,MCS51 serial mode 0 of AVR.Transfer rate up to 4Mbps,can full speed write display data without waiting time.\u003cbr\u003eCan use the conductive glue to connect the module with the printed board,without connecting cable.The metal hooks on the module can fix the module on the printed board,which is very easy to install and replace.\u003cbr\u003eLCD controller\/driver chip has been bound to LCD chip,the volume of LCD is small\u003cbr\u003eLow power supply,the working current in normal situation is lower than 200μA,and has power-down mode.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eShipping Included:\u003c\/strong\u003e\u003cbr\u003e1PCS*Nokia 5110 LCD Disply Module","published_at":"2018-08-23T11:53:01+08:00","created_at":"2018-08-23T12:08:48+08:00","vendor":"diymore","type":"LCD Display Module","tags":["Arduino","Display"],"price":599,"price_min":599,"price_max":599,"available":true,"price_varies":false,"compare_at_price":299,"compare_at_price_min":299,"compare_at_price_max":299,"compare_at_price_varies":false,"variants":[{"id":18154753654842,"title":"White","option1":"White","option2":null,"option3":null,"sku":"030028BA","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"84*48 LCD Module White\/Blue Backlight Adapter PCB for Nokia 5110 Arduino - White","public_title":"White","options":["White"],"price":599,"weight":15,"compare_at_price":299,"inventory_management":null,"barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]},{"id":18154753720378,"title":"Blue","option1":"Blue","option2":null,"option3":null,"sku":"030028LA","requires_shipping":true,"taxable":false,"featured_image":null,"available":true,"name":"84*48 LCD Module White\/Blue Backlight Adapter PCB for Nokia 5110 Arduino - Blue","public_title":"Blue","options":["Blue"],"price":599,"weight":15,"compare_at_price":299,"inventory_management":null,"barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_5_706.jpg?v=1588653347","\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_4_582.jpg?v=1588653347","\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_2_297.jpg?v=1588653347","\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_1_951.jpg?v=1588653347","\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_3_223.jpg?v=1588653347"],"featured_image":"\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_5_706.jpg?v=1588653347","options":["Color"],"media":[{"alt":"84*48 Lcd Module White\/blue Backlight Adapter Pcb For Nokia 5110 Arduino Display","id":6678716874823,"position":1,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_5_706.jpg?v=1588653347"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_5_706.jpg?v=1588653347","width":1000},{"alt":"84*48 Lcd Module White\/blue Backlight Adapter Pcb For Nokia 5110 Arduino Display","id":6678716940359,"position":2,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_4_582.jpg?v=1588653347"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_4_582.jpg?v=1588653347","width":1000},{"alt":"84*48 Lcd Module White\/blue Backlight Adapter Pcb For Nokia 5110 Arduino Display","id":6678717005895,"position":3,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_2_297.jpg?v=1588653347"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_2_297.jpg?v=1588653347","width":1000},{"alt":"84*48 Lcd Module White\/blue Backlight Adapter Pcb For Nokia 5110 Arduino Display","id":6678717038663,"position":4,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_1_951.jpg?v=1588653347"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_1_951.jpg?v=1588653347","width":1000},{"alt":"84*48 Lcd Module White\/blue Backlight Adapter Pcb For Nokia 5110 Arduino Display","id":6678717104199,"position":5,"preview_image":{"aspect_ratio":1.0,"height":1000,"width":1000,"src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_3_223.jpg?v=1588653347"},"aspect_ratio":1.0,"height":1000,"media_type":"image","src":"https:\/\/cdn.shopify.com\/s\/files\/1\/0122\/7558\/0986\/products\/030028BA_3_223.jpg?v=1588653347","width":1000}],"requires_selling_plan":false,"selling_plan_groups":[],"content":"\u003cstrong\u003eSpecification:\u003c\/strong\u003e\u003cbr\u003e1. \"LIGHT\" linked with GND, the backlight to be lit.\u003cbr\u003e2. Need you to compress the screen and PCB tighter, might got loose after the delivery.\u003cbr\u003e3 Use a 3.3V controller, otherwise the display could be quite vague.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eLCD5110 Module:\u003c\/strong\u003e\u003cbr\u003ePower supply voltage:2.7V-3.3V,5V is OK,but part of the screen becomes black when tested\u003cbr\u003eData interface level:2.7-5V\u003cbr\u003eBacklight power supply voltage:highest 3.3V\u003cbr\u003eInstallation diameter:2mm\u003cbr\u003eBacklight:White\/Blue\u003cbr\u003eDocument for Download:Data\u003cbr\u003e1.RST--------- reset\u003cbr\u003e2.CE------------chip selection\u003cbr\u003e3.DC-----------data\/commands choice\u003cbr\u003e4.DIN-----------serial data line\u003cbr\u003e5.CLK------------serial Clock Speed\u003cbr\u003e6.3.3V------------VCC\u003cbr\u003e7.LIGHT--------- backlight control terminal\u003cbr\u003e8.GND-----------power negative\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003cbr\u003e84 X 48 dot matrix LCD,can show 4 lines of characters\u003cbr\u003eUse serial interface communicate with the master processor,the number of interface signal line reduced greatly, only 8 signal lines including power and GND.Support different types of MCU,such as the SPI,MCS51 serial mode 0 of AVR.Transfer rate up to 4Mbps,can full speed write display data without waiting time.\u003cbr\u003eCan use the conductive glue to connect the module with the printed board,without connecting cable.The metal hooks on the module can fix the module on the printed board,which is very easy to install and replace.\u003cbr\u003eLCD controller\/driver chip has been bound to LCD chip,the volume of LCD is small\u003cbr\u003eLow power supply,the working current in normal situation is lower than 200μA,and has power-down mode.\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eShipping Included:\u003c\/strong\u003e\u003cbr\u003e1PCS*Nokia 5110 LCD Disply Module"}
In one of our previous tutorials we did an introduction on how to use the Nokia 5110 LCD with the Arduino, the tutorial covered displaying texts with different fonts etc. For this tutorial, we are taking things a little bit further and will be working through the display of customized graphics on the Nokia 5110 LCD display. This tutorial will particularly be useful for those who want to display their brand logo or any other kind of image on the LCD asides ordinary texts.
The Nokia 5110 display is basically a graphic LCD display useful for a lot of applications. It was intended originally to be used as a screen for cell phones and was used in lots of mobile phones during the 90’s. This display uses a low powered CMOS LCD controller/driver PCD8544, which drives the graphic display of size 84×48. In a normal state, the display consumes about 6 to 7mA which makes it quite ideal for low power usage.
To interface with a micro controller and power itself, the display has two parallel 8-pin port to which headers pins can be connected. You can pick one of the sides and solder header pins to it for connection to the Arduino board.
There are two main power sources needed. The first one is the operational power supply which according to the data sheet should be between the range of 2.7V to 3.3V. The second power supply is required for the LCD back-light. The LCD circuit has no current limiting resistor inbuilt so its better to play safe and only power with 3.3V max.
For the purpose of this tutorial, we will be using the paint.net tool to create the graphics. It is easy to use and can be downloaded from here. One thing that should be kept in mind while creating the graphics or logo is the canvass size. Since the LCD is 84×48, its important the canvass size is same as the screen, to ensure the designed graphics shows perfectly on the display.
In order to load our own graphics into the Arduino to be displayed by the Nokia 5110 display, we will need to use the LCD assistant software. It is a free and easy to use software that converts bitmap images into a data array which can then be used in C programming language based firmware for any micro-controller. The software is available for download here.
For better performance, we can save the data array in the program memory of the arduino instead of the sram, to save as much space as possible. To do this we will need to include some line of code to the data array file as shown in the image below.
With the LCD initialized, we then move to the loop proper. For each of the graphics to be displayed, we first clear the screen using lcd.clrscr() and then draw the graphics using lcd.drawbitmap() with the coordinates, name of the file, and the size as parameters. update the display with lcd.update() and set a delay to give the graphics enough time to display on the screen.
Copy the code, paste in the Arduino IDE, and upload to your Arduino board, you should get an output like the image below on your screen. Don’t forget to include the Graphics.c file in the Arduino sketch folder.
84×48 pixel graphic LCD (Nokia 5110) for Arduino, Raspberry and Co., incl. header. A very easy-to-use LCD screen, with 84 x 48 pixel resolution. These displays debuted in the Nokia 5110 cell phone, well known for their high contrast and bright backlight. These small screens are incredibly popular again, because of their easy programming and low price.
It uses the PCD8544 controller. The PCD8544 is a low power CMOS LCD controller/driver, designed to drive a graphic display of 48 rows and 84 columns. All necessary functions for the display are provided in a single chip, including on-chip generation of LCD supply and bias voltages, resulting in a minimum of external components and low power consumption. The PCD8544 interfaces to microcontrollers through a serial bus style interface.
Note: Do not connect the LED pin (8) directly to 5VDC as it willdamage the backlight LEDs (hook up to 3.3V in the pic above). While rest of the LCD does seem to work off 5VDC power and signals from an Arduino, please keep in mind that this may diminish the life of the LCD. It is recommend that you use a 3.3V power and a 3.3V based Microcontroller with this graphic LCD and use current limiting for the LED backlight. An alternative is to use logic level converters with 5V TTL microcontrollers.
All necessary functions for the display are provided in a single chip, including on-chip generation of LCD supply and bias voltages, resulting in a minimum of external components and low power consumption.