【雕爺學編程】Arduino動手做(173)---SG90舵機雙軸雲臺模塊

37款傳感器與執行器的提法,在網絡上廣泛流傳,其實Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑑於本人手頭積累了一些傳感器和執行器模塊,依照實踐出真知(一定要動手做)的理念,以學習和交流爲目的,這裏準備逐一動手嘗試系列實驗,不管成功(程序走通)與否,都會記錄下來—小小的進步或是搞不掂的問題,希望能夠拋磚引玉。

【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
實驗一百七十三:SG90二自由度舵機雲臺塑料支架MG雙軸機械手臂航模監控智能機器人

雲臺參數說明:
該模塊包含兩個SG90 9g舵機+1個FPV尼龍雲臺
上下轉動180度,左右轉動180度
總高度:7.2cm
模塊自重:約35g
底座長*寬:37mm*33mm
架臺(載物臺)長*寬:28mm*28mm
安裝孔徑尺寸:32mm*27mm
舵機線長度:19-24cm
工作電壓:4.8-6V
工作溫度:0℃-55℃
引腳定義:橙線信號,紅線正極,棕線負極

舵機參數說明:
產品扭矩:2.0kg/cm(4.8V),2.2kg/cm(6V)
產品速度:0.09s/60°(4.8V),0.08s/60°(6V)
齒輪形式:塑料齒輪
死區設定:7微秒

舵機參考資料:
【雕爺學編程】Arduino動手做(83)---模擬SG90舵機模塊
https://blog.csdn.net/weixin_41659040/article/details/116923671
【雕爺學編程】Arduino動手做(83)---模擬SG90舵機模塊2
https://blog.csdn.net/weixin_41659040/article/details/131758166

 

1、將舵機十字舵盤安裝到底座上

 

 

2、把上下舵機裝到上下機構上面

 

 

3、將舵機安裝到水平旋轉機構之上

 

 


4、組合上下與水平機構,固定好單臂舵盤

 

 


5、水平舵機連接到底座上,固定好十字舵盤

 

 


6、用四顆小螺絲將雲臺固定到實驗底板上面

 

 

【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
實驗一百七十三:SG90二自由度舵機雲臺塑料支架MG雙軸機械手臂航模監控智能機器人
項目:測試驅動二軸雲臺
 
/*
【Arduino】168種傳感器模塊系列實驗(資料代碼+仿真編程+圖形編程)
實驗一百七十三:SG90二自由度舵機雲臺塑料支架MG雙軸機械手臂航模監控智能機器人
項目:測試驅動二軸雲臺
*/

// 加載 舵機 庫
#include <Servo.h>

Servo servo_1;  // 創建一個名爲 servo_1 的 舵機實例 (名稱可隨你喜歡命名)
Servo servo_2;

void setup() {
  servo_1.attach(9);  // 配置myservo實例的引腳爲9
  servo_2.attach(10);
}

void loop() {
  // 控制所有舵機 從 0度 到 179度 轉動
  for (int i = 0; i < 180; i++) {
    servo_1.write(i);
    servo_2.write(i);
    delay(10);
  }
  delay(500);

  // 控制所有舵機 從 180度 到 1度 轉動
  for (int i = 180; i > 0; i--) {
    servo_1.write(i);
    servo_2.write(i);
    delay(10);
  }
  delay(500);

  // 控制所有舵機轉動至 90度 的位置
  servo_1.write(90);
  servo_2.write(90);
  delay(500);

  // 控制所有舵機轉動至 180度 的位置
  servo_1.write(180);
  servo_2.write(180);
  delay(500);

  // 控制所有舵機轉動至 90度 的位置
  servo_1.write(90);
  servo_2.write(90);
  delay(500);

  // 分別控制部分舵機轉動至 0度 或 90度 的位置
  servo_1.write(0);
  servo_2.write(180);
  delay(500);

  // 同時分別控制 0度 位置的舵機,轉向 179度 的位置
  // 同時分別控制 180度 位置的舵機,轉向 1度 的位置
  for (int i = 0; i < 180; i++) {
    servo_1.write(0 + i);
    servo_2.write(180 - i);
    delay(10);
  }
  delay(500);

  // 同時分別控制 180度 位置的舵機,轉向 1度 的位置
  // 同時分別控制 0度 位置的舵機,轉向 179度 的位置
  for (int i = 0; i < 180; i++) {
    servo_1.write(180 - i);
    servo_2.write(0 + i);
    delay(10);
  }
  delay(500);
}

  Arduino實驗場景圖

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章