eagler8 发表于 2019-8-11 10:46:55

IIC/I2C接口LCD1602转接板
控制板IO口只有20个,加些传感器、SD卡啥的,继电器等模块多了,IO口就不够用了,原来的1602屏至少需要7个IO口才能驱动起来,这个模块可以帮你省5个IO口。

参数
1.供电电压:+5V
2.支持I2C协议
3.具有背光灯,和对比度调节电位器
4.4线输出更简单
5.设备地址:0x27

eagler8 发表于 2019-8-11 10:50:39



PCF8574
用于 I2C 总线的远程 8 位 I/O 扩展器,该8位输入/输出(I/O)扩展器用于双线双向总线(I2c),设计用于2.5-V至6-V VCC操作。PCF8574设备通过I2C接口[串行时钟(SCL)、串行数据(SDA)]为大多数微控制器系列提供通用远程I/O扩展。该设备具有一个8位准双向I/O端口(p0-p7),包括用于直接驱动LED的高电流驱动能力的锁存输出。每个准双向I/O可以用作输入或输出,而无需使用数据方向控制信号。通电时,I/O很高。在此模式下,只有VCC的电流源处于激活状态。

eagler8 发表于 2019-8-11 10:54:25

eagler8 发表于 2019-8-11 10:56:37

eagler8 发表于 2019-8-11 10:58:37

主要特性
1、最大10微安的低待机电流消耗
2、I2c到并行端口扩展器
3、开漏中断输出
4、与大多数微控制器兼容
5、高电流驱动的锁存输出
6、直接驱动LED的能力
7、锁存性能超过100 mA
8、根据JASD 78,二级

eagler8 发表于 2019-8-11 11:02:43

eagler8 发表于 2019-8-11 11:18:28

应用于智能门锁示意图

eagler8 发表于 2019-8-11 11:57:44

/*
【Arduino】66种传感器模块系列实验(88)
    实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
项目一:寻找查询设备IIC地址,在串口上即可看到1602的地址
这里查询结果是“0x27”(这个地址不对的话,实测无法烧录程序)
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCLIIC 时钟线
*/

#include <Wire.h>

void setup(){
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop(){
byte error, address;
int nDevices;
Serial.println("Eagler8 Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++ ){
   
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
    if (error == 0){
      Serial.print("I2C device found at address 0x");
      if (address < 16)
      Serial.print("0");
      Serial.print(address, HEX);
      Serial.println(" !");
      nDevices++;
    }else if (error == 4){
      Serial.print("Unknow error at address 0x");
      if (address < 16)
      Serial.print("0");
      Serial.println(address, HEX);
    }
}
if (nDevices == 0)
    Serial.println("No I2C devices found\n");
else
    Serial.println("done\n");
delay(5000);
}

eagler8 发表于 2019-8-11 11:59:51

eagler8 发表于 2019-8-11 12:09:35

/*
【Arduino】66种传感器模块系列实验(88)
实验八十八: LCD1602A液晶屏5V显示模块(IIC/I2C接口)
项目二:显示字符“Welcome to Eagler8”
Arduino------LCD1602
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCLIIC 时钟线
*/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

void MyPrintLCD(String MyString)
{
for (int i=0;i<MyString.length();i++)
lcd.write(MyString.charAt(i));
    }
   
void setup()
{
lcd.init();
lcd.backlight();
MyPrintLCD("Welcome to ");
lcd.setCursor(0,1);
MyPrintLCD("         Eagler8");
}

void loop()
{
}

eagler8 发表于 2019-8-11 12:11:42

eagler8 发表于 2019-8-11 12:39:17

eagler8 发表于 2019-8-11 12:45:08

eagler8 发表于 2019-8-11 12:46:58

eagler8 发表于 2019-8-11 12:49:15

页: 102 103 104 105 106 107 108 109 110 111 [112] 113 114 115 116 117 118 119 120 121
查看完整版本: 【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)