旋转电位器rotary-potentiometer4大积木块完整清单从初始化到获取方向【免费下载链接】CupCode_EC11旋转编码器模块此扩展适配于采用EC11的旋转编码器不支持按键。项目地址: https://gitcode.com/yuanshixiong/rotary-potentiometer旋转电位器rotary-potentiometer是基于源师兄扩展的EC11 旋转编码器积木编程扩展提供初始化、重置计数、获取值、获取方向 4 大积木块让你不写一行代码就能读取旋钮的旋转方向与计数。不同于普通电位器只能输出模拟值EC11 输出的是脉冲没有角度限制可以从任意位置向左/向右旋转。本文带你逐个看懂这 4 大积木块从接线到上手一步到位。EC11旋转编码器 4 大积木块速览清单#积木名称类型功能①EC11旋转编码器 | 初始化语句型设定 A/B 引脚、取值范围与步长创建编码器对象②EC11旋转编码器 | 重置计数为语句型一键把当前值设为指定数值清零/复位③EC11旋转编码器 | 获取值输出型读取当前旋转电位器计数值④EC11旋转编码器 | 获取方向输出型读取旋转方向顺时针 1、逆时针 -1、无旋转 04 个积木块统一定义在 blocksdef.js 中分类入口见 category.json底层驱动则是 library/ec11.py 里的EC11类自带严格消抖与加速计数。积木① 初始化先设定引脚与取值范围初始化积木ohcode_extend_ec11_init定义见 blocksdef.js要放在程序开头是其余 3 个积木的工作基础。参数很简单A连接到 / B连接到选择 CLKA 相、DTB 相引脚支持 P0、P1、P2、P5、P8、P11~P16最小值 / 最大值计数范围默认0~255当前值会被自动限制在这个区间内步长每次旋转的计数量默认1步长越大旋钮响应越快。 两个要点A/B 引脚不要与其他已占用引脚冲突若旋转方向与预期相反多半是 A/B 接反了。积木② 重置计数一键清零旋转电位器重置积木ohcode_extend_ec11_set_value定义见 blocksdef.js把当前值直接设为指定数值默认0。典型场景旋钮到达某个位置后归零重新计数。设置值会被自动限制在初始化设定的最小值~最大值之间无需担心越界。积木③ 获取值读取当前旋转电位器计数获取值积木ohcode_extend_ec11_get_value定义见 blocksdef.js是输出型积木可嵌入显示、比较或运算积木中读取当前计数值整数范围为初始化设定的最小值~最大值。音量调节、速度档位这类场景直接用它最合适。积木④ 获取方向判断顺时针还是逆时针获取方向积木ohcode_extend_ec11_get_direction定义见 blocksdef.js返回当前旋转方向1顺时针旋转-1逆时针旋转0无新的旋转。⚠️ 小提醒方向在每次旋转事件后只返回一次即复位需要持续判断方向时请在每次旋转后立即读取。旋转电位器接线与上手4 步跑通 EC11接线CLK/DT 分别接到积木中选择的两个数字引脚VCC 接 3.3 V/5 VGND 接地SW按键脚悬空即可本扩展不支持按键初始化程序开头放初始化积木选定 A/B 引脚与取值范围读取主循环中读获取值或获取方向执行调参、翻页等逻辑复位需要时放重置计数为清零当前值。完整接线对照表见 README.md。EC11 旋转编码器常见问题速查现象原因与解决办法旋转方向与预期相反A/B 两相接反交换 CLK/DT 接线或初始化时设reverseTrue读数偶发反向/抖动检查接线是否牢固、供电是否稳定建议 3.3 V 共地驱动已内置 5 次采样取多数、连续 3 次同向才确认的消抖逻辑library/ec11.py数值卡在边界不动当前值已达最小值/最大值被钳位调大初始化积木的最大值即可获取方向一直是 0方向每次旋转后只返回一次请在旋转后立即读取按键无效本扩展不支持 EC11 的按键SW功能请改用其他按键积木掌握这 4 个积木块就能覆盖 EC11 旋转编码器的全部基础功能想深入了解消抖与加速计数原理可阅读驱动实现 library/ec11.py。【免费下载链接】CupCode_EC11旋转编码器模块此扩展适配于采用EC11的旋转编码器不支持按键。项目地址: https://gitcode.com/yuanshixiong/rotary-potentiometer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
