05-I2C控制LCD1602
I2C控制LCD1602一、简介二、具体实现逻辑一、简介什么是LCD1602LCD是显示方式LCD液晶显示器。每行可以显示16个字符一共可以显示2行。一般来说LCD1602有16个IO口控制它就需要16个引脚。但是这次购买的套件中通过I2C芯片进行了适配大大减少了引脚的占用从16个变少到了2个。I2C介绍(Inter-Intergrated Circuit)中文名称 集成电路总线它是一种串行通信总线适用于主-从架构。功能包括减少引脚占用只需要两个IO引脚所有组件之间都存在简单的主-从关系。连接到总线的每一个设备都可以通过唯一的地址进行软件寻址I2C是真正的多主设备总线可以提供仲裁和冲突检测传输速度标准模式-100Kbps快速模式-400Kbps高速模式-3.4Mbps超快速模式-5Mbps最大连接设备数无限制最大从机设备数127二、具体实现逻辑当前控制LCD1602的逻辑是这样的ESP32–I2C协议–PCF8574–LCD屏幕PCF8574接收I2C数据控制8个IO引脚的输出下图是连接方式MicroPython官网也有对I2C通信的描述frommachineimportPin,SoftI2C# 按照具体的连接方式定义好对应的scl和sda引脚通信频率 标准频率100Kbpsi2cSoftI2C(sclPin(12),sdaPin(13),freq100000)print(i2c.scan())# 扫描总线上出现的设备# 打印 [39]这里0x2716进制的39其实是I2C的默认地址它的值是由PCF8574芯片配置引脚的高低电平决定的给图中的A0-A2配置不同的阻值就能改变他的地址这里直接使用了普中的I2C驱动LCD的代码使用它们大大的简化了操作其中内容的复杂度。https://gitee.com/hong-shengquan/esp32/blob/master/Code/LCD1602/i2c_lcd.pyhttps://gitee.com/hong-shengquan/esp32/blob/master/Code/LCD1602/lcd_api.py直接将两个文件导入到ESP32中通过代码引用它们即可frommachineimportPin,SoftI2Cimporttimefromi2c_lcdimportI2cLcd# 按照具体的连接方式定义好对应的scl和sda引脚通信频率 标准频率100Kbpsi2cSoftI2C(sclPin(12),sdaPin(13),freq100000)print(i2c.scan())# 扫描总线上出现的设备DEFAULT_ADDR0x27# lcd对应的标准i2c对象 地址 几行lcd 每行对少个字符lcdI2cLcd(i2c,DEFAULT_ADDR,2,16)foriinrange(0,100):#lcd.clear()lcd.putstr(loading---{}%\n.format(i))lcd.putstr(Please wait.\n)#time.sleep_ms(1)可以看到这里的实现是非常简单的因为两个驱动代码已经封装好了基础功能此外I2cLcd还提供了其他的一些功能如移动光标、开关背光等。可以查看源码自行试验相关资料、代码

相关新闻

7个快捷键组合让CVAT标注效率提升300%:从鼠标依赖到键盘大师的蜕变之路

7个快捷键组合让CVAT标注效率提升300%:从鼠标依赖到键盘大师的蜕变之路

7个快捷键组合让CVAT标注效率提升300%:从鼠标依赖到键盘大师的蜕变之路 【免费下载链接】cvat Computer Vision Annotation Tool (CVAT) is a leading platform for building high-quality visual datasets for vision AI. It offers open-source, cloud, and enter…

2026/8/23 19:03:44 阅读更多 →
MySQL 8.0.35 主从复制搭建笔记(传统位置点主从复制)

MySQL 8.0.35 主从复制搭建笔记(传统位置点主从复制)

基于二进制包最小化安装,传统位置点主从复制 主库:192.168.195.141从库:192.168.195.1421. 环境信息项目主库 (Master)从库 (Slave)IP192.168.195.141192.168.195.142OSKylin Linux Advanced Server V10 (Halberd)Kylin Linux Advanced Serve…

2026/8/26 4:57:00 阅读更多 →
股票池每天都在换:用Jaccard距离检查选股信号稳定性

股票池每天都在换:用Jaccard距离检查选股信号稳定性

股票池每天都换一批,往往意味着选股规则对数据或阈值很敏感。牛股王股票这类面向普通投资者的量化辅助软件,适合把因子组合、调仓周期和提醒记录对应起来;聚宽方便用Python保存每日股票池;PTrade进入券商侧任务环境后,…

2026/8/24 6:20:30 阅读更多 →

最新新闻

智能绕线系统设计:张力闭环与工艺建模实战指南

智能绕线系统设计:张力闭环与工艺建模实战指南

1. 项目概述:这不是“自动绕线机”,而是一套能听懂工艺、会自我校准、可追溯每圈铜线张力的智能系统 “变压器的智能绕线功能系统设计”——光看标题,很多人第一反应是“不就是给绕线机加个PLC控制?”或者“是不是装了个摄像头做视…

2026/8/27 11:27:54 阅读更多 →
从物理动力学到策略优化:自行车运动员能量建模与MATLAB实现

从物理动力学到策略优化:自行车运动员能量建模与MATLAB实现

1. 从一道赛题到一套方法论:自行车运动员能量特征建模的深度复盘去年带学生备赛美赛,A题“自行车运动员的能量特征”让不少队伍直呼“物理劝退”。题目本身并不复杂,核心是建立一个数学模型,描述运动员在给定功率输出下&#xff0…

2026/8/27 11:27:54 阅读更多 →
三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南

三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南

三分钟让 Axure RP 全变中文:axure-cn 中文语言包安装、验收与避坑完整指南 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-c…

2026/8/27 11:27:54 阅读更多 →
ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行

ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行

ncmdump 使用教程:拖一个 NCM 文件就能转出 MP3,单首或整张专辑都行 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你从网易云音乐下载的歌曲,不少是 NCM 格式的——这是网易的加密音频格式&…

2026/8/27 11:27:54 阅读更多 →
Go语言方法值 vs 方法表达式:区别、应用与最佳实践

Go语言方法值 vs 方法表达式:区别、应用与最佳实践

相信绝大多数 Go 开发者都写过这样的代码:把一个方法赋值给一个变量,然后像普通函数一样调用它。比如 f : obj.Method ,这个 f 在 Go 里叫 方法值(method value) 。但很多人第一次看到 T.Method(obj) 这种写法…

2026/8/27 11:27:54 阅读更多 →
Full-Bridge 600V/3.5A SiP高压驱动芯片:电机驱动与逆变器设计核心

Full-Bridge 600V/3.5A SiP高压驱动芯片:电机驱动与逆变器设计核心

1. 产品全貌与设计密码:Full-Bridge 600V/3.5A Power Driver 到底解决了什么做电机驱动和电源设计的人,手里只要有一款集成了栅极驱动和功率级的Full-Bridge驱动器,而且直接以SiP(System in Package,系统级封装&#x…

2026/8/27 11:26:53 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →