步驟1:收集零件!
所需零件
1。 Flysky發(fā)送器和接收器
2。 L298n電動機驅(qū)動器護罩(下面是該護罩的零件清單和教程)
3。 Arduino Mega 2560版本4。遙控車
5。 9v電池
6。 7v鎳鎘電池
步驟2:發(fā)射器
在本教程中,我將使用flysky ct6b發(fā)射器。操作員通過無線電鏈路控制飛機,無線電鏈路通過電磁輻射即PPM信號(脈沖位置調(diào)制)連接到接收器?;旧?,R/C設備由操作員操作的發(fā)射器和接收由R/C發(fā)射器發(fā)射的信號的接收器組成。PPM是脈沖位置調(diào)制(PPM)。信號調(diào)制的一種形式,其中M個消息位通過在可能的時移之一中發(fā)送單個脈沖進行編碼。每T秒重復一次,以使傳輸?shù)谋忍芈蕿槊棵隡/T比特。它主要用于光通信系統(tǒng),在該系統(tǒng)中,幾乎沒有或幾乎沒有多徑干擾。
有關PPM的更多信息,請訪問-http://en.wikipedia.org/wiki/Pulse-position_modulation
帶有任何微控制器(在我的情況下為arduino)的飛機R/C發(fā)射器,我們必須首先解碼PPM信號。要解碼這些信號,我將使用arduino編程環(huán)境。
步驟3:電動機驅(qū)動器護罩
要將任何電機控制的設備與微控制器一起使用,我們需要一個電機驅(qū)動器,基本上可以讓您添加一個外部電池來控制設備。在這里,我將使用L298n電動機驅(qū)動器,該電動機驅(qū)動器可使用高達24v和4 A的電流。
現(xiàn)在,我將向您展示如何為arduino制造自己的L298電動機驅(qū)動器屏蔽。
零件清單
1。 L298N雙H橋IC
2。 IN4004二極管
3。防盜條
4。標準PCB(印刷電路板)
5。散熱器
6?;竟ぞ吆鸵恍Ь€
L298n H橋
H橋的基本原理是能夠控制電動機的方向,即向前或向后。這是通過管理流經(jīng)稱為晶體管的電路元件的電流來實現(xiàn)的。編隊看起來像H,因此得名-H-Bridge。 L298使用此原理來控制電動機。易于使用。
第4步:Flysky接收器
現(xiàn)在我們必須連接flysky接收器。
將接收器連接到arduino
將要使用的接收器的任何兩個通道連接到arduino引腳9和10。
將電池連接到接收器
將正極連接到接收器的負極和9v電池。確保所有接地都已連接(例如,arduino的接地,接收器的接地以及兩個電池的接地)。通常,當所有地面都未連接時會發(fā)生很多問題。
步驟5:我使用的遙控車
帶有懸架的涼爽R/C賽車,使其易于在許多地形上使用!
因此,首先,我們必須從R/C賽車上拆除電路。
確保不損壞任何組件。除非這是一輛損壞了的舊車:)。
現(xiàn)在,將兩根電線焊接到每個電動機上,然后將這些電線連接到
L298n屏蔽層,如上一步中的示意圖所示。
第6步:對Arduino進行編程
最后,我們獲得了對PPM信號進行解碼并將其轉換的代碼,以便L298能夠理解它們。我使用pulseIn()函數(shù)讀取了發(fā)射器搖桿值!
下面是不言自明的代碼!
/*這是用Vishnu編寫的使用飛機發(fā)射器控制任何遙控汽車的代碼Chaitanya Karpuram。請享用??! */ int motor1Left = 5;//將引腳5定義為連接到馬達
int motor1Right = 6;//將引腳6定義為與電機連接
int motor2Left = 7;//定義引腳7表示連接到電機 motor2Right = 8;//定義了引腳8表示連接到電機通道1 = 9;//定義分別連接到arduino的引腳9和10的通道
int channel2 = 10;//分別連接到arduino的引腳9和10。//稍后用于
int Channel2;//存儲值
void setup()
{
pinMode(motor1Left,OUTPUT);//初始化電機pin
pinMode(motor1Right,OUTPUT);
pinMode(motor2Left,OUTPUT) ;
pinMode(motor2Right,OUTPUT);//作為輸出
pinMode(channel1,INPUT);//初始化通道
pinMode(channel2,INPUT);//作為輸入
Serial.begin (9600);//將波特率設置為9600 bps
}
void loop()
{
Channel1 =(pulseIn(channel1,HIGH));//檢查channel1
的值Serial.println(Channel1);//如果(Channel1》 1300 && Channel1 《1500)/*在串行監(jiān)視器
上打印通道值/*如果滿足這些條件,請執(zhí)行以下操作。這些是我從變送器獲得的值,您可以根據(jù)您的變送器值進行自定義*/
{
digitalWrite(motor1Left,LOW);//將兩個
digitalWrite(motor1Right,LOW);//都設置為低
}
if(Channel1 《1300)//檢查Channel1是否小于1300
{
digitalWrite(motor1Left,HIGH);//左移
digitalWrite(motor1Right,LOW);//電動機正轉
}
if(Channel1》 1500)//檢查Channel1是否大于1500
{
digitalWrite(motor1Left,LOW);//將右
digitalWrite( motor1Right,HIGH);//電機正轉
}
Channel2 =(pulseIn(channel2,HIGH));//檢查channel1
Serial.println(Channel2)的值;//如果(Channel2》 1300 && Channel1 《1500)//在串行監(jiān)視器上打印通道值
//如果滿足這些條件,請執(zhí)行以下操作
{
digitalWrite(motor2Left,LOW );//將兩個
digitalWrite(motor2Right,LOW);//都設置為低
}
if(Channel2 《1300)//檢查Channel2是否小于1300
{
digitalWrite(motor2Left,LOW);//向左旋轉
digitalWrite(motor2Right,HIGH);//電動機向后
}
if(Channel2》 1500)//檢查Channel2是否更大大于1500
{
digitalWrite(motor2Left,HIGH);//向右旋轉
digitalWrite(motor2Right,LOW);//電機向后
}
/*注意-檢查以下各項的值您在串行監(jiān)視器中獲得的通道,并相應地調(diào)整if語句中的值。以棒為中心的情況下,讀數(shù)為1400至1470。舉起棒時,其讀數(shù)為1470以上,而放下時為1300以下。
*/
責任編輯:wv
-
發(fā)射器
+關注
關注
6文章
852瀏覽量
53536 -
遙控車
+關注
關注
9文章
81瀏覽量
23778
發(fā)布評論請先 登錄
相關推薦
評論