2015年08月21日 星期五 10:19
1602液晶显示屏的“1602”的意思就是每行能够显示16个英文字符,总共可以显示两行。
传统的1602 LCD至少需要占用6个IO引脚才能驱动,在一些较为复杂的应用中,会造成IO引脚不够用的情况。
现在有厂商开发了一种I2C协议的转换板,并将其集成到1602显示屏上,这样我们就可以使用I2C协议来驱动1602显示屏了,I2C协议只需要占用两个IO引脚。
Arduino与显示屏I2C接口的连接关系如下:
显示屏的VCC连接Arduino的5V。
显示屏的GND连接Arduino的GND。
显示屏的SDA连接Arduino的A4。
显示屏的SCL连接Arduino的A5。
然后我们需要下载安装专用的Library,地址如下:
https://github.com/vanluynm/LiquidCrystal_I2C
我使用Arduino Nano和I2C显示屏做了一个简单的电压表,使用A1作为模拟输入,使用4.7K和220K的电阻作为分压电路,使用Arduino内部的1.1V基准电压,这样我的电压表的测量范围大概是0-52V。
程序代码如下:
经过一些测试,我发现这个电压表的精确度还是有问题的,目测误差有3%左右。
我的实验室电源的电压表是比较准确的,我已经使用万用表确认。分压电阻用的都是误差1%的金属膜电阻。所以我认为误差的来源应该是内部基准电压的误差。
有国外网友分析的文章可以参考,并建议使用专用的外部基准电压源。我手头没有这样的元器件,稍后再做进一步测试。
参考资料:
http://playground.arduino.cc/Code/LCDi2c
https://www.arduino.cc/en/Reference/LiquidCrystal
http://www.skillbank.co.uk/arduino/measure.htm
https://www.arduino.cc/en/Reference/AnalogReference
Zeuux © 2024
京ICP备05028076号