旋转电位器实际上就是可变电阻器,由于它在电路中的作用是获得与输入电压(外加电压)成一定关系得输出电压,因此称之为电位计。如下原理图所示,电位器(或微调电阻等等)常规引脚(仅举例说有 3 个引脚的电位器),两头的电阻值是固定的,中间引脚对任何一端引脚的电阻值是可变的。通常被制造成不管使用多久均能维持原有的特性,若当位置传感器使用,电位计可以是直线或旋转式位置传感器。电位计输出一个电压值,其正比于沿着可变电阻器之滑动器的位置。因为温度变化、磨耗及滑动器与可变电阻器之间的污垢均会造成电阻变化,影响电位计的精度。
引脚名称 | 描述 |
---|---|
G | GND(电源输入负极) |
V | VCC(电源输入正极) |
S | 模拟信号引脚 |
供电电压:3.3V / 5V
连接方式:PH2.0端子线
安装方式:双螺丝固定
Arduino UNO 示例(适用于Mixly IDE、Arduino IDE):
volatile float Voltage;
volatile float data;
volatile int light;
void setup(){
Serial.begin(9600);
Voltage = 0;
data = 0;
light = 0;
pinMode(6, OUTPUT);
}
void loop(){
//电位器接A0;led灯接D6
data = analogRead(A0);
Voltage = (data / 1023) * 5;
light = (map(constrain(analogRead(A0), 0, 1023), 0, 1023, 0, 255));
Serial.print("Voltage is:");
Serial.print(Voltage);
Serial.print("V");
Serial.print(" light is:");
Serial.println(light);
analogWrite(6, light);
delay(100);
}
ESP32 Python 示例(适用于Mixly IDE /米思齐)
(开发板选择 Python ESP32 【ESP32 Generic(4MB)】切换为代码模式上传 ):
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))
Arduino UNO 图形化示例程序:点击下载
ESP32 Python图形化示例程序:点击下载
Arduino UNO 测试环境搭建
准备配件:
电路接线图:
ESP32 Python 测试环境搭建
Arduino UNO视频教程:点击查看
ESP32 Python视频教程:
Arduino UNO测试结论:
通过调节旋转电位器旋钮,可以控制led灯的亮度。旋转电位器相当于一个可调电阻器,所以我们可 以获取电位计的模拟值(通过串口输出可以查看模拟值),除以 1023,乘以我们对应的电压(5V),即成我们想要的电压值。
ESP32 Python测试结论:
通过调节旋转电位器旋钮,可以控制led灯的亮度。旋转电位器相当于一个可调电阻器,可以调节LED灯亮度。