IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【雕爷学编程】Arduino动手做(107)---PCF8574扩展板模块 -> 正文阅读

[嵌入式]【雕爷学编程】Arduino动手做(107)---PCF8574扩展板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程) 实验一百零七:IIC/I2C/接口 PCF8574 扩展板 LCD1602/LCD2004转接板模块

在这里插入图片描述

PCF8574
是CMOS电路,它通过两条双向总线可使大多数MCU实现远程I/O扩展。该器件包含一个8位准双向口和一个总线接口。pcf8574t 电流消耗很低,并且输出锁存,具有大电流驱动能力,可直接驱动LED。它还带有一种中断接线可与MCU的中断逻辑相连。通过INT发送中断信号,远端I/O口不必经过总线通信就通知MCU是否有数据从端口输入。这意味着 pcf8574t 可以作为一个单被控器。

在这里插入图片描述

PCF8574逻辑图

在这里插入图片描述

各P口输入输出简化示意图

在这里插入图片描述
PCF8574基本参数

工作温度范围:-40°C to +85°C

针脚数:16

封装类型:SOIC

工作温度最低:-40°C

工作温度最高:85°C

器件标号:8574

电源电压 最大:6V

电源电压 最小:2.5V

电源电流:40μA

芯片标号:8574

表面安装器件:表面安装

逻辑功能号:8574

控制接口:I2C

时钟频率:0.1MHz

输入/输出数:16

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这种用于双线双向总线(I2C)的8位输入/输出(I/O)扩展器设计用于2.5-V至6-V VCC操作。PCF8574通过I2C为大多数微控制器系列提供通用远程I/O扩展接口[串行时钟(SCL),串行数据(SDA)。该设备具有一个8位准双向I/O端口(P0–P7),包括带有大电流驱动的锁存输出直接驱动LED的能力。每个准双向I/O都可以用作输入或输出,而无需使用数据方向控制信号。开机时,I/O很高。在此模式下,只有VCC的电流源活跃。另一个强大的拉向VCC允许快速上升到重负荷输出边缘。这个装置转动当输出被写入高位并被SCL的负边缘关闭时打开。I/O应该很高,在用作输入之前。PCF8574提供了一个开漏输出(int),可以连接到微控制器。在输入模式下,端口输入的任何上升或下降沿都会产生中断。后续时间,tiv,int是有效的。当端口上的数据改变时,中断电路复位并重新激活从产生中断的端口读取或写入原始设置或数据。重置发生在在SCL信号上升沿后的确认位处的读取模式,或在SCL信号从高到低转换后的确认位。确认期间发生的中断由于在该脉冲期间中断复位,时钟脉冲可能丢失(或非常短)。每次变更复位后的I/O被检测到,并且在下一个上升时钟边缘之后,被发送。作为int读取,或者写入,另一个设备不影响中断电路。通过在这条线路上发送中断信号,远程I/O可以通知微控制器是否有输入数据在其端口上,无需通过I2C总线进行通信。因此,pcf8574可以保持简单的从机装置。

在这里插入图片描述
Arduino控制板IO口只有20个,加些传感器、SD卡啥的,继电器等模块多了,IO口就不够用了,原来的1602屏需要7个IO口才能驱动起来,这个模块可以帮你省5个IO口。

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

在这里插入图片描述
PCF8574模块电原理图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百零七:IIC/I2C/接口 PCF8574 扩展板 LCD1602/LCD2004转接板模块
项目一:扫描设备IIC地址,在串口上即可看到PCF8574的地址
这里查询结果是“0x27”(这个地址不对的话,实测无法烧录程序)
Arduino------PCF8574
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCL IIC 时钟线

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百零七:IIC/I2C/接口 PCF8574 扩展板 LCD1602/LCD2004转接板模块

项目一:扫描设备IIC地址,在串口上即可看到PCF8574的地址

这里查询结果是“0x27”(这个地址不对的话,实测无法烧录程序)

Arduino------PCF8574

5V-------------VCC

GND-----------GND

A4-----------SDA IIC 数据线

A5-----------SCL  IIC 时钟线

*/



#include <Wire.h>



void setup() {

  Serial.begin (115200); // Leonardo: wait for serial port to connect

  while (!Serial) { }

  Serial.println ();

  Serial.println ("I2C scanner. Scanning ...");

  byte count = 0;

  Wire.begin();

  for (byte i = 8; i < 120; i++) {

      Wire.beginTransmission (i);

      if (Wire.endTransmission () == 0) {

      Serial.print ("Found address: ");

      Serial.print (i, DEC);

      Serial.print (" (0x");

      Serial.print (i, HEX);

      Serial.println (")");

      count++;

      delay (1); // maybe unneeded?

      } // end of good response

  } // end of for loop

  Serial.println ("Done.");

  Serial.print ("Found ");

  Serial.print (count, DEC);

  Serial.println (" device(s).");

} // end of setup



void loop() {

  }

实验串口返回情况

在这里插入图片描述
实验场景图

在这里插入图片描述
实验开源仿真编程(Linkboy V4.63)程序之二

在这里插入图片描述
实验开源仿真编程(Linkboy V4.63)程序之三

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百零七:IIC/I2C/接口 PCF8574 扩展板 LCD1602/LCD2004转接板模块
项目四:扫描设备IIC地址,在LCD上输出"Welcome to Eagler8"
Arduino------PCF8574
5V-------------VCC
GND-----------GND
A4-----------SDA IIC 数据线
A5-----------SCL IIC 时钟线

/*

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)

实验一百零七:IIC/I2C/接口 PCF8574 扩展板 LCD1602/LCD2004转接板模块

项目四:扫描设备IIC地址,在LCD上输出"Welcome to Eagler8"

Arduino------PCF8574

5V-------------VCC

GND-----------GND

A4-----------SDA IIC 数据线

A5-----------SCL  IIC 时钟线

*/

#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()

{

}

实验模块接线示意图

在这里插入图片描述

实验场景图

在这里插入图片描述

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章           查看所有文章
加:2022-09-21 00:44:29  更:2022-09-21 00:48:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 2:04:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计