10K電位器

出自YFRobotwiki
在2021年9月3日 (五) 09:58由Allblue對話 | 貢獻所做的修訂版本

(差異) ←上個修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導覽搜尋
10K旋鈕電位器模塊V2
建立縮圖錯誤: 檔案似乎遺失:
10K電位器V1


產品簡介


10K電位器採用WH148 10K電位器,3引腳直接焊接杜邦線,連接更方便!

旋鈕電位器模塊採用立式旋鈕10K電位器製作,採用PH2.0-3P統一介面,配合專用感測器線使用非常方便。

電位器的電阻體有兩個固定端,通過手動調節旋鈕,改變動觸點在電阻體上的位置,則改變林動觸點與任一固定端之間的電阻值,從而改變電壓與電流大小。

將旋鈕電位器模塊加入項目中,可用來控制LED燈亮度、喇叭聲音大小等。

旋鈕電位器,順時針旋轉,輸出值變大;逆時針旋轉,輸出值變小。


規格參數


  • 供電電壓:DC3.3V~5V
  • 輸出信號:模擬
  • 阻值:10KΩ
  • 絕緣阻抗:100MΩ Min DC250V
  • 開關接觸阻抗:< 50mΩ
  • 開關額定功率:1.0A at AC/DC 12V
  • 全迴轉角度:170°±5°
  • 旋轉力距:20~200 gf.cm
  • 旋轉止動強度:3.0Kgf.cm Min
  • 旋轉壽命:10000
  • 模塊尺寸:28*21*24MM(長*寬*高)
  • 安裝孔:3mm
  • 安裝孔間距:15mm
  • 模塊重量:3.8g


引腳說明


  • 1. G 黑線 -- Gnd(地)
  • 2. V 紅線 -- Vcc(電源+5V)
  • 3. S 白線 -- 信號


應用示例



示例一:電位器值串口列印


電位器模塊的 G、V、S分別連接 Arduino UNO的GND、VCC(+5V)、A0引腳。


電路連接示意圖

potentiometer1


示例代碼
/*
 Potentiometer Test
*/
int pPin = A0;
int pVal = 0;
int pVal_old = 0;
void setup()
{
  pinMode(pPin,INPUT);      
  Serial.begin(9600);  
}
void loop()
{
  //读取A0模拟口的数值(0-5V 对应 0-1204取值)
  pVal = analogRead(pPin);   
  if(abs(pVal - pVal_old) >= 2 ){
    Serial.println(pVal); 
    pVal_old = pVal;
  }
}

程序下載地址:PotentiometerTest

程序運行結果:電位器值串口列印,結果如下圖:

建立縮圖錯誤: 檔案似乎遺失:




示例二:電位器控制彩色LED模塊變色

電路連接示意圖

potentiometer2

示例代碼
/*
  Potentiometer control RGB LED change color
*/
 
#include <Adafruit_NeoPixel.h>
 
#define RGBLEDPin  5
#define NUMPIXELS  4
#define pPin  A0
 
// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
//   NEO_KHZ800  800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
//   NEO_KHZ400  400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
//   NEO_GRB     Pixels are wired for GRB bitstream (most NeoPixel products)
//   NEO_RGB     Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, RGBLEDPin, NEO_GRB + NEO_KHZ800);
 
int pVal = 0;
int RVal = 0;
int GVal = 0;
int BVal = 0;
 
void setup()
{
  pinMode(RGBLEDPin, OUTPUT);
  pixels.begin(); // This initializes the NeoPixel library.
  pixels.show();
}
 
void loop()
{
  pVal = analogRead(pPin);    //读取A0模拟口的数值(0-5V 对应 0-1203取值)
  if (pVal >= 0 && pVal <= 170) {
    RVal = 255;
    GVal = 0;
    BVal = map(pVal, 0, 170, 0, 255);
  } else if (pVal > 170 && pVal <= 340) {
    RVal = map(pVal, 170, 340, 255, 0);
    GVal = 0;
    BVal = 255;
  } else if (pVal > 340 && pVal <= 510) {
    RVal = 0;
    GVal = map(pVal, 340, 510, 0, 255);
    BVal = 255;
  } else if (pVal > 510 && pVal <= 680) {
    RVal = 0;
    GVal = 255;
    BVal = map(pVal, 510, 680, 255, 0);
  } else if (pVal > 680 && pVal <= 850) {
    RVal = map(pVal, 680, 850, 0, 255);
    GVal = 255;
    BVal = 0;
  } else {
    RVal = 255;
    GVal = map(pVal, 850, 1023, 255, 0);
    BVal = 0;
  }
  lightLED(RVal, GVal, BVal);
}
 
void lightLED(int r, int g , int b) {
  // For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.
  for (int i = 0; i < NUMPIXELS; i++) {
    // pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, r, g, b); // Moderately bright green color.
    pixels.show(); // This sends the updated pixel color to the hardware.
  }
}

程序下載地址:ChangeColor

程序運行結果:轉動電位器,彩色led變色。



參考資料






返回首頁

更多建議和問題歡迎反饋至 YFRobot論壇

購買方式:YFRobot 電子工作室