【雕爷学编程】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------PCF85745V-------------VCCGND-----------GNDA4-----------SDA IIC 数据线A5-----------SCL IIC 时钟线*/#include <Wire.h>void setup() {Serial.begin (115200); // Leonardo: wait for serial port to connectwhile (!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 loopSerial.println ("Done.");Serial.print ("Found ");Serial.print (count, DEC);Serial.println (" device(s).");} // end of setupvoid 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------PCF85745V-------------VCCGND-----------GNDA4-----------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(){}
实验模块接线示意图
实验场景图
【雕爷学编程】Arduino动手做(107)---PCF8574扩展板模块相关推荐
- 【雕爷学编程】Arduino动手做(16)---数字触摸传感器
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 「雕爷学编程」Arduino动手做(15)——手指侦测心跳模块
37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...
- 《花雕学AI》01:尝试使用新必应制作《雕爷学编程》的栏目介绍
跨年头尾三个月,花雕走完塔克拉玛干沙漠回来后,突然发现世界变了,微软投资的ChatGPT火起来了,特别是升级的ChatGPT4.0,更是异常火热!这一个多月来,人工智能AI突然爆发,能做的事情太多了, ...
- 【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- arduino 土壤温湿度传感器_【雕爷学编程】Arduino动手做(70)---土壤湿度传感器...
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- arduino loar_「雕爷学编程」Arduino动手做(15)---手指侦测心跳传感器
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的 ...
- 【雕爷学编程】Arduino动手做(73)---TM1637四位数码管
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- 【雕爷学编程】Arduino动手做(79)---MQ135空气检测模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
- 【雕爷学编程】Arduino动手做(86)---4*4位 WS2812 全彩模块
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...
最新文章
- mysql 本地备份_MYSQL数据库自动本地/异地双备份/MYSQL增量备份
- c语言习题与实验doc,[教材]C语言程序设计习题与上机实验(全部答案).doc
- CNNIC发布“网域”DNS系列产品了
- 学python好找工作么-学完Python好找工作吗?为什么有人学完还找不到工作?
- linux安装socket.io,ubuntu – 如何在node.js npm服务器上查看socket.io版本
- Ogre读取中文路径名的文件失败的解决办法
- 如何让你的webapp也能跳窗口搜索
- Java中将List中的值赋给另一个List几种方法实现
- 【STM32】DMA程序示例
- .Net 下高性能分表分库组件-连ShardingCore接模式原理
- Java内存模型又回来了
- 消息中间件的 Style
- 史上最全SpringCloud2.0视频教程
- PHP图片高清晰度无损压缩
- 河南巴旦木生态农业:巴旦木与杏仁有哪些不同,如何分辨巴旦木仁与杏仁?
- 两个运放制作加法器_初级模拟电路:8-2 加法与减法电路
- 随感10-Transecndence超验骇客
- Word里输入上下标五种方法
- 统驭科目(Reconciliation account)
- 防止域名被劫持的七种方法域名被劫持怎么办
热门文章
- 【Leetcode-算法】844. 比较含退格的字符串(C++)
- 顶会 INFOCOM 巴黎进行时,最高荣誉花落微软老将
- fmdb(FMDatabase) 数据库总结
- linux libuv,libuv queue的实现
- 好问题:为什么有些大公司技术弱爆了?
- 高地址和低地址、高字节低字节、大小端模式(及如何互换),存储顺序(!!)
- JavaScript canvas
- window10下运行激活软件时会提示病毒文件,并且自动删除问题
- unity抠人像原理_PS 抠人像如何抠得干净?
- 百度百科怎么引流?如何进行百度百科推广?百度百科推广怎么做?