当前位置: 首页 > article >正文

集成必看!Air780E开发板集成EC11旋转编码器的可靠解决方案~

在现代电子设计中,集成各种传感器和控制器是提升项目功能性和用户体验的关键。Air780E开发板与EC11旋转编码器的结合,为你的项目提供了一个稳定且高效的解决方案。

  合宙支持LuatOS开发的模组型号,除本文介绍的Air780E外,
 还有Air780EPA、Air780EP、Air780EX、Air201、Air780EPT、Air780EPS等型号。

本文介绍的适配EC11旋转编码器的流程,同样也适用于这些型号。

但是要注意实际的接线方式,因为不同的模组引脚定义可能不同。

   

  • 关联文档和使用工具

    • LuatOS-Soc固件获取
    • 程序中使用函数讲解
    • Luatools下载调试工具

本文使用了更加通用的ec11.lua扩展例程库实现了编码器的功能。

(使用的不是demo中的程序,那个需要模块支持ioqueue才能使用。)

一、引言


在智能家居、音频设备或工业自动化领域,旋转编码器作为重要的输入设备,能够实现精确参数控制、人机交互优化以及系统集成自动化。

将EC11旋转编码器集成到合宙Air780E开发板上,无疑将大大增强设备的用户体验和功能性。

二、 准备工作

模块型号

①确认开发板状态:

确保Air780E开发板已连接电源,并通过长按pwrkey键1.5秒,使其进入开机及可编程状态。

②熟悉EC11编码器引脚:

EC11旋转编码器通常有五个引脚,包括VCC(电源正极)、GND(地线)、A相(信号输出1)、B相(信号输出2)以及SW(按键,可选)。明确这些引脚的功能和布局是成功集成的关键。

模块型号

三、程序实例

  • API说明

接口

ec11.init(GPIO_A,GPIO_B)

参数:

参数类型描述
numberGPIO_A A引脚对应的GPIO编号, 例如 GPIO6, 就写6
numberGPIO_B B引脚对应的GPIO编号, 例如 GPIO7, 就写7

返回值:无

  • 完整程序

在main.lua中添加如下程序

这里是完整的控制程序:

PROJECT = "ROTARY_TEST"
VERSION = "1.0.0"

-- 用法实例, 当前支持一定一脉冲
local ec11 = require("ec11")

-- 按实际接线写
local GPIO_A = 6
local GPIO_B = 7
ec11.init(GPIO_A,GPIO_B)

-- 演示接收旋转效果
local count = 0
local function ec11_callBack(direction)
    if direction == "left" then
        -- 往左选,逆时针
        count = count - 1
    else
        -- 往右旋,顺时针
        count = count + 1
    end
    log.info("ec11", direction, count)
end

sys.subscribe("ec11",ec11_callBack)

sys.run()

四、烧录运行

程序写好后,我们就可以把它烧录在Air780E开发板上了~

打开Luatools下载固件和脚本:LuatOS-Soc固件获取

根据步骤一步一步来,就烧录完成了~

五、效果展示

下载后旋转旋转编码器,可以到Luatools工具中打印旋转状态,来验证我们的程序是否能够成功运行。

烧录成功后,试着旋转EC11传感器,看下程序是否可以成功并且正确的读取到旋转状态。

通过图片中的展示效果来看,和我实际旋转EC11传感器旋转状态是一致的。

看到这样的结果,就是我们集成成功了!

 合宙支持LuatOS开发的模组型号,除本文介绍的Air780E外,
还有Air780EPA、Air780EP、Air780EX、Air201、Air780EPT、Air780EPS等型号。


本文介绍的适配EC11旋转编码器的流程,同样也适用于这些型号。但是要注意实际的接线方式,因为不同的模组引脚定义可能不同。

详细资料获取请点击: www.openluat.com 


http://www.kler.cn/news/362164.html

相关文章:

  • oracle数据库---基本查询(单表查询、多表查询、子查询、分页查询、oracle内置函数、行列转换、集合运算)
  • AI图像处理工具:开发者高阶用法与最佳实践
  • VMware下安装Centos 7.6
  • 鸿蒙开发:实现一个超简单的网格拖拽
  • 演示:基于WPF的DrawingVisual开发的高刷新率示波器
  • Q宠大乐斗批量好友添加器(基于python实现)
  • 二、Linux 系统命令
  • c++ 对象作用域
  • 代码随想录算法训练营第十九天|Day19二叉树
  • Python包——numpy2
  • 6,000 个网站上的假 WordPress 插件提示用户安装恶意软件
  • 前端 js 处理一个数组 展示成层级下拉样式
  • 理解和解决TCP 网络编程中的粘包与拆包问题
  • 【C++】创建TCP服务端
  • DLNA—— 开启智能生活多媒体共享新时代
  • 线性可分支持向量机的原理推导 9-23拉格朗日乘子α的最大化问题 公式解析
  • Spring中导致事务传播失效的情况(自调用、方法访问权限、异常处理不当、传播类型选择错误等。在实际开发中,务必确保事务方法正确配置)
  • 回溯法求解简单组合优化问题
  • 初学者怎么入门大语言模型(LLM)?
  • 微积分复习笔记 Calculus Volume 1 - 3.5 Derivatives of Trigonometric Functions
  • 11.学生成绩管理系统(Java项目基于SpringBoot + Vue)
  • rk3568 , rk3588, rtl8211F , 时钟的问题
  • MySQL--mysql的安装
  • 什么是CI/CD
  • 主机本地IP与公网IP以及虚拟机的适配器和WSL发行版的IP
  • 分布式异步任务框架Celery,如何实现代码实时监控