本项目基于 ESP32 开发板,使用 FreeRTOS 实现对 EC11 旋转编码器的读取和处理。
- 通过 GPIO 中断捕获 EC11 编码器的旋转信号。
- 使用 FreeRTOS 信号量和任务处理旋转方向及位置。
- 支持顺时针和逆时针旋转检测,并实时打印旋转位置。
编码器引脚 | ESP32 GPIO 引脚 |
---|---|
A | GPIO4 |
B | GPIO5 |
注意:请确保为编码器引脚启用上拉电阻。
- ESP-IDF 开发框架
- FreeRTOS(ESP-IDF 内置)
- 安装 ESP-IDF。
- 配置项目:
idf.py set-target esp32-s3 idf.py menuconfig
- 编译项目:
idf.py build
- 烧录固件:
idf.py flash
- 监控串口输出:
idf.py monitor
- 连接 EC11 编码器到 ESP32 的 GPIO4 和 GPIO5。
- 编译并烧录程序到 ESP32。
- 通过串口监控器查看编码器的旋转方向和位置变化。
顺时针旋转:
I (1234) EC11_ENCODER: Rotated Clockwise, Position: 1
逆时针旋转:
I (5678) EC11_ENCODER: Rotated Counterclockwise, Position: 0
确保 GPIO 引脚配置正确。
如果信号不稳定,可以尝试调整硬件电路或增加软件去抖动逻辑。