16×2 LCD Display

Een leuke tutorial is het aansturen van een LCD display zoals het type LCD16x2, ook wel 1602 genoemd. Dit staat voor 16 karakters in 2 rijen. Ik gebruik hier de versie waarop de I2C (uitgesproken: ai-toe-sie) interface gemonteerd is, of via een breadboard met het display verbonden is.

Zonder de I2C-interface moet het display met zo’n 12 verbindingsdraden aangesloten worden. Met slechts 4 draden kun je het LCD16x2 display of zijn grotere broer, de LCD20x4, met de Raspberry Pi verbinden, maar daar is wel een I2C interface voor nodig. Het 16×2 LCD display is met en zonder zo’n I2C interface aan te schaffen. Het heeft de voorkeur dat de interface al op het display gemonteerd is.

Het LCD display
De meeste van de beschikbare 16 karakters × 2 regels LCD display modules zijn compatibel met de Hitachi HD44780 LCD-controller. Hierdoor kun je bijna elk display kopen en er zeker van zijn dat het op vrijwel dezelfde manier werkt als elk ander. Er zijn veel modellen om uit te kiezen, de achtergrondverlichting is in verschillende kleuren verkrijgbaar. Het model dat ik kocht heeft een groene achtergrondverlichting.

Hieronder zie je het display met zijn pinaansluitingen. Omdat gewerkt wordt met de I2C interface is het niet noodzakelijk de functies van de pinnen uit te leggen. De meeste spreken voor zich.

Interface 16x2 LCD (parallel interface) with Arduino Uno - Arduino Project  Hub

Interface als breadboard versie
De I2C interface is ook los verkrijgbaar als je bijvoorbeeld een 16×2 LCD display wilt aansluiten die niet van een interface voorzien is. Je soldeert er een pinstrip op en je prikt ‘m zo in je breadboard. De interface wordt 1 op 1 met de aansluitpinnen van het display verbonden. Eitje dus!

I2C interface voor Lcd-displays

Het display verbinden met de Raspberry Pi
Het grote voordeel is dat de interface zo’n 8 verbindingen (waarvan 4 GPIO) scheelt bij de installatie. Bovendien bevindt zich op de interface een potmeter waarmee je het contrast van het display instelt. Met de jumper wordt de achtergrondverlichting van het display geactiveerd. Hierop zou je een 10kOhm potmeter kunnen aansluiten waarmee je de intensiteit regelt.

1602 LCD display met een gemonteerde I2C interface module

De I2C interface heeft 4 aansluitingen, deze worden met de Raspberry Pi verbonden zoals in de tabel aangegeven is.

Aansluittabel I2C interface en de Raspberry Pi

I2C bus configureren
De Raspberry Pi is voorzien van een zgn. I2C bus. Hierdoor kunnen meerdere apparaten gelijktijdig op de Raspberry Pi worden aangesloten, elk met een uniek adres. Dit adres wordt soms ingesteld door de jumperinstellingen op de module te wijzigen. Configureer nu de I2C op de Pi.

Klik hier om te zien hoe de I2C bus op de Raspberry Pi geactiveerd wordt.

Python 2 script
Omdat het hier goed werkende basisbestanden betreft en er daarom geen concessies gedaan zijn door ze aan te passen wordt de software van de originele site gedownload. Deze bestanden worden rechtstreeks op de Raspberry Pi gedownload. Geef hiervoor de volgende commando regel:

git clone https://github.com/the-raspberry-pi-guy/lcd

Vanuit de hoofdmap wordt de map lcd aangemaakt. Hierin worden de diverse bestanden gedownload (gekloond).

Installatiescript
Voordat de programma’s gestart kunnen worden moet het installatiescript in de lcd map eenmalig opgestart worden. Ga hierin staan en geef daarvoor het volgende commando in:

cd lcd

sudo sh install.sh

Demo scripts
De Raspberry vraagt na de installatie om opnieuw op te starten. Als alles goed gegaan is zijn de demoscripts nu op te starten. Ga in de lcd directorie staan en start een paar demo’s op door een van de volgende python programma’s op te starten:

  • python demo_clock.py
  • python demo_clock_and_IP.py
  • python demo_scrolling_text.py

Mettertijd zijn er meer demo’s bijgekomen, kijk zelf even.

Forex demo
Om het script van de demo_forex.py van de valutamarkt Forex te kunnen starten zal je waarschijnlijk nog extra bibliotheken moeten laden met de commando’s:
- pip install requests
- sudo apt-get install python-bs4

Start de Forex demo met: python demo_forex.py

16×2 LCD display – Forex demo

Met een paar kleine aanpassingen in het script werkt de software ook voor het 20×4 LCD display.

20×4 LCD display

Foutmelding
Indien in de terminal de melding: IOError: [Errno 121] Remote I/O error te zien is, dan kan de Raspberry Pi geen verbinding met de I2C interface maken. Of de bedrading is niet goed, dan wel kan de interface defect zijn.

Praktische toepassingen
Een mooie toepassing van het LCD display is het tonen van het IP-adres van de Raspberry Pi zodra deze opstart, waardoor je geen (HDMI) beeldscherm nodig hebt om de terminal te starten om erachter te komen.

Ook is het display geschikt om sensorwaarden weer te geven, denk aan de temperatuur, de luchtvochtigheid en de luchtdruk. Het kunnen ook waarden die je met een RFID kaart kunt inlezen.

Hoe dan ook, het display kent een beperkte functionaliteit, maar met een groot inzetgebied.

Have A Nice Day!