<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> 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);
           }
            
        }
        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