开启左侧

Arduino之显示屏

[复制链接]
发表于 2017-6-25 22:52:04 | 显示全部楼层 |阅读模式
      平时在我们使用Arduino开发的过程中,难免会遇到需要查看数据的时候。通常我们选择的方式就是串口,我们通常使用电脑显示串口发送过来的数据(即Serial.print与串口监视器),但是这样我们就不得不拖着一根线,局限性非常的大。所以我们也就需要一个小小的显示屏来显示一下我们获取到的数据。      在Arduino的使用过程中,我总结了一下市面上比较常见的几种屏幕:
      第一种,也就是Arduino的Exmaple中提供的一个显示屏,叫LiquidCrystal。实际上是驱动一块LCD1602,采用并行控制的方法,在网上教程非常的多,对于新手来说如果不是很会接线的话,也经常会折腾了一天也没有任何成果。LCD1602的意思就是,这是一块LCD的屏幕,一共能显示16 x 2个字符,即每行16个,一共2行。于此对应的还有较为常见的LCD2004,即能显示20 x 4个字符。LCD的颜色也有很多,常见的有蓝底白字,黄底黑字等。

LCD2004.png LCD1602.png
      第二种,是在第一种的基础上进行了一点简简单单的改造,在LCD屏幕后面加了一块协议转换板,一般是I2C/TWI转成并行控制。即I2C的LCD1602与LCD2004,这样就大大的简化了设备的连线与Arduino的IO口占用。但是由于Arduino IDE不断更新,导致了很多老版本的LiquidCrystal_I2C这个库(非Arduino的Example中的,需要外部导入)驱动显示屏的时候只能显示第一个字,比如显示"hello world",在显示屏上的效果只有h,后面的字符都没有了。这个也有解决方案,只要更新一下库版本即可,随后我会在附件中上传最新的库文件。
LCD1602_I2C.png
      第三种,Nokia 5110 LCD,这个屏幕是曾经诺基亚在一款手机上使用的屏幕,后面有大神专门写了一个库,来驱动,这个屏幕啥都好,就是太小了,导致容易“看瞎眼”。我也会在文末上传控制的Lib。
Nokia 5110 LCD.png
      第四种,就是大家比较喜欢的那种TFT啊,OLED啊,较大分辨率的LCD如LCD12864啊等,这种显示屏已经算是比较接近我们平时使用的显示屏了,但是相对的驱动非常复杂。但是也还要,一些支持触摸的TFT有人专门封装了适合的Lib,OLED等国外也有个神库叫u8glib和u8g2,这两个库支持的显示屏驱动IC非常多,当我们使用这些显示屏的时候,我们只需要查一下u8g支不支持这个,如果支持我们甚至可以基本不修改代码就去驱动显示屏,而且非常酷炫。我也会在文末上传这两个库。
OLED.png LCD12864.png Arduino TFT.png
      总结一下,其实想让Arduino去通过显示屏来显示数据是非常简单的一件事情,当然我们需要根据自己的项目需要选择合适的显示屏,以此来减少项目开发时间。我希望能通过这样的一篇帖子让大家简单的知道一下我们比较常见的显示屏。也能找到驱动这种显示屏驱动方式的道路。这才是非常关键的。
U8glib.zip (1.01 MB, 下载次数: 0)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐

关于我们

帮助中心

商务合作

点击这里给我发消息

关注微信公众号

Copyright © 2016-2017 i创学院 - 上海享渔教育科技有限公司 Powered by Discuz!     ( 沪ICP备16033954号-1 )