Raspberry és 16×2 karakteres LCD modul

Raspberry Pi összekapcsolása, 16×2 karakteres LCD kijelzővel. Bár egy 16×2 karakteres LCD nem sok információt tud megjeleníteni, és nem is túl szépen, de vannak helyzetek, amikor egy ilyen kijelző is teljesen informatív, és hasznos tud lenni. Ebben a posztban egy HD44780 kompatibilis LCD kijelző beüzemelése követhető végig lépésről lépésre.

Amire szükségünk lesz a megvalósításhoz:

  • Egy Raspberry Pi
  • Egy HD44780 kompatibils 16×2 karakteres LCD kijelző
  • Egy 10 kΩ-os potméter a kontraszt beállításához
  • Csatlakozó tüskék
  • Vezetékek

Ebben a leírásban egy Raspberry Pi2 Model B kerül alkalmazásra. A bekötés ennek a verziónak a lábkiosztása szerint történik. Más Raspberry modell esetében ez a lábkiosztás változik, változhat, ezért másik használata esetén mindenképpen ellenőrizni kell a bekötést.

 

Első lépés, a kijelző előkészítése.

A könnyebb kezelhetőség kedvéért az LCD modulra forrasszunk be egy 16 érintkezős tüskesort. Ez a demó, tesztelés miatt előnyös. Ha végleges megvalósításra kerül sor akkor mindenképpen válasszunk valami fix, biztosabb csatlakoztatást, mert kontakthiba előfordulhat. A fix beforrasztás a legjobb megoldás lehet.

16x2 LCD16x2 LCD

 

 

 

 

16×2 LCD Lábkiosztás
VSS (GND)  Föld
VDD (5V)  Pozitív tápfeszültség
V0  Kontraszt
RS  Register Select. RS=0 : Command, RS=1 : Data
RW  Read/Write R/W=0:Write, R/W=1:Read  (csak írni fogunk, ezért ez földpont)
E  Clock Enable. Lefutó él
D0  Bit 0 Nem használt 4 bites módban
D1  Bit 1 Nem használt 4 bites módban
D2  Bit 2 Nem használt 4 bites módban
D3  Bit 3 Nem használt 4 bites módban
D4  Bit 4
D5  Bit 5
D6  Bit 6
D7  Bit 7
A  Anód Háttérvilágítás (+)
K  Katód Háttérvilágítás (-)

Mielőtt elkezdenénk a bekötést ellenőrizzük az LCD modul háttérvilágításának áramfelvételét. Ha led háttérvilágítása van a modulnak, akkor az áramfelvétel nem haladja meg a 40mA-t. Ha az áramfelvétel több mint 40mA, akkor nem led háttér világítású az LCD modul, és ne csatlakoztassuk közvetlenül a Raspberryhez. Használjunk külön 5V-os áramforrást hozzá.

Második lépés, a teszt kapcsolás összeállítása

A teszt kapcsolás viszonylag egyszerű, gyorsan összeállítható. BCM lábkiosztás szerint fogjuk használni a Raspberry-t. A lábkiosztás pontosításához nézzük meg a  gpio readall kimenetét.

BCM wPi Name Mode V Pin Pin V Mode Name wPi BCM
3.3V 1 2 5V
2 8 SDA.1 IN 1 3 4 5V
3 9 SCL.1 IN 1 5 6 0V
4 7 GPIO.7 OUT 0 7 8 1 ALT0 TxD 15 14
0V 9 10 1 ALT0 RxD 16 15
17 0 GPIO.0 IN 0 11 12 0 OUT GPIO.1 1 18
27 2 GPIO.2 OUT 0 13 14 0V
22 3 GPIO.3 OUT 0 15 16 0 OUT GPIO.4 4 23
3.3V 17 18 0 OUT GPIO.5 5 24
10 12 MOSI IN 0 19 20 0V
9 13 MISO IN 0 21 22 1 OUT GPIO.6 6 25
11 14 SCLK IN 0 23 24 1 IN CE0 10 8
OV 25 26 1 IN CE1 11 7
0 30 SDA.0 IN 1 27 28 1 IN SCL.0 31 1
5 21 GPIO.21 IN 1 29 30 0V
6 22 GPIO.22 IN 1 31 32 0 IN GPIO.26 26 12
13 23 GPIO.23 IN 0 33 34 0V
19 24 GPIO.24 IN 0 35 36 0 IN GPIO.27 27 16
26 25 GPIO.25 IN 0 37 38 0 IN GPIO.28 28 20
OV 39 40 0 IN GPIO.29 29 21

A táblázatban pirossal jelöltem a fizikai pin-ek számát, és a mintaprogramban használható BCM portok számát.

Kapcsolási rajz, hamarosan

Ajánlom először a háttérvilágítás és a kontraszt potméter bekötését. Ha sikerült jól bekötnünk akkor valami hasonlót kell látnunk.

16x2 LCD backlight

16×2 LCD kontraszt és háttérvilágítás

Harmadik lépésként következik a szoftver beállítása

Minden beállítást, csomag telepítést SSH-n keresztül root jogú felhasználóval végeztem.

# ha még nem lennének telepítve a gpio és python használatához szükséges csomagok
pi@raspberry$ apt-get install python-dev
pi@raspberry$ apt-get install python-setuptools
pi@raspberry$ easy_install -U distribute
pi@raspberry$ apt-get install python-pip
pi@raspberry$ pip install rpi.gpio

Teszteléshez az Adafruit Python kódját fogjuk használni ami elérhető a github-on.  https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code

pi@raspberry$ apt-get install git
pi@raspberry$ git clone git://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
pi@raspberry$ cd Adafruit-Raspberry-Pi-Python-Code
pi@raspberry$ cd Adafruit_CharLCD/examples/
#ellenőrizzük a bekötött pineket és szükség esetén módosítsuk azokat!
pi@raspberry$ nano char_lcd.py
# Raspberry Pi pin configuration:
lcd_rs = 27 # Note this might need to be changed to 21 for older revision Pi's.
lcd_en = 22
lcd_d4 = 25
lcd_d5 = 24
lcd_d6 = 23
lcd_d7 = 18
lcd_backlight = 4

Tesztelés

pi@raspberry$ python char_lcd.py

Ha mindent jól csináltunk akkor a szkriptünk egy demót futtat az LCD kijelzőn. Állítsuk be a megfelelő kontrasztot a jó láthatóság érdekében és élvezzük munkánk gyümölcsét.

16x2lcd-hello-word

16×2 LCD-hello-word

16x2lcd-show-cursor

16×2 LCD-show-cursor

16x2lcd-blink-cursor

16×2 LCD-blink-cursor

Ez így szép és jó, de próbáljunk meg valami értelmet adni ennek a kijelzősdinek. A következő bejegyzésben megismerkedhetsz egy DHT22-es hőmérő modul összekapcsolásával.