• 專注電子技術學習與研究
    當前位置:單片機教程網 >> Arduino >> 瀏覽文章

    arduino控制舵機程序

    作者:佚名   來源:哭笑不得空間   點擊數:  更新時間:2014年08月12日   【字體:

    以前沒有接觸過硬件,因為把弄APM2.5不得不去接觸arduino板。Arduino是塊極易上手的控板,不像單片機,你要花費大量的時間去學習預備知識,它只要你稍微懂點C語言既能上手。對于我這種業余愛好者,不二之選。手頭有幾個舵機,首次接觸arduino就是用它來操作舵機。Arduino有個底層庫(Servo類),包含驅動舵機的基本功能:

    attach()//連接舵機
    write()//角度控制
    writeMicroseconds()//參數為pwm值,1000:逆時針旋轉180度,1500:到達中點,2000:順時針旋轉180度
    read()//讀上一次舵機轉動角度
    attached()//
    detach()//斷開舵機連接
    實例:
    器材:arduino板、舵機、杜邦線若干 
    程序可以在IDE>File>Examples>Servo>Sweep中找到
    這里介紹不調用Servo庫,寫的Servo.write()函數,有些問題,串口輸入的值與伺服轉動的角度不相同。郁悶中。!
    int value;
    int pulsewidth;
    int pin=9;
    void servowrite(int pin,int value)
    {
      digitalWrite(pin,HIGH);
      value=map(value,0,180,700,2300);//舵機的PWM值在700~2300間,這是粗略的PWM數值轉換
      digitalWrite(pin,LOW);
    }
    void setup()
    {
     Serial.begin(9600);
     pinMode(pin,OUTPUT);
    }
    void loop()
    {
      if(Serial.available()>0)
      {
        int val=Serial.read();
        value=val-'0';//轉換為數字
        value=map(value,0,9,0,180);
        Serial.print("moving servo to");
        Serial.print(value);
        servowrite(pin,value);
       }
        
    }
    關閉窗口

    相關文章

    国产农村精品一级毛片视频_亚洲Av无码专区国产乱码在线观看_亚洲综合国产Av_天天影视网天天综合色