大家好,我是兔子。是嵌入式工程师。
诺基亚5110在很多人眼里应该算是经典神机了。
就下面这个,可以砸核桃的东西。
![ef92e77810bbda15aace6ace0ac827fd.png](https://img-blog.csdnimg.cn/img_convert/ef92e77810bbda15aace6ace0ac827fd.png)
这次,我教大家如何用Arduino点亮诺基亚5110的显示屏,用来显示图片。
![d53c376aebf192aceecd38238aa15dc6.png](https://img-blog.csdnimg.cn/img_convert/d53c376aebf192aceecd38238aa15dc6.png)
实际效果:
![0532b38ab1fa2b955f15c0aa54608d68.png](https://img-blog.csdnimg.cn/img_convert/0532b38ab1fa2b955f15c0aa54608d68.png)
废话不多说了,先一步一步来。
1.接线
![5d91f7241a368805a3ccb0d7b5a86472.png](https://img-blog.csdnimg.cn/img_convert/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](https://img-blog.csdnimg.cn/img_convert/e0c9a43b868f06ab37e9192418c3feac.png)
![6081e03364759691e605c082a02c7373.png](https://img-blog.csdnimg.cn/img_convert/6081e03364759691e605c082a02c7373.png)
选中库后,点击打开即自动安装。
这样,我们就可以开始写程序了。
3.写程序
#include
4.加入自己的图片
需要配合液晶取模软件,图片需要时双色,.bmp后缀的。
由于液晶的分辨率是48*84。大家图片不要超过范围啦。
比如以我的头像为例,直接打开windows自带的画图软件,点击文件->打开。
可以看到是一个彩色图片,分辨率是200*200。
![b9e32b46efa1332f66f298931353fb82.png](https://img-blog.csdnimg.cn/img_convert/b9e32b46efa1332f66f298931353fb82.png)
点击重新调整大小
![9934095d2869b2c1072725954db8dd9d.png](https://img-blog.csdnimg.cn/img_convert/9934095d2869b2c1072725954db8dd9d.png)
选择像素->水平48像素,垂直48像素。后点击OK。(屏幕分辨率为48*84)。故我就让图片调整为48*48,好显示。然后点击确定,你就发现图片变小了。
![bc33344abd4dc75fcb239f5775161845.png](https://img-blog.csdnimg.cn/img_convert/bc33344abd4dc75fcb239f5775161845.png)
这样图片已经压缩到合适的尺寸了,我们如何将图片变为单色呢?
别急。
点击->另存为->BMP图片。
![3109a02eee8cb172cbedde36d009d7fb.png](https://img-blog.csdnimg.cn/img_convert/3109a02eee8cb172cbedde36d009d7fb.png)
给另存为的图片重新命令后,一定要记住,需要选择单色位图。
![a662ca8520a03e851c8260a614925cc3.png](https://img-blog.csdnimg.cn/img_convert/a662ca8520a03e851c8260a614925cc3.png)
![38144ca1869446302c92e07d484b3ede.png](https://img-blog.csdnimg.cn/img_convert/38144ca1869446302c92e07d484b3ede.png)
这样,我们的图片文件就做好了。我在我的桌面找打了它。虽然看起来没彩色的艳丽,至少外观看起来还可以。一句话,能用就行。
![6cc1a5c200b2730d4002b9b6e12dedf8.png](https://img-blog.csdnimg.cn/img_convert/6cc1a5c200b2730d4002b9b6e12dedf8.png)
这是后就需要借用第三方软件,帮助我们把图片转换成编码。
Zimo21.exe
![b4045b4281a44fd46b09987f5a60703a.png](https://img-blog.csdnimg.cn/img_convert/b4045b4281a44fd46b09987f5a60703a.png)
打开软件,->打开图像图标->我们刚制作的图片。选中后,打开。
![9d49f2fe8503ac4ac2ebfefe7b4dbaea.png](https://img-blog.csdnimg.cn/img_convert/9d49f2fe8503ac4ac2ebfefe7b4dbaea.png)
选择 取模方式->C51格式。就可以复制下面的点阵生成区的所有代码。(只复制0x开头的,中文啥的都不要复制啊,我们只要复制数据即可)。
![1dab9409bb5584cef5e0ba9f16ec7cfe.png](https://img-blog.csdnimg.cn/img_convert/1dab9409bb5584cef5e0ba9f16ec7cfe.png)
将代码复制到程序中,即可。(如果换图片,把之前的图片数据删除在粘贴进去)。可以看到,这个图片的图片名为(picture)。
![23b4b5d70c35d40da1867cc696b3e2af.png](https://img-blog.csdnimg.cn/img_convert/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](https://img-blog.csdnimg.cn/img_convert/2d2cc799b0be83deac2fefdb2e88cf7b.png)
全部设置完毕。编译,下载。就可以看效果。
5.实际效果视频
![335d07a34fda8e0f64c671f0820cc389.png](https://img-blog.csdnimg.cn/img_convert/335d07a34fda8e0f64c671f0820cc389.png)
6.相关资料
链接:
https://pan.baidu.com/s/1Lh7ZEc0R2zdS20lhTQQh5A
提取码:tw55
5110蓝屏 5110液晶屏 单片机开发板专用 Nokia LCD液晶屏模块item.taobao.com![14eb649a2bb0e50e48fad03374d77379.png](https://img-blog.csdnimg.cn/img_convert/14eb649a2bb0e50e48fad03374d77379.png)