“实验三十二:LCD1602 IIC显示实验”的版本间的差异

来自丢石头百科
第3行: 第3行:
 
== 模块说明 ==
 
== 模块说明 ==
 
=== 对比度调节 ===
 
=== 对比度调节 ===
*通过蓝色电位器调节对比度,蓝色电位器朝上,顺时针减弱,逆时针增强。其中:
+
*通过在VO引脚接入电位器进行对比度调节,其中:
**电位器顺时针选择到底,显示:
+
**对比度最大时显示:
**
+
***[[File:实验三十二:LCD1602 IIC显示实验_对比度1.png|400px]]
**电位器逆时针选择到底,显示:
+
**对比度最小时显示:
***
+
***[[File:实验三十二:LCD1602 IIC显示实验_对比度2.png|400px]]
 
*当调节电位器至合适位置后,显示如下情况时:
 
*当调节电位器至合适位置后,显示如下情况时:
*
+
**[[File:实验三十二:LCD1602 IIC显示实验_对比度3.png|400px]]
 
**检查接线是否松动
 
**检查接线是否松动
**检查IIC设备地址是否设置正确
 
 
**检查初始化程序是否正确
 
**检查初始化程序是否正确
  
 
=== 背光选择 ===
 
=== 背光选择 ===
*可通过一位拨码开关设置是否带背光灯。
+
*可通过A K引脚是否接入VCC和GND,来控制是否背光显示。
**拨码开关拨向ON时,打开背光
+
**引脚A接入VCC,引脚K接入GND,打开背光时
***
+
***[[File:实验三十二:LCD1602 IIC显示实验_背光2.png|400px]]
**拨码开关拨向OFF时,关闭背光
+
**引脚A断开VCC或者引脚K端开GND,关闭背光时
***
+
***[[File:实验三十二:LCD1602 IIC显示实验_背光1.png|400px]]
  
 
=== 地址选择 ===
 
=== 地址选择 ===
 
*设备地址可通过三位拨码开关A0、A1、A2进行修改,具体如下:
 
*设备地址可通过三位拨码开关A0、A1、A2进行修改,具体如下:
*
+
*[[File:实验三十二:LCD1602 IIC显示实验.png|600px]]
A2 A1 A0 IIC地址
 
十六进制 十进制
 
0 0 0 0x20 32
 
0 0 1 0x21 33
 
0 1 0 0x22 34
 
0 1 1 0x23 35
 
1 0 0 0x24 36
 
1 0 1 0x25 37
 
1 1 0 0x26 38
 
1 1 1 0x27 39
 
  
 
== Arduino ==
 
== Arduino ==
 
=== 电路连接 ===
 
=== 电路连接 ===
*
+
*[[File:实验三十二:LCD1602 IIC显示实验_接线1.png|400px]]
LCD1602 LCD1602 IIC模块 Arduino UNO R3
 
GND GND VCC VCC
 
VCC VCC
 
VO VO
 
RS RS
 
RW RW SCL SCL
 
 
 
EN EN
 
D0 D0
 
D1 D1
 
D2 D2 SDA SDA
 
 
 
D3 D3
 
D4 D4
 
D5 D5
 
D6 D6 GND GND
 
D7 D7
 
K K
 
A A
 
 
 
  
 
=== 扫描设备IIC地址 ===  
 
=== 扫描设备IIC地址 ===  
第118行: 第87行:
 
== 树莓派 ==
 
== 树莓派 ==
 
=== 电路连接 ===
 
=== 电路连接 ===
*
+
*[[File:实验三十二:LCD1602 IIC显示实验_接线2.png|400px]]
LCD1602 LCD1602 IIC模块 Raspberrypi
+
BCM编号 物理引脚序号
 
GND GND VCC 3.3V 3.3V
 
VCC VCC
 
VO VO
 
RS RS
 
RW RW SCL SCL 5
 
EN EN
 
D0 D0
 
D1 D1
 
D2 D2 SDA SDA 3
 
D3 D3
 
D4 D4
 
D5 D5
 
