Nokia 5110 LCD-scherm

In het verleden werd het Nokia 5110 beeldscherm al veel gebruikt bij Raspberry Pi projecten. Tot op enige moment een benodigde bibliotheek aangepast werd en het display niet meer gebruikt kon worden. In juni 2019 werd de nieuwe bibliotheek (luma.lcd) opgeleverd waarmee diverse displays aangestuurd kunnen worden. Mettertijd zijn er verschillende chipondersteuningen bijgekomen en kent de bibliotheek een brede inzet.

In deze tutorial blazen we met de luma.lcd-bibliotheek het Nokia 5110 display (een 84×48 pixel Philips PCD8544) een nieuw leven in.

Display met de Raspberry Pi verbinden
Voordat we de bibliotheek installeren verbinden we het display met de Raspberry Pi. Het display kent 8 aansluitpinnen. De oplettende lezer ziet dat het een zgn. SPI (Serial Peripheral Interface) interface betreft waarbij op de Raspberry Pi de betreffende interface geactiveerd moet worden. De moduleprint komt in verschillende variaties voor. De pinnen zitten niet altijd in de volgorde zoals hieronder getoond wordt. Als de pinnen maar met de juiste Pi-pinnen verbonden worden.

Moduleprint

Bedrading
Sluit het display volgens de aansluittabel op de Raspberry Pi aan.

Aansluittabel

Luma.lcd
Het beeldschermbesturingsprogramma luma.lcd biedt een Python 3-interface voor kleine LCD-schermen die aangesloten zijn op de Raspberry Pi en andere op Linux gebaseerde single-board computers (SBC). Het biedt onder andere functionaliteit ter ondersteuning van:

  • scrollen/pannen,
  • printen in terminalstijl,
  • staatsbeheer,
  • kleur/grijstinten (indien ondersteund),
  • dithering naar zwart-wit

Het ondersteunt momenteel displays die de PCD8544, ST7735, ST7789, ST7567, HT1621, UC1701X, ILI9341, HD44780-controllers gebruiken.

Hieronder zijn er twee te zien.

SPI activeren
Het activeren van de SPI-interface op de Raspberry Pi kan op twee manieren.

1 – Ga naar de Startknop in de Desktop -> Voorkeuren -> Raspberry Pi Configuratie programma. Ga naar het tabblad Interfaces en zet SPI Aan.

2 – Of ga naar de terminal en geef het commando: sudo raspi-config

Het configuratiescherm opent zich. Ga naar Interface Options

Ga naar SPI

Enable de interface door Yes te selecteren.

SPI is nu geactiveerd.

Software installeren
Ervan uitgaande dat je een Raspberry Pi gebruikt (met Debian Jessie of nieuwer), geef je de volgende opdrachtregels in:

$ sudo usermod -a -G i2c,spi,gpio pi

$ sudo apt install python3-dev python3-pip libfreetype6-dev libjpeg-dev build-essential

$ sudo apt install libsdl-dev libportmidi-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev

Reboot de Pi en log weer in. Kloon Luma van de repository met:

$ git clone https://github.com/rm-hull/luma.examples.git

Ga naar de voorbeelden directorie.

$ cd luma.examples

Installeer ten slotte de luma-bibliotheken met:

$ sudo -H pip install -e .

Let op! Ik kreeg een melding, maar heb deze opgelost door het volgende uit te voeren. 

$ sudo -H pip install --upgrade luma.lcd

Hiermee worden alle vereiste afhankelijkheden opgehaald luma.lcd en automatisch geïnstalleerd. Als met pip de afhankelijkheden niet automatisch kunnen worden geïnstalleerd, moet je de ontwikkelingspakketten handmatig toevoegen. 

Als je Raspbian Stretch of Raspberry Pi OS (Buster) gebruikt, kun je de volgende opdrachten gebruiken om de vereiste pakketten toe te voegen:

$ sudo apt-get update

$ sudo apt-get install python3 python3-pip python3-pil libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libopenjp2-7 libtiff5 -y

$ sudo -H pip3 install luma.lcd

Als bovenstaande installaties goed gegaan zijn, geef dan opnieuw het commando in om de luma-bibliotheken te installeren:

$ sudo -H pip install -e . 

Zorg dat je in de voorbeelden (examples) directories bent, dus:

$ cd /luma.examples/examples

Start een script. Je moet het display type en de interface in de opdracht meegeven:

$ python3 maze.py -d pcd8544 -i spi

In de terminal verschijnt:

Version: luma.lcd 2.9.0 (luma.core 2.3.1)
Display: pcd8544
Interface: spi
Dimensions: 84 x 48

En als alles goed gegaan is zie je in het display de gewenste weergave.

Have A Nice Day!

Geef als eerste een reactie

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.


*