今天我们来讲解一个基于合宙Air780E开发板,集成ec11旋转编码器的实例。
合宙Air780E开发板是一款基于 Cat.1技术的物联网通信模组开发板,采用了移芯EC618平台,具有低功耗,全网通,多种接口支持等特点,支持AT指令和LuatOS二次开发。
EC11编码器能够进行:
- 参数控制:EC11编码器广泛用于各类仪器设备中,用于频率、音量、速度、温度、电压、菜单选择、光线强弱等参数的控制。它通过旋转来输入信号,进而调整设备的运行状态或参数。
- 旋转开关控制:它常用于控制面板、旋钮等设备中,通过旋转改变数字信号的状态,从而实现对设备的控制。例如,在音响设备中,用户可以通过旋转编码器来调节音量大小。
合宙支持LuatOS开发的模组型号,除本文介绍的Air780E外,
还有Air780EPA、Air780EP、Air780EX、Air201、Air780EPT、Air780EPS等型号。本文介绍的适配EC11旋转编码器的流程,同样也适用于这些型号。但是要注意实际的接线方式,因为不同的模组引脚定义可能不同。
关联文档和使用工具:
本文使用了更加通用的ec11.lua扩展例程库实现了编码器的功能。
(使用的不是demo中的程序,那个需要模块支持ioqueue才能使用。)
一、准备工作
-
准备Air780E开发板:
确保Air780E开发板已经连接好电源,长按pwrkey键 1.5s,让模块处于开机状态并且处于可编程状态。 -
确认EC11旋转编码器的引脚:
EC11旋转编码器通常具有五个引脚,分别是VCC(电源正极)、GND(地线)、A相(信号输出1)、B相(信号输出2)和SW(按键,可选)。
二、程序实例
接口:ec11.init(GPIO_A,GPIO_B)
参数:
返回值:无
在main.lua中添加如下程序
这里是完整的控制程序:
PROJECT = "ROTARY_TEST"
VERSION = "1.0.0"
-- 用法实例, 当前支持一定一脉冲
local ec11 = require("ec11")
-- 按实际接线写
local GPIO_A = 6
local GPIO_B = 7
--对应编码器A,B引脚
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工具中打印旋转状态,来验证我们的程序是否能够成功运行。
合宙支持LuatOS开发的模组型号,除本文介绍的Air780E外, 还有Air780EPA、Air780EP、Air780EX、Air201、Air780EPT、Air780EPS等型号, 本文介绍的适配EC11旋转编码器的流程,同样也适用于这些型号。但是要注意实际的接线方式,因为不同的模组引脚定义可能不同。
详细资料获取请点击: www.openluat.com