Grove - 滑动电位器
Grove - 滑动电位器模块集成了一个线性可变电阻器,最大阻值为10KΩ。当您将滑块从一侧移动到另一侧时,其输出电压将从0V变化到您所施加的Vcc电压。它通过标准的4针Grove连接线连接到其他Grove模块。其中三个引脚分别连接到OUT(引脚1)、Vcc(引脚3)和GND(引脚4),而第四个引脚(引脚2)连接到板载绿色指示LED。该LED用于直观地表示电位器上的电阻变化。

特性

- 30毫米长的滑动长度
- 线性电阻锥度
- Grove兼容
有关Grove模块的更多详细信息,请参考Grove系统
应用创意
以下是一些供您参考的项目。
Arduino音响 | Arduino节拍盒 |
---|---|
立即制作! | 立即制作! |
规格参数
项目 | 最小值 | 典型值 | 最大值 |
---|---|---|---|
电压(直流) | 3.3V | 5.0V | 30V |
电流 | 30mA | ||
尺寸 | 24mm x60mm | ||
净重 | 8.6g | ||
旋转寿命 | >15,000次循环 | ||
总电阻 | 10KΩ | ||
行程长度 | 30mm | ||
总电阻公差 | +/- 20% |
支持的平台
Arduino | Raspberry Pi |
---|---|
上述提到的支持平台是/是该模块软件或理论兼容性的指示。在大多数情况下,我们只为Arduino平台提供软件库或代码示例。不可能为所有可能的MCU平台提供软件库/演示代码。因此,用户必须编写自己的软件库。
入门指南
作为可调电阻器
如下所示,Grove - 滑动电位器可以在任何MCU控制或独立项目中用作简单的滑动电位器。
独立使用
按照以下步骤使用此模块构建一个示例Grove电路,但不使用任何微控制器板:
-
将滑动电位器模块连接到电路的输入端(电源模块的左侧)。在电路的输出端,您可以使用一系列用户界面模块(Grove - 红色LED、Grove - LED灯串、Grove - 迷你风扇、Grove - 蜂鸣器、Grove - 录音器等)
-
电路完成后接通电源。
-
现在可以使用滑动电位器模块来触发输出。例如:
- 当与Grove - 红色LED输出模块配合使用时,观察到当您将滑块从GND移动到Vcc时,LED的亮度会增加。在Vcc位置,电位器的电阻最小,LED最亮。当滑动电位器与Grove - LED灯串模块一起使用时也可以看到相同的行为 - 通过将滑块向Vcc标记移动来施加更多电压,LED灯会变得更亮。
- 同样,您可以使用滑动电位器来改变Grove - 迷你风扇的速度或Grove - 蜂鸣器模块发声的频率
- 滑动电位器也可以用作任何电路的开/关开关。将滑块移动到Vcc位置来开启电路,向下移动到GND来关闭电路。
在选择电源模块方面,您可以使用Grove - USB电源模块或Grove - DC插孔电源模块来构建独立的Grove电路。
作为分压器
按照以下简单步骤使滑动电位器模块作为分压器工作:
2.使用USB线将开发板连接到PC。
3.上传以下示例代码。
int adcPin = A0; // select the input pin for the potentiometer
int ledPin = A1; // select the pin for the LED
int adcIn = 0; // variable to store the value coming from the sensor
void setup()
{
Serial.begin(9600); // init serial to 9600b/s
pinMode(ledPin, OUTPUT); // set ledPin to OUTPUT
Serial.println("Sliding Potentiometer Test Code!!");
}
void loop()
{
// read the value from the sensor:
adcIn = analogRead(adcPin);
if(adcIn >= 500) digitalWrite(ledPin,HIGH); // if adc in > 500, led light
else digitalWrite(ledPin, LOW);
Serial.println(adcIn);
delay(100);
}
4.打开串口监视器。您应该看到来自ADC的一些数据。
5.来回移动滑杆。串口数据会相应地改变。当输出电阻超过某个预设值时,板载指示LED也会点亮。
作为HID设备
滑动电位器可以是一个有效的人机界面设备(HID),例如可以用于遥控玩具车的无线电控制器中。下图显示了控制面板上的两个滑动电位器 - 一个控制左轮的速度,另一个分别控制玩具车右轮的速度。现在您可以改变两个电机的速度并观察行为。您会看到如果您让右轮比左轮转得更快,汽车会向右转,如果您让左轮比右轮转得更快,汽车会向左转。
使用Codecraft
硬件
步骤1. 将Grove - 滑动电位器连接到Base Shield的A0端口。
步骤2. 将Base Shield插入您的Seeeduino/Arduino。
步骤3. 通过USB线将Seeeduino/Arduino连接到您的PC。
软件
步骤1. 打开Codecraft,添加Arduino支持,并将主程序拖到工作区域。
如果这是您第一次使用Codecraft,请参阅使用Arduino的Codecraft指南。
步骤2. 按照下图拖拽代码块或打开可在本页面末尾下载的cdc文件。
将程序上传到您的Arduino/Seeeduino。
代码上传完成后,滑动滑动电位器,您将在串口监视器中看到传感器值显示。如果您滑动超过电位器的一半,其上的LED会点亮。
使用树莓派(配合Grove Base Hat for Raspberry Pi)
硬件
- 步骤1. 本项目使用的物品:
Raspberry pi | Grove Base Hat for RasPi | Grove - 滑动电位器 |
---|---|---|
立即购买 | 立即购买 | 立即购买 |
- 步骤 2. 将 Grove Base Hat 插入树莓派。
- 步骤 3. 将滑动电位器连接到 Base Hat 的 A0 端口。
- 步骤 4. 通过 USB 线缆将树莓派连接到 PC。
对于步骤 3,您可以将滑动电位器连接到任何模拟端口,但请确保您使用相应的端口号更改命令。
软件
如果您使用的是 Raspberry Pi with Raspberrypi OS >= Bullseye,您必须仅使用 Python3 运行此命令行。
- 步骤 1. 按照 设置软件 配置开发环境。
- 步骤 2. 通过克隆 grove.py 库下载源文件。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- 步骤 3. 执行以下命令运行代码。
cd grove.py/grove
python3 grove_slide_potentiometer.py 0
以下是 grove_slide_potentiometer.py 代码。
import math
import sys
import time
from grove.adc import ADC
class GroveSlidePotentiometer(ADC):
def __init__(self, channel):
self.channel = channel
self.adc = ADC()
@property
def value(self):
return self.adc.read(self.channel)
Grove = GroveSlidePotentiometer
def main():
if len(sys.argv) < 2:
print('Usage: {} adc_channel'.format(sys.argv[0]))
sys.exit(1)
sensor = GroveSlidePotentiometer(int(sys.argv[1]))
while True:
print('Slide potentiometer value: {}'.format(sensor.value))
time.sleep(.2)
if __name__ == '__main__':
main()
如果一切正常,您将能够看到以下结果
pi@raspberrypi:~/grove.py/grove $ python3 grove_slide_potentiometer.py 0
Slide potentiometer value: 987
Slide potentiometer value: 988
Slide potentiometer value: 986
Slide potentiometer value: 8
Slide potentiometer value: 2
Slide potentiometer value: 0
Slide potentiometer value: 1
Slide potentiometer value: 0
Slide potentiometer value: 24
Slide potentiometer value: 0
Slide potentiometer value: 0
Slide potentiometer value: 11
Slide potentiometer value: 995
Slide potentiometer value: 999
Slide potentiometer value: 999
^CTraceback (most recent call last):
File "grove_slide_potentiometer.py", line 66, in <module>
main()
File "grove_slide_potentiometer.py", line 62, in main
time.sleep(.2)
KeyboardInterrupt
您可以通过简单地按 ++ctrl+c++ 退出此程序。
您可能已经注意到,对于模拟端口,丝印引脚号类似于 A0, A1,但在命令中我们使用参数 0 和 1,就像数字端口一样。因此请确保您将模块插入正确的端口,否则可能会出现引脚冲突。
与树莓派一起使用(使用 GrovePi_Plus)
如果您使用的是 Raspberry Pi with Raspberrypi OS >= Bullseye,您必须仅使用 Python3 运行此命令行。
1.您应该有一个树莓派和一个 grovepi 或 grovepi+。
3.连接
- 使用 grove 线缆将传感器插入 grovepi 的 A0 插座。
4.导航到演示目录:
cd yourpath/GrovePi/Software/Python/
- 查看代码
nano grove_slide_potentiometer.py # "Ctrl+x" to exit #
import time
import grovepi
# Connect the Grove Slide Potentiometer to analog port A0
# OUT,LED,VCC,GND
slide = 0 # pin 1 (yellow wire)
# The device has an onboard LED accessible as pin 2 on port A0
# OUT,LED,VCC,GND
led = 1 # pin 2 (white wire)
grovepi.pinMode(slide,"INPUT")
grovepi.pinMode(led,"OUTPUT")
time.sleep(1)
while True:
try:
# Read sensor value from potentiometer
sensor_value = grovepi.analogRead(slide)
# Illuminate onboard LED
if sensor_value > 500:
grovepi.digitalWrite(led,1)
else:
grovepi.digitalWrite(led,0)
print "sensor_value =", sensor_value
except IOError:
print "Error"
5.运行演示。
sudo python3 grove_slide_potentiometer.py
原理图在线查看器
资源
项目
树莓派音乐服务器:树莓派项目的第一步
技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。