HS-S28P 旋转电位器

HS-S28P 旋转电位器

1、介绍

旋转电位器实际上就是可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位计。如下原理图所示,电位器(或微调电阻等等)常规引脚(仅举例说有 3 个引脚的电位器),两头的电阻值是固定的,中间引脚对任何一端引脚的电阻值是可变的。通常被制造成不管使用多久均能维持原有的特性,若当位置传感器使用,电位计可以是直线或旋转式位置传感器。电位计输出一个电压值,其正比于沿着可变电阻器之滑动器的位置。因为温度变化、磨耗及滑动器与可变电阻器之间的污垢均会造成电阻变化,影响电位计的精度。该模块最大阻值为1K.

2、原理图

旋转电位器-HS-S28P 原理图 点击查看

3、模块参数

引脚名称

描述

G

GND(电源输入负极)

V

VCC(电源输入正极)

S

模拟信号引脚

  • 供电电压:3.3V / 5V

  • 连接方式:PH2.0端子线

  • 安装方式:双螺丝固定

4、电路板尺寸

5、Arduino IDE示例程序   

注意:程序上传时如果提示库文件报错,请先导入库文件!
Arduino IDE 库文件下载及导入教程:
点击查看

示例程序(UNO开发板):

float Voltage;//定义电压变量
float data;//定义电位器模拟值变量
int light;//定义LED灯亮度变量

void setup() {
  Serial.begin(9600);//设置串口波特率
  pinMode(A0, INPUT);//电位器电压输出接口
  pinMode(6, OUTPUT);
}

void loop() {
  data = analogRead(A0);//获取电位器电压模拟值
  Voltage = (data / 978) * 5;//模拟值和数字值转换 * 电压得到当前电压,模拟正常最大为1023,978为实际电位器模拟值最大值
  light = (map(constrain(analogRead(A0), 0, 978), 0, 978, 0, 255));//将电位器电压模拟值缩放至light变量以符合模拟输出取值范围,正常模拟输出PWM波取值为0-255
  Serial.print("Voltage is:");
  Serial.print(Voltage);//打印获取到的电压
  Serial.print("V");
  Serial.print("    light is:");//打印LED的亮度值
  Serial.println(light);
  analogWrite(6, light);//将light值转变为PWM波占空比从6号口输出。
  delay(100); //延时0.1秒

}

6、ESP32 Python 示例(适用于Mixly IDE /米思齐)

开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传

注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

示例程序(ESP32-Python):

import machine
from mixpy import math_map


value = 0
light = 0
adc32 = machine.ADC(machine.Pin(32))
pwm2 = machine.PWM(machine.Pin(2))
while True:
    value = adc32.read_u16()
    light = (math_map(value, 0, 65535, 65535, 0))
    pwm2.duty_u16(int(light))

7、米思齐 Mixly 示例程序(图形化语言)

示例程序(UNO开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE Arduino库文件下载及导入教程:点击查看

示例程序(ESP32开发板):点击下载
注意:程序上传时如果提示库文件报错,请先导入库文件!
米思齐(Mixly)IDE ESP32库文件下载及导入教程:
点击查看

8、测试环境搭建

Arduino UNO 测试环境搭建

准备配件:

  • HELLO STEM UNO R3 开发板 *1

  • HELLO STEM UNO R3 P 扩展板 *1

  • USB type-c 数据线 *1

  • LED灯模块(HS-F08A)*1

  • 旋转电位器模块(HS-S28P)*1

  • PH2.0 3P端子转杜邦线 *2 或 PH2.0 3P双头端子线 *2

电路接线图:待更新...

ESP32 测试环境搭建

准备配件:待更新...

电路接线图:待更新...

9、视频教程   

视频教程:点击查看

10、测试结果

Arduino UNO测试结果:

通过调节旋转电位器旋钮,可以控制led灯的亮度。旋转电位器相当于一个可调电阻器,所以我们可 以获取电位计的模拟值(通过串口输出可以查看模拟值),除以 1023(为防止电位器发烫,本司电位器因已加47k固定电阻,实际测量模拟值最大为978),乘以我们对应的电压(5V),即成我们想要的电压值。

ESP32 测试结果:

待更新...