首页 > 其他分享 >合宙Air780E开发板集成EC11旋转编码器实战指南

合宙Air780E开发板集成EC11旋转编码器实战指南

时间:2024-08-19 10:54:05浏览次数:14  
标签:编码器 合宙 ec11 旋转 开发板 Air780E EC11

合宙Air780E开发板,作为一款基于Cat.1技术的物联网通信模组开发板,依托移芯EC618平台,以其低功耗、全网通及丰富的接口支持特性,它支持AT指令和LuatOS二次开发,在物联网领域展现出了强大的竞争力。

今天我们来讲解一个基于Air780E开发板,集成ec11旋转编码器的实例。

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

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

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

     关联文档和使用工具:


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

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

一、引言

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

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

二、准备工作

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

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

三、程序实例

  • API说明

接口: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工具中打印旋转状态,来验证我们的程序是否能够成功运行。

 

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

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

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

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


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

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

 

 

标签:编码器,合宙,ec11,旋转,开发板,Air780E,EC11
From: https://blog.csdn.net/zibo_yun/article/details/141222721

相关文章

  • 从质疑到相见恨晚,合宙Air780EP智能照明初体验
    最近,老板接到一个大订单,让我开发一款智能照明灯的项目。 为了让产品更具特色,要求添加4G联网功能,并且能够根据环境光的颜色和亮度自动调整照明设备的色温和亮度,使光线更加舒适自然。老板特别交代项目紧急,要我尽快完成开发。我心里有些担大梁的期待,又有些赶时间的无奈。身为打......
  • 合宙Air780EP模组LuatOS脚本开发MQTT应用示例
    本文详细讲解了基于合宙Air780EP模组LuatOS开发的多个MQTT应用示例。本文同样适用于合宙的以下型号:Air780EPA/Air780EPT/Air780EPSAir780E/Air780EX/Air201…一、相关准备工作1.1硬件准备合宙EVB_Air780EP开发板一套,包括天线、SIM卡;USB线PC电脑1.2软件准备登录合宙......
  • x264 编码器像素运算系列:satd 函数
    x264编码器中像素运算在x264编码器中有多种像素间的运算,如下:sad计算:SAD(SumofAbsoluteDifferences,绝对差值和)是一种在图像处理和视频编码中常用的度量,用于计算两个图像块之间的差异。SAD值越小,表示两个图像块越相似。hadamard_ac计算:用于计算Hadamard变换后非零......
  • VL16 使用8线-3线优先编码器Ⅰ实现16线-4线优先编码器
    `timescale1ns/1nsmoduleencoder_83(input[7:0]I,inputEI,outputwire[2:0]Y,outputwireGS,outputwireEO);assignY[2]=EI&(I[7]|I[6]|I[5]|I[4]);assignY[......
  • 超低功耗模式在合宙模组中的应用与配置
    随着物联网技术的飞速发展,设备功耗成为影响系统稳定性和续航能力的重要因素。合宙科技推出的多款模组,如Air780E&600E(EC618平台)、780EP系列(EC718平台)、以及780EL_780ET_700EL_700ET系列(EC716S平台),均支持超低功耗模式,以满足不同应用场景下的节能需求。本文将详细介绍两种主要的低......
  • VL13 优先编码器电路
     `timescale1ns/1nsmoduleencoder_0(  input   [8:0]    I_n ,    outputreg[3:0]    Y_n );always@(*)begin  casex(I_n)  9'b1_1111_1111:Y_n=4'b1111;  9'b0_xxxx_xxxx:Y_n=4'b0110;  9'b1_0xxx......
  • 机器学习笔记:编码器与解码器
    目录介绍组成结构代码实现编码器解码器合并编码器-解码器思考介绍在机器翻译中,输入的序列与输出的序列经常是长度不相等的序列,此时,像自然语言处理这种直接使用循环神经网络或是门控循环单元的方法就行不通了。因此,我们引入一个新的结构,称之为“编码器-解码器”(Enco......
  • 医学图像分割的基准:TransUnet(用于医学图像分割的Transformer编码器)器官分割
    1、TransUnet介绍TransUnet是一种用于医学图像分割的深度学习模型。它是基于Transformer模型的图像分割方法,由AI研究公司HuggingFace在2021年提出。医学图像分割是一项重要的任务,旨在将医学图像中的不同结构和区域分离出来,以便医生可以更好地诊断和治疗疾病。传统的医学......
  • 编码器和解码器
    编码器在编码器的接口中,我们只指定长度可变的序列作为编码器的输入X。任何继承自Encoder基类的模型将完成代码实现。fromtorchimportnn#@saveclassEncoder(nn.Module):"""编码器-解码器架构的基本编码器接口"""def__init__(self,**kwargs):super(En......
  • 一维变分自动编码器的错误重建
    我想实现一个变分自动编码器,它将一维Numpy数组(声音文件的波形)作为输入。运行该文件不会引发错误,但损失收敛到2000左右,并且重建看起来像纯粹的噪声。我使用了Goffinet等人的代码并尝试重写它以采用一维输入,因为我之前使用过他们的(二维)VAE。这是网络和转发功能的......