212906zwzhwvexn99xngjj.jpg (202.43 KB, 下載次數: 123)
下載附件
連接圖2
2017-2-14 21:31 上傳
212907mld560jz0djld6qf.jpg (93.96 KB, 下載次數: 147)
下載附件
連接圖1
2017-2-14 21:31 上傳
這里使用arduino duemilanove通過電位器控制一個舵機轉動
使用原件:
arduino duemilanove一塊
10K電位器一個
舵機一個
面包板一個
面包板連接線若干
這里要注意,不要使用電腦usb供電,因為如果電流需求大于500ma,會有燒毀usb的可能,推薦使用電池外置供電。
電位器左右兩腳分別接3.3V和GND,中間接模擬口0。
舵機接5V和GND,信號口接數字7號口。
把下面代碼下載進入arduino,然后再進行線路連接,運行時一定要使用電池供電。[pre lang="arduino" line="1"]int readPin = 0; //用來連接電位器
int servopin = 7; //定義舵機接口數字接口7
void servopulse(int angle)//定義一個脈沖函數
{
int pulsewidth=(angle*11)+500; //將角度轉化為500-2480的脈寬值
digitalWrite(servopin,HIGH); //將舵機接口電平至高
delayMicroseconds(pulsewidth); //延時脈寬值的微秒數
digitalWrite(servopin,LOW); //將舵機接口電平至低
delayMicroseconds(20000-pulsewidth);
}
void setup()
{
pinMode(servopin,OUTPUT);//設定舵機接口為輸出接口
}
void loop()
{
//讀取電位器(傳感器)的讀數,接到3.3V,值范圍從0到660左右
int readValue = analogRead(readPin);
//把值的范圍映射到0到165左右
int angle = readValue / 4;
//發送50個脈沖
for(int i=0;i<50;i++)
{
//引用脈沖函數
servopulse(angle);
}
}
|