BPI-M2 Berry使用LCD1602显示文字

作者: 可乐丸子
上传时间为: 2017-10-10 09:02 AM
2017-10-10
阅读:
香蕉派BPI-M2 Berry开发板配备的40针类似于树莓派的GPIO扩展接口,扩展接口里面有I2C接口(SDA SCL)支持,我们可以使用I2C通讯接口来驱动LCD1602显示屏加IIC转换板,方法如下
首先是LCD1602的硬件连接方法
timg.jpg
LCD1602显示屏和转换板按如下图焊接
77.jpg
然后吧转换板的SDA SCL GND VCC连接到BPI-M2 Berry的SDA SCL GND VCC,接着给开发板上电,登陆后打开终端,ubuntu固件需要输入下面命令安装组件,树莓派固件不需要
  1. sudo apt-get install i2c-tools python-smbus
2017-10-03_193035.png
接着查看LCD1602连接的I2C的位置
  1. ls /dev

2017-10-03_193054.png
可以看到有i2c-0 i2c-1 i2c-2 i2c-4,依次使用下面命令测试直到找到lcd1602地址码

  1. i2cdetect -y 数字

可知LCD1602的地址码为3f
2017-10-03_193129.png
接着创建一个lcd1602显示脚本lcd1602_txt.py

  1. vi lcd1602_txt.py

输入下面代码

  1. import smbus
  2. import time
  3. bus = smbus.SMBus(2)
  4. addr = 0x3f
  5. def writeCommand(command):
  6. bus.write_byte(addr, 0b1100 | command << 4)
  7. time.sleep(0.005)
  8. bus.write_byte(addr, 0b1000 | command << 4)
  9. time.sleep(0.005)
  10. def writeWord(word):
  11. for i in range(0,len(word)):
  12. asciiCode = ord(word[i])
  13. bus.write_byte(addr, 0b1101 |(asciiCode >> 4 & 0x0F) << 4)
  14. time.sleep(0.0005)
  15. bus.write_byte(addr, 0b1001 |(asciiCode >> 4 & 0x0F) << 4)
  16. time.sleep(0.0005)
  17. bus.write_byte(addr, 0b1101 |(asciiCode & 0x0F) << 4)
  18. time.sleep(0.0005)
  19. bus.write_byte(addr, 0b1001 | (asciiCode & 0x0F) << 4)
  20. time.sleep(0.0005)
  21. # init
  22. writeCommand(0b0010)
  23. # 4-byte mode, 2 line code
  24. writeCommand(0b0010)
  25. writeCommand(0b1111)
  26. # set cursor mode
  27. writeCommand(0b0000)
  28. writeCommand(0b1100)
  29. # cursor shift mode
  30. writeCommand(0b0000)
  31. writeCommand(0b0110)
  32. writeWord("Hello World")
  33. clear = True
  34. time.sleep(1)
  35. while(1):
  36. # first line first column
  37. writeCommand(0b1000)
  38. writeCommand(0b0000)
  39. writeWord("eeboard BBS test")
  40. # second line first column
  41. writeCommand(0b1100)
  42. writeCommand(0b0000)
  43. writeWord("www.eeboard.com")
  44. time.sleep(0.2)

保存修改后输入下面命令运行

  1. sudo python lcd1602_txt.py

复制代码LCD1602液晶屏显示如下
IMG_9202.JPG

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示