• Arduino基础入门—3.连接 IIC 1602 LCD显示文字


    1. IIC转接板介绍

    Arduino Uno R3开发板的外部IO口是非常有限的。在驱动LCD1602时,尽管我们的数据线使用了4线,相对于8线方式减少一半,但是在需要外接多种传感器的应用中,4线驱动还是占用了过多的IO。本篇介绍LCD1602的IIC驱动方式,通过IIC转接板使用IIC接口,只占用2个IO口就能驱动LCD1602。


    IIC「Inter-Integrated Circuit 集成电路总线」是一种串行通信总线,应用于板载低速设备间的通讯。由飞利浦公司开发的这一通讯协议,其目的就是为了简化系统硬件设计,减少设备间的连线。
    IIC串行总线有两根信号线,一根是双向的数字线SDA,另一根是时钟线SCL,每个IIC设备都有自己的地址,IIC总线上多个设备间通过设备地址进行区别。

     上图为本篇使用的IIC转接板,直接焊接于LCD1602。可通过跳线帽设置是否开启背光,通过蓝色电位器调节对比度。IIC设备地址可通过短路A0/A1/A2修改,默认地址0x27

    2. 安装驱动库

    在Arduino IDE中点击「项目」—「加载库」—「管理库」,查找「LiquidCrystal_I2C」,选择最新版本进行安装。(这个得慢慢找)

    查找库

    安装库

    3.实验材料

    • Uno R3开发板
    • 配套USB数据线
    • 面包板及配套连接线
    • LCD1602液晶屏带IIC转接板

    4.实验步骤

    4.1.电路连接。

    IIC转接板的VCC、GND分别连接开发板5V、GND,转接板的SDA、SCL连接开发板A4、A5。

    电路连接图

    为什么接A4、A5脚,这里可以参考 3.详解Arduino Uno开发板的引脚分配图及定义(重要且基础)

    对应到I2C版的

     这样就明白了吧?

    4.2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

     1 /*
     2  * LCD1602 IIC驱动
     3  */
     4 #include <Wire.h> 
     5 #include <LiquidCrystal_I2C.h>
     6 
     7 LiquidCrystal_I2C lcd(0x27,16,2);  //配置LCD地址及行列
     8 
     9 void setup()
    10 {
    11   lcd.init(); //初始化LCD
    12   lcd.backlight(); //打开背光
    13 }
    14 
    15 void loop()
    16 {
    17   lcd.setCursor(0,0);//设置显示位置
    18   lcd.print("hello ");//显示字符数据
    19   lcd.setCursor(0,1);//设置显示位置
    20   lcd.print("world !");//显示字符数据
    21 }

    4.3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

    程序下载

    5.实验现象

    可通过转接板蓝色电位器调节对比度,使LCD1602显示清晰。

    实验现象

  • 相关阅读:
    鳥哥的 Linux 私房菜——第十三章、学习 Shell Scripts(转发)(未完待续)
    鳥哥的 Linux 私房菜——第十六章、例行性工作排程 (crontab) (转发)(未完待续)
    RT-Thread ------ event 事件
    sscanf() ------ 获取字符串中的参数
    燃气热水器的调节
    Adobe Illustrator CC ------ AI脚本插件合集
    你真的理解CSS的linear-gradient?
    IDEA中Grep Console插件的安装及使用
    Windows下删除以.结尾文件夹的方法
    lwip库的发送和接收函数
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/11556440.html
Copyright © 2020-2023  润新知