首页 动态 版块 商城 我的
 退出
游客  
等级:
金币:
经验值:

电子积木旋转电位器模拟旋钮模块 Python/C++编程 树莓派与ESP32使用例程

  50 
 1
 4
趣    
文章主图

一:旋转电位器介绍

电位器模块采用常见的单圈碳膜旋转电位器(通常带有旋钮帽),旋转的圈数与电阻值变化的输出相对应。可通过单片机(如树莓派 Pico、Arduino、ESP32 等ADC接口模数转换器的引脚读取,常用于调节音量、控制 LED 亮度、电机调速或角度/位置传感器模块


1.模块原理

模块内部本质是一个分压电路。当施加电压VCC时,滑动触点将内部电阻分为两部分。

输出电压VOUT计算公式为:

0当前旋转角度

0MAX总旋转角度(约 300°)

通过测得VOUT,单片机即可计算出当前旋钮的角度或相对位置。

2.技术参数

工作电压:3.3v~5v (使用在单片机时请接3.3V,不可接5V供电)

标称阻值: 20kΩ

输出信号:AD模拟量信号(电压随旋转角度呈线性变化)

调节方式:旋转调节

旋转角度:约280°~300°(非 360° 无限旋转)

阻值变化:B型(线性电位器 - Linear)

工作温度:-10°C 至 +70°C


3.注意事项

电压匹配:使用树莓派/ESP32等单片机时,务必将 VCC 接在 3.3V供电。千万不可接 5V,OUT 输出的最高电压与VCC供电一样,5V输出可能损坏单片机的芯片。


防抖与滤波:电位器在旋转过程中由于机械触点摩擦,可能会产生轻微的模拟量噪声/波动。如需更平滑的数据,可在代码中加入软件均值滤波,或在 OUT 与 GND 之间并联一个 0.1µF (104) 的瓷片电容进行硬件滤波。



二:树莓派例程

1.树莓派接线图

以树莓派pico为例,用电位器旋转来控制LED灯亮度变化,请按下图接线。务必注意不可接反,默认接3.3V供电,千万不能接5v供电,否则会烧毁设备


Image


2.Python程序

main 下载这个源代码直接上传到树莓派Pico文件内,运行程序后。旋转电位器然后查看数据变化,观察LED灯的亮度变化(如下图)  


Image

 


三:ESP32例程

1.ESP32接线图

本次以ESP32-S3主板为例按下图接好连接线,务必注意不可接反,否则会烧毁设备。

Image


2.C++程序

main下载main这个源代码直接用Arduino IDE编译上传程序,然后旋转点位,查看LED灯的亮度变化(如下图) 


Image


3.代码解析

全程序核心逻辑可简化为 3 步:


配置:将 GPIO 5(电位器输入)和 GPIO 10(LED PWM 输出)均设置为 12 位精度(范围 0 ~ 4095)。


直连控制:使用 analogRead() 读取电位器数值,直接通过 ledcWrite() 赋值给 LED 占空比。(两者精度一致,无需换算)


反馈与延时:换算出电压和百分比打印到串口,每次循环延时 50 毫秒保证调光响应平滑。



作者签名:    楼主  2026-08-13 13:53:19
回复列表
AQiu
2F
  面包大侠
2天前 0
emotion
共0条回复,点击查看回复
【评论】   
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
您的IP: 10.1.94.54 , 2026-08-16 18:32:56
Powered by YDXHUO _VERSION
© 2017-2026 跃动芯火版权
(4) 分享
分享

请保存二维码或复制链接进行分享

取消
免责声明
1、本站资源,均来自网络与个人作者,所有资源和文章仅限用于学习和研究目的 。
2、不得用于商业或非法用途,否则,一切责任由该用户承担 !

侵权删除请致信 E-Mail:ydxho@qq.com
已有0次打赏