電位器留美,實(shí)際是滑動(dòng)變阻器的原理贸呢。我們知道串聯(lián)分壓荧恍,不同的阻值對(duì)應(yīng)不同的電壓瓷叫,電位器在此基礎(chǔ)上輸出類型電壓值得數(shù)值。利用電位器我們可以做到對(duì)其他元件強(qiáng)度或速度等可加性的廣度進(jìn)行調(diào)節(jié)送巡。最常見的是將其當(dāng)作滑動(dòng)變阻器摹菠,對(duì)小燈進(jìn)行亮度調(diào)節(jié)。
此外電位器亦可作為調(diào)節(jié)舵機(jī)的轉(zhuǎn)向或速度骗爆。在轉(zhuǎn)動(dòng)電位器時(shí)可發(fā)現(xiàn)舵機(jī)轉(zhuǎn)動(dòng)次氨,當(dāng)電位器擰至正中時(shí),舵機(jī)恰好停止轉(zhuǎn)動(dòng)摘投。而在此時(shí)進(jìn)行左擰或右擰時(shí)煮寡,舵機(jī)轉(zhuǎn)動(dòng)方向發(fā)生變化虹蓄。說(shuō)明電位器可當(dāng)作表盤讀數(shù),調(diào)節(jié)左右的廣度增加幸撕。
電位器與舵機(jī)
#include? ? ? ? ? ? // 聲明調(diào)用Servo.h庫(kù)
Servo myservo;? ? ? ? ? ? ? // 創(chuàng)建一個(gè)舵機(jī)對(duì)象
int potpin = 1;? ? ? ? ? ? ? // 連接到模擬口0
int val;? ? ? ? ? ? ? ? ? ? //變量val用來(lái)存儲(chǔ)從模擬口0讀到的值
void setup() {
myservo.attach(9);? ? ? ? ? // 將引腳9上的舵機(jī)與聲明的舵機(jī)對(duì)象連接起來(lái)
}
void loop() {
val = analogRead(potpin);? ? ? ? //從模擬口0讀值薇组,并通過(guò)val記錄
val = map(val, 0, 1023, 0, 179);? //通過(guò)map函數(shù)進(jìn)行數(shù)值轉(zhuǎn)換
myservo.write(val);? ? ? ? ? ? ? // 給舵機(jī)寫入角度?
delay(15);? ? ? ? ? ? ? ? ? ? ? ? // 延時(shí)15ms讓舵機(jī)轉(zhuǎn)到指定位置
}