D6 D6 GND GND GND
 
D7 D7
 
K K
 
A A
 
 
=== 程序运行 ===
 
=== 程序运行 ===
 
==== Python ====
 
==== Python ====

2024年12月6日 (五) 11:42的版本

模块说明

对比度调节

  • 通过在VO引脚接入电位器进行对比度调节,其中:
    • 对比度最大时显示:
      • 实验三十二:LCD1602 IIC显示实验 对比度1.png
    • 对比度最小时显示:
      • 实验三十二:LCD1602 IIC显示实验 对比度2.png
  • 当调节电位器至合适位置后,显示如下情况时:
    • 实验三十二:LCD1602 IIC显示实验 对比度3.png
    • 检查接线是否松动
    • 检查初始化程序是否正确

背光选择

  • 可通过A K引脚是否接入VCC和GND,来控制是否背光显示。
    • 引脚A接入VCC,引脚K接入GND,打开背光时
      • 实验三十二:LCD1602 IIC显示实验 背光2.png
    • 引脚A断开VCC或者引脚K端开GND,关闭背光时
      • 实验三十二:LCD1602 IIC显示实验 背光1.png

地址选择

  • 设备地址可通过三位拨码开关A0、A1、A2进行修改,具体如下:
  • 实验三十二:LCD1602 IIC显示实验.png

Arduino

电路连接

  • 实验三十二:LCD1602 IIC显示实验 接线1.png

扫描设备IIC地址

实验现象

  • 串口打印PCF8574的地址

主要程序

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
 
LiquidCrystal_I2C lcd(0x20,16,2);  //此处修改IIC地址
 
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景等亮
}
 
void loop()
{
  lcd.setCursor(0,0);                //设置显示指针
  lcd.print("LCD1602 iic Test");     //输出字符到LCD1602上
  lcd.setCursor(0,1);
  lcd.print("      by DIUSTOU");
  delay(1000);
}
 

LCD显示

实验现象

  • LCD1602第一行显示LCD1602 iic Test
  • LCD1602第二行显示by Diustou

主要程序

//LingShun lab
#include <Wire.h> 
#include <LiquidCrystal_I2C.h> //引用I2C库
 
LiquidCrystal_I2C lcd(0x20,16,2);  //此处修改IIC地址
 
void setup()
{
  lcd.init();                  // 初始化LCD
  lcd.backlight();             //设置LCD背景等亮
}
 
void loop()
{
  lcd.setCursor(0,0);                //设置显示指针
  lcd.print("LCD1602 iic Test");     //输出字符到LCD1602上
  lcd.setCursor(0,1);
  lcd.print("      by DIUSTOU");
  delay(1000);
}

树莓派

电路连接

  • 实验三十二:LCD1602 IIC显示实验 接线2.png

程序运行

Python

  • 安装gpiozero库
    • 可以使下面命令来安装该库
sudo apt update
sudo apt install python3-gpiozero
  • 其它树莓派上的系统可以使下面命令来安装该库:
sudo pip3 install gpiozero
  • 运行以下语句可以查看树莓派GPIO口定义
pinout
  • 打开IIC接口
sudo raspi-config
选择Interfaces oOptions -> I2C -> “Would you like the ARM I2C interface to be enabled?”选择Yes -> “The ARM I2C interface isenabled” 选择OK -> 选择finish
  • 关闭树莓派。断电情况下,根据提供的电路连接将对应模块接入电路,启动树莓派
  • 查询LCD1602的地址
ls /dev/i2c-*
sudo i2cdetect -y 1                
  • 下载树莓派参考例程,将文件解压后拷贝放在用户名目录下,运行
cd raspberrypi/32/python_gpiozero
python Display.py
  • 此时可看见树莓派在正确运行程序,若想退出,按ctrl+C即可
  • 更多指令请查看gpiozero文档

例程下载

相关例程

Arduino和树莓派基础实验套件例程
教程名2
  • 列表2
教程名3
  • 列表3
教程名4
  • 列表4
教程名5
  • 列表5
教程名6
  • 列表6