操縱桿模塊
操縱桿是控制伺服電機的最簡單方法之一。雖然一些教程需要電機或其他額外的東西,但本教程只需要基本的外圍設備。操縱桿又名“拇指操縱桿”是項目的一個很酷的控制界面,特別是對于機器人技術。 X軸和Y軸是兩個~10k的電位計,可以通過生成模擬信號來控制2D運動。還有一個按鈕,可用于控制其他命令或動作。
HC-SR04
在本教程中,我將以HC-SR04超聲波傳感器為例設置伺服控制的云臺。但是,請記住,支架可用于傳感器,相機等!
讓我們開始吧
收集硬件
Arduino UNO
2伺服電機SG90
操縱桿模塊
雙伺服支架
一些跳線
HC-SR04
Arduino UNO
操縱桿模塊
伺服電機
面包板
云臺支架套件
首先組裝雙伺服支架。我正在使用Sparkfun的搖攝/傾斜支架套件。
連接硬件
讓我們從2個伺服器開始。我正在使用面包板來簡化連接。
伺服電機和Arduino Uno的連接。
上/下伺服Arduino右/左伺服Arduino
紅色電纜5V紅色電纜5V
黑色電纜GND黑色電纜GND
黃色或白色電纜P WM(4)黃色或白色電纜PWM(10)
按照上面和下面的連接圖完成連接。
操縱桿模塊的連接和Arduino Uno。
操縱桿Arduino
5V5V
GNDGND
U/DU/D模擬4
L/RL/R模擬3
最終布線如下:
最終的項目原理圖。
一切都連接后,它將如下所示!
源代碼
將以下代碼復制并粘貼到Arduino軟件中。在將代碼上傳到Arduino板之前,請務必測試(編譯)代碼。
當您將代碼上傳到Arduino時,在您使用操縱桿之前,伺服器不應移動。
#include
const int servo1 = 11; // first servo
const int servo2 = 10; // second servo
const int joyH = 3; // L/R Parallax Thumbstick
const int joyV = 4; // U/D Parallax Thumbstick
int servoVal; // variable to read the value from the analog pin
Servo myservo1; // create servo object to control a servo
Servo myservo2; // create servo object to control a servo
void setup() {
// Servo
myservo1.attach(servo1); // attaches the servo
myservo2.attach(servo2); // attaches the servo
// Inizialize Serial
Serial.begin(9600);
}
void loop(){
// Display Joystick values using the serial monitor
outputJoystick();
// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyH);
servoVal = map(servoVal, 0, 1023, 0, 180); // scale it to use it with the servo (result between 0 and 180)
myservo2.write(servoVal); // sets the servo position according to the scaled value
// Read the horizontal joystick value (value between 0 and 1023)
servoVal = analogRead(joyV);
servoVal = map(servoVal, 0, 1023, 70, 180); // scale it to use it with the servo (result between 70 and 180)
myservo1.write(servoVal); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
/**
* Display joystick values
*/
void outputJoystick(){
Serial.print(analogRead(joyH));
Serial.print (“---”);
Serial.print(analogRead(joyV));
Serial.println (“----------------”);
}
-
云臺
+關注
關注
1文章
68瀏覽量
13658 -
Arduino
+關注
關注
188文章
6472瀏覽量
187331 -
SG90
+關注
關注
0文章
9瀏覽量
11517
發布評論請先 登錄
相關推薦
評論