標題: arduino舵機控制實驗 [打印本頁]

作者: 314474991    時間: 2017-2-14 21:32
標題: arduino舵機控制實驗

這里使用arduino duemilanove通過電位器控制一個舵機轉動


使用原件:
arduino duemilanove一塊
10K電位器一個
舵機一個
面包板一個
面包板連接線若干

這里要注意,不要使用電腦usb供電,因為如果電流需求大于500ma,會有燒毀usb的可能,推薦使用電池外置供電。

電位器左右兩腳分別接3.3V和GND,中間接模擬口0。
舵機接5V和GND,信號口接數(shù)字7號口。

把下面代碼下載進入arduino,然后再進行線路連接,運行時一定要使用電池供電。[pre lang="arduino" line="1"]int readPin = 0;   //用來連接電位器
int servopin = 7;    //定義舵機接口數(shù)字接口7

void servopulse(int angle)//定義一個脈沖函數(shù)
{
  int pulsewidth=(angle*11)+500;  //將角度轉化為500-2480的脈寬值
  digitalWrite(servopin,HIGH);    //將舵機接口電平至高
  delayMicroseconds(pulsewidth);  //延時脈寬值的微秒數(shù)
  digitalWrite(servopin,LOW);     //將舵機接口電平至低
  delayMicroseconds(20000-pulsewidth);
}

void setup()
{
  pinMode(servopin,OUTPUT);//設定舵機接口為輸出接口
}

void loop()
{
  //讀取電位器(傳感器)的讀數(shù),接到3.3V,值范圍從0到660左右
  int readValue = analogRead(readPin);
  //把值的范圍映射到0到165左右
  int angle = readValue / 4;
  //發(fā)送50個脈沖
  for(int i=0;i<50;i++)
  {
    //引用脈沖函數(shù)
    servopulse(angle);
  }
}





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1