HS-S28A 旋转电位器

目 录 (点击目录列表可以跳转到相应位置)

  1. 介绍
  2. 原理图
  3. 模块参数
  4. 电路板尺寸
  5. ArduinoIDE 和Python语言示例程序
  6. 米思齐 Mixly 示例程序(图形化语言)
  7. Arduino测试环境搭建
  8. 视频教程
  9. 测试结论

1、介绍 点这里回到目录

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


2、原理图 点这里回到目录

HS-S28A  旋转电位器


3、模块参数 点这里回到目录

引脚名称 描述
G GND(电源输入负极)
V VCC(电源输入正极)
S

模拟信号引脚

  • 供电电压:3.3V / 5V

  • 连接方式:2.54mm排针

  • 安装方式:双螺丝固定


4、电路板尺寸 点这里回到目录

HS-S28A  旋转电位器


5、Arduino IDE示例程序 点这里回到目录

示例程序(UNO开发板):点击下载

volatile float Voltage;
volatile float data;
volatile int light;

void setup(){
  Serial.begin(9600);
  Voltage = 0;
  data = 0;
  light = 0;
  pinMode(A0, INPUT);
  pinMode(9, OUTPUT);
}

void loop(){
  //电位器接A0;led灯接D9

  data = analogRead(A0);
  Voltage = (data / 978) * 5;
  light = (map(constrain(analogRead(A0), 0, 978), 0, 978, 0, 255));
  Serial.print("Voltage is:");
  Serial.print(Voltage);
  Serial.print("V");
  Serial.print("    light is:");
  Serial.println(light);
  analogWrite(9, light);
  delay(100);

}

示例程序(ESP32开发板—基于Python语言,不能用Arduino IDE上传代码):

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))


6、米思齐 Mixly 示例程序(图形化语言) 点这里回到目录

示例程序(UNO开发板):点击下载

HS-S28A  旋转电位器

示例程序(ESP32开发板):点击下载

HS-S28A  旋转电位器


7、测试环境搭建 点这里回到目录

准备配件:

  • HELLO STEM UNO R3 PRO 开发板 *1
  • USB type-c 数据线 *1
  • LED灯模块(HS-F08A)*1
  • 旋转电位器模块(HS-S28A)*1
  • 1P母对母杜邦线 *6条 或 3P母对母杜邦线 *2条

电路接线图:

HS-S28A  旋转电位器


8、视频教程 点这里回到目录

视频教程:点击查看


9、测试结论 点这里回到目录

HS-S28A  旋转电位器HS-S28A  旋转电位器

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