arduino loar_Arduino 图片显示 轻松操作诺基亚5110显示屏

大家好,我是兔子。是嵌入式工程师。

诺基亚5110在很多人眼里应该算是经典神机了。

就下面这个,可以砸核桃的东西。

ef92e77810bbda15aace6ace0ac827fd.png

这次,我教大家如何用Arduino点亮诺基亚5110的显示屏,用来显示图片。

d53c376aebf192aceecd38238aa15dc6.png

实际效果:

0532b38ab1fa2b955f15c0aa54608d68.png

废话不多说了,先一步一步来。

1.接线

5d91f7241a368805a3ccb0d7b5a86472.png

可以看到,5110液晶屏有8个引脚。

5110 RST --> Arduino 9

5110 CE --> Arduino 10

5110 DC --> Arduino 11

5110 DIN --> Arduino 12

5110 CLK --> Arduino 13

5110 VCC --> Arduino 5V(液晶屏供电)

5110 BL --> Arduino 5V (液晶屏背光,不接也可以,就没有背光)

5110 GND --> Arduino GND (电源地)

2.添加5110液晶屏库文件

首先打开Arduino软件,安装兔子特地为诺基亚5110屏写的库。

e0c9a43b868f06ab37e9192418c3feac.png

6081e03364759691e605c082a02c7373.png

选中库后,点击打开即自动安装。

这样,我们就可以开始写程序了。

3.写程序

#include 

4.加入自己的图片

需要配合液晶取模软件,图片需要时双色,.bmp后缀的。

由于液晶的分辨率是48*84。大家图片不要超过范围啦。

比如以我的头像为例,直接打开windows自带的画图软件,点击文件->打开。

可以看到是一个彩色图片,分辨率是200*200。

b9e32b46efa1332f66f298931353fb82.png

点击重新调整大小

9934095d2869b2c1072725954db8dd9d.png

选择像素->水平48像素,垂直48像素。后点击OK。(屏幕分辨率为48*84)。故我就让图片调整为48*48,好显示。然后点击确定,你就发现图片变小了。

bc33344abd4dc75fcb239f5775161845.png

这样图片已经压缩到合适的尺寸了,我们如何将图片变为单色呢?

别急。

点击->另存为->BMP图片。

3109a02eee8cb172cbedde36d009d7fb.png

给另存为的图片重新命令后,一定要记住,需要选择单色位图。

a662ca8520a03e851c8260a614925cc3.png

38144ca1869446302c92e07d484b3ede.png

这样,我们的图片文件就做好了。我在我的桌面找打了它。虽然看起来没彩色的艳丽,至少外观看起来还可以。一句话,能用就行。

6cc1a5c200b2730d4002b9b6e12dedf8.png

这是后就需要借用第三方软件,帮助我们把图片转换成编码。

Zimo21.exe

b4045b4281a44fd46b09987f5a60703a.png

打开软件,->打开图像图标->我们刚制作的图片。选中后,打开。

9d49f2fe8503ac4ac2ebfefe7b4dbaea.png

选择 取模方式->C51格式。就可以复制下面的点阵生成区的所有代码。(只复制0x开头的,中文啥的都不要复制啊,我们只要复制数据即可)。

1dab9409bb5584cef5e0ba9f16ec7cfe.png

将代码复制到程序中,即可。(如果换图片,把之前的图片数据删除在粘贴进去)。可以看到,这个图片的图片名为(picture)。

23b4b5d70c35d40da1867cc696b3e2af.png

将参数设置好,就可以显示。

使用lcd.draw_pic函数。

括号里的第一个参数为picture,表示要画的图片是picture.

第二个参数为sizeof(picture) / sizeof(picture[0]).表示要显示图片的大小,即只要调整picture的名字就可以了。(如果你给图片数据命令了另一个名字,就把此处的picture换成你命名的即可)。

第三个参数为true,无任何意义,不用调整。

第四个参数为48,表示图片的x轴尺寸为48个像素。

第五个参数为num,表示图片从第num列开始画。num可以调整为(0~83)。

但是这里的图片尺寸为48*48.所以这里,num可以填写的范围为(0~83减48)。

即(0~35).

第六个参数为0,表示图片从第1行开始画。这个参数范围为0~5。由于屏幕的分辨率为48*84.

宽度为48个像素,而我们图片的分辨率为48*48.正好宽度也是48.所以这里只能从第1行开始画,否则图片会显示错误(导致出现乱码)。

2d2cc799b0be83deac2fefdb2e88cf7b.png

全部设置完毕。编译,下载。就可以看效果。

5.实际效果视频

335d07a34fda8e0f64c671f0820cc389.png
Arduino,诺基亚5110显示图片https://www.zhihu.com/video/1100476963986182144

6.相关资料

链接:

https://pan.baidu.com/s/1Lh7ZEc0R2zdS20lhTQQh5A

提取码:tw55

5110蓝屏 5110液晶屏 单片机开发板专用 Nokia LCD液晶屏模块​item.taobao.com
14eb649a2bb0e50e48fad03374d77379.png
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值