Arduino – Display Nokia 5110 (PCD8544)

 Hardware

nokia 5110 display

BESTEL NU!

Deze Nokia 5110 displays hebben 84×84 pixels en gebruiken de PCD8544 chip.

Informatie (ENG)

The Nokia 5110 is a basic graphic LCD screen for lots of applications. It was originally intended for as a cell phone screen. This one is mounted on an easy to solder PCB.

It uses the PCD8544 controller, which is the same used in the Nokia 3310 LCD. 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 interface.

LCD Specificaties (ENG)

  • Controller: PCD8544
  • Supply: 2.7V to 3.3V
  • Interface levels: 2.7V to 5V
  • Backlight Colour: Blue
  • Backlight supply: 3.3V Max
  • Module size: W 43.6mm x H 43.1mm
  • Working current: < 200uA (Backlight off)

Pinout

nokia 5110 display  
Pin (van links naar rechts met het display naar boven gericht!)Afkorting:Omschrijving:
1RSTReset
2CEChip Enable
3DCData/Command selection (high = write data / low = write command)
4DinData in
5CLKClock
6VCC+5v
7BL+5v (backlight)
8GNDGround

Aansluiten op de Arduino

Sluit het display aan zoals aangegeven op onderstaand schema:

Arduino pin:Display pin:
D31 - RST (Reset)
D42 - CE (Chip Enable)
D53 - DC (Data/Command selection (high = write data / low = write command))
D64 - Din (Data in)
D75 - CLK (clock)
+5v6 - VCC (+5v)
+5v7 - Backlight (+5v)
GND8 - GND (Ground)

Scripts

Wat heb je nodig?

1) Arduino EF5110 library
of
2a) Adafruit PCD8544 (Nokia 5110 LCD) library
2b) Adafruit GFX Library
of
3) LCD5110 library


Script met Adafruit PCD8544 bibliotheek

Dit is een geavanceerde bibliotheek met grafische tools, fonts, etc, en neemt meer geheugen in dan EF5110 bibliotheek.

Het resultaat:


Script met EF5110 bibliotheek

Commando’s met de EF5110 bibliotheek

Tekst schrijven:
lcm.write_string([x], [y], “Hallo Wereld!”);

[x] = Aantal pixels vanaf linkerkant
[y] = Het regelnummer 0 t/m 5 (6 regels)

Het font van de EF5110 bibliotheek is standaard: 6×8 pixels

dus je kan de [x] met 6 vermenigvuldigen, het volgende is waar te nemen:

lcm.write_string(0, 0, " Hallo");

is het zelfde als:

lcm.write_string(3*6, 0, "Hallo");

Display leegmaken:  lcm.clearLCM();
Coördinaten instellen:  lcm.set_XY(30,3);
Karakter schrijven:  lcm.write_char(50);

Script voor “Hallo wereld” i.c.m. met de “EF5110 Library”.

Het resultaat:

Nokia 5110 scherm - hallo wereld


Zelf symbolen en fonts maken voor je display

Als voorbeeld heb ik zelf wat symbolen gemaakt in een LCD tool, deze zet de pixels om in HEX formaat om deze dan weer te geven via de software en display.

Wat heb je nodig?

1) LCD Tools (in dit voorbeeld: GLCD Font Creator)

Ik heb zelf al een aantal symbolen getekend voor het 6×8 FONT:

124 = Temperatuur
125 = Luchvochtigheid / Regen
126 = Aan / Zon
127 = Baterij 1/7
128 = Baterij 2/7
129 = Baterij 3/7
130 = Baterij 4/7
131 = Baterij 5/7
132 = Baterij 6/7
133 = Baterij 7/7
134 = Graden Celcius
135 = Graden Farenheit
136 = Luidspreker
137 = Bell / Alarm
138 = Bluetooth
140 = Tekstballon
141 = Update / Recycle

6x8 font symbolen LCD uitgebreid

Deze kun je dan exporteren:

6x8 font symbolen export

6x8 font symbolen export naar arduino 01

Deze HEX codes van de symbolen kun je dan toevoegen aan de EF5110 bibliotheek:
Daarvoor moet je LCD.H openen met een tekstbewerker (notepad) dit bestand is te vinden in:

[Arduino folder]\libraries\EF5110\lcd.h

Plak de volgende code NA de regel met // horiz lines:

Voorbeeld:

6x8 font symbolen export naar arduino 02

Sla het bestand op.
Nu kun je bijvoorbeeld met  lcm.write_char(130);  een (halfvol)batterijtje laten weergeven.

Hieronder heb ik een DEMO code gemaakt om met de symbolen te spelen:

Het resultaat:

Nokia 5110 scherm - temp en batt

Top