Arduino STM32操作旋转编码器详细教程

1.材料清单

STM32F103C8T6开发板(黑色板)、旋转编码器、microUSB数据线、导线及面包板

2.旋转编码器原理

旋转编码器是一种位置传感器,用于确定旋转轴的角位置,它根据旋转运动生成模拟或数字电信号。旋转编码器有许多不同类型,它们根据输出信号或传感技术进行分类。我们将使用的旋转编码器是增量式旋转编码器,如下图,它是测量旋转的最简单的位置传感器。

方波脉冲的产生方式如下:编码器的磁盘上有均匀分布的接触区,分别连接到公共引脚C和另外两个单独的接触引脚A和B

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Arduino中使用LVGL控制旋转编码器和滑动条,您需要按照以下步骤进行操作: 1. 安装LVGL库并在Arduino IDE中打开示例程序。 2. 连接旋转编码器到您的Arduino板上。旋转编码器通常有三个引脚:一个用于地线,一个用于电源,另一个用于输出信号。将地线引脚连接到Arduino板上的GND引脚,将电源引脚连接到3.3V或5V引脚,将输出引脚连接到任意数字引脚(例如,D2)。 3. 在Arduino IDE中打开示例程序,找到并打开`demo_widgets.c`文件。 4. 在文件中找到`slider`小部件的定义。它应该类似于以下内容: ``` lv_obj_t * slider; slider = lv_slider_create(lv_scr_act(), NULL); lv_obj_set_width(slider, LV_DPI * 2); lv_obj_align(slider, NULL, LV_ALIGN_CENTER, 0, 0); ``` 5. 在`slider`小部件的定义下方添加以下代码: ``` lv_group_t* group = lv_group_create(); lv_group_add_obj(group, slider); lv_indev_t* indev_rotary = lv_indev_create(); lv_indev_set_type(indev_rotary, LV_INDEV_TYPE_ENCODER); lv_indev_set_group(indev_rotary, group); ``` 6. 这将创建一个新的`lv_group_t`对象,并将滑动条添加到组中。然后,创建一个新的输入设备对象,并将其类型设置为旋转编码器。最后,将输入设备对象添加到组中。 7. 保存文件并上传到您的Arduino板上。现在,您应该能够使用旋转编码器控制滑动条了。 请注意,您可能需要进行一些调整,以便旋转编码器能够正确地与LVGL库进行交互。具体来说,您可能需要调整旋转编码器旋转方向,以便它可以正确地递增或递减滑动条的值。您可以通过调整`lv_indev_set_rot_dir(indev_rotary, LV_INDEV_ROT_DIR_...)`函数的参数来实现这一点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值