树莓派使用python驱动Nokia 5110 屏幕

这篇文章教大家在树莓派上如何使用Python连接Nokia 5110 LCD显示信息。Nokia 5110显示屏价格比较低,仅需要13元即可包邮到家,同时Nokia 5110显示屏使用SPI(串行外围接口)协议控制,并使用PCD8544作为其控制器。控制方式比较简单,作为树莓派的显示屏可以显示较多的信息。以下是具体的教程。 树莓派使用C语言驱动Nokia 5110 屏幕已经在科技爱好者博客之前的文章中讲过了,可以参考这篇文章:树莓派使用Nokia5110显示屏显示系统信息

一、需要的硬件

树莓派一个 Nokia 5110显示屏一个 母对母杜邦线 至少8根 Nokia 5110显示屏的信息以前介绍过,这里不再赘述,请参考这篇文章:树莓派使用Nokia5110显示屏显示系统信息

二、树莓派与显示屏的连接

树莓派与诺基亚5110显示屏的连接方式如下图:
树莓派与诺基亚5110显示屏的连接方式
这里图中显示的树莓派B型号,如果你手中的树莓派是2代、3代或者4代,连接方式都是一样的,其他的树莓派型号中管脚有40个,是在树莓派B的基础上增加的,前26个功能一样,即全部兼容。 这里连接中使用树莓派的SPI0口进行通信,SPI0的端口可以在这里找到:

引脚映射

VCC连接到3.3V电源,因为LCD和驱动器需要3.3V电源和3.3V逻辑电平进行通信。 1. RST ————复位。https://pinout.xyz/pinout/pin16_gpio23 2. CE——芯片选择。https://pinout.xyz/pinout/pin24_gpio8 3. DC—数据/命令选择。https://pinout.xyz/pinout/pin21_gpio9 4. DIN —串行数据线。https://pinout.xyz/pinout/pin19_gpio10 5. CLK——串行时钟速度。https://pinout.xyz/pinout/pin23_gpio11 6. VCC —电源3.3V(正)。https://pinout.xyz/pinout/pin1_3v3_power 7. LIGHT ———背光控制端子。https://pinout.xyz/pinout/pin15_gpio22 8. GND — — –负电源。https://pinout.xyz/pinout/ground 按照要求将nokia 5110显示屏与树莓派连接好,之后就可以进行下一步了。

三、开启树莓派SPI接口

在使用SPI控制Nokia 5110显示屏前,首先要开启SPI端口,开启方式如下:
sudo raspi-config
开启SPI接口后,我们再确认下:
$ ls -l /dev/spi*
crw-rw---- 1 root spi 153, 0 Feb 23 10:22 /dev/spidev0.0
crw-rw---- 1 root spi 153, 1 Feb 23 10:22 /dev/spidev0.1

四、安装Nokia LCD python库 

对于LCD显示,有许多库和库的许多变体。对于带有PCD8544的LCD,我选择了这个库  https://github.com/rm-hull/luma.lcd 。 该库已经可以作为python存储库的一部分,键入以下命令以安装所有必需的软件。
$ sudo apt-get install python-dev python-pip libfreetype6-dev libjpeg-dev build-essential
$ sudo -H pip install --upgrade luma.lcd -i https://pypi.tuna.tsinghua.edu.cn/simple
$ sudo pip install aux -i https://pypi.tuna.tsinghua.edu.cn/simple
这里使用pip 安装python时速度超级慢,后来使用了清华大学的镜像后,速度由5KB/S变到了4MB/S,不得不说,有镜像源真的方便啊。
使用镜像源之后的pip安装速度

五、用python驱动Nokia 5110显示屏

现在,一切就绪,只需要打开编辑器梭哈一番,Nokia 5110显示屏就能显示信息了,我这里以显示“Hello World!”为例。 编辑输入以下代码:
#! /usr/bin/python

from luma.core.interface.serial import spi
from luma.core.render import canvas
from luma.lcd.device import pcd8544, st7735, uc1701x
from RPi import GPIO
from luma.lcd.aux import backlight


serial = spi(port=0, device=0, gpio_DC=23, gpio_RST=24)
channel=18
light = backlight(gpio_LIGHT=channel, active_low=False)
light.enable(True)

device = pcd8544(serial,rotate=2)
with canvas(device) as draw:
    draw.rectangle(device.bounding_box, outline="white", fill="black")
    draw.text((10, 10), "Hello World!", fill="red")
raw_input("Here")
保存后执行,即可看到Nokia 5110屏幕显示了Hello World!字符,树莓派使用python驱动Nokia 5110 屏幕成功!

原创文章,转载请注明: 转载自科技爱好者博客

本文链接地址: 树莓派使用python驱动Nokia 5110 屏幕 (https://www.lxx1.com/3893)

如果博客对您有帮助,请给我 赞助


热度:576℃

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据