步驟1:材料
該項(xiàng)目需要以下材料。
帶驅(qū)動(dòng)馬達(dá)和轉(zhuǎn)向馬達(dá)的遙控車(我們使用了Elenco無線電遙控車套件:http://www.amazon.com/Elenco-Radio-Controlled-Car -。..)
跳線
焊鐵
Arduino Uno(應(yīng)該可以正常工作)
一個(gè)9伏電池
四節(jié)AA電池
接近傳感器(我們使用https://www.sparkfun.com/products/242)
H-Bridge(我們使用http://www .ti.com/lit/ds/symlink/sn754410.pdf)
用于H橋的散熱器
兩個(gè)LED
兩個(gè)100-200歐姆電阻
步驟2:組裝汽車
取決于您開始使用的材料將RC汽車轉(zhuǎn)換為自動(dòng)汽車的第一步需要破解實(shí)際車輛。也就是說,為了控制汽車的運(yùn)動(dòng),將有必要使用其電動(dòng)機(jī)。對(duì)于大多數(shù)汽車,這需要拆卸所購車輛。但是,在此示例中,我們購買的車輛分批交付,因此我們描述了構(gòu)建它的類似過程。
組裝商用遙控車相對(duì)簡(jiǎn)單??赡芤鸹靵y的唯一步驟是增加車軸,特別是前輪軸。前軸也很脆弱,應(yīng)注意避免長(zhǎng)時(shí)間運(yùn)行前電動(dòng)機(jī),以免前軸折斷。一旦安裝了車軸和相應(yīng)的齒輪,一個(gè)有效的工作車就會(huì)減掉電機(jī)。汽車附帶的使用說明書可能會(huì)提示您將電動(dòng)機(jī)連接到電池。但是,在這里,人們停止了原始裝配并開始對(duì)汽車進(jìn)行黑客攻擊。在這一點(diǎn)上,應(yīng)該從汽車內(nèi)部卸下或忽略提供的接收器芯片。
在適當(dāng)組裝了RC汽車的其余部分之后,應(yīng)收集步驟1中所述的材料并識(shí)別未連接的引線??傮w而言,應(yīng)該有7條未連接的電線可被黑客入侵。每個(gè)電動(dòng)機(jī)應(yīng)有兩條引線,AA電池的電源應(yīng)有兩條引線。 AA電池中的一根引線也分成了兩根引線。然后使用我們的方法將這七個(gè)引線引出到H橋。下一步中將給出有關(guān)H橋的一般信息。請(qǐng)注意,還附帶了一個(gè)數(shù)據(jù)表供參考。
步驟3:Arduino基礎(chǔ)
Arduino Uno是必不可少的部分破解汽車的方法如果您還沒有Arduino Uno或Leonardo,則可以在線購買,價(jià)格為20-25美元。 Arduino非常重要,因?yàn)樗且环N可以將代碼上傳到電路的工具。這是通過USB端口啟用的,該端口通過電纜連接到計(jì)算機(jī)。如果您仔細(xì)查看提供的圖片,您可能會(huì)注意到Arduino有用于多個(gè)輸出以及5伏和地的引腳。 5伏輸出由連接到Arduino另一個(gè)端口的9伏電池供電,為接近傳感器和LED供電。在我們的示例中,我們?cè)贏rduino上連接了5V線,并將輸出5、6、10和11連接到H橋。除了5V和接地以外,所有引腳實(shí)際上都是等效的,除了它們提供的是交流還是直流,因此我們的選擇是任意的。實(shí)際上,您可以將Arduino視為中間人,它從計(jì)算機(jī)獲取代碼并將其中繼到H橋。只要您正確連接5V并接地,它就應(yīng)該易于使用。
第4步:H橋
對(duì)于此項(xiàng)目,我們需要一種切換電動(dòng)機(jī)方向的方法,因此我們使用了一個(gè)具有8個(gè)引腳的SN754410(完整)H橋。全h橋與半h橋相反,可以改變兩個(gè)電動(dòng)機(jī)的方向,而不僅僅是一個(gè)電動(dòng)機(jī)。我們使用的一種產(chǎn)品的數(shù)據(jù)表可以在上面的材料部分的鏈接上找到。我們的一側(cè)用于驅(qū)動(dòng)馬達(dá)(位于汽車后部),另一側(cè)用于轉(zhuǎn)向馬達(dá)(位于前部)。
銷釘?shù)捻樞蚴菑?a target="_blank">驅(qū)動(dòng)器的逆時(shí)針方向讀取的。半圓為:使能,輸入,輸出,接地,接地,輸出,輸入和VCC電源。如上圖所示。在電橋的另一側(cè),引腳被顛倒(使能且vcc引腳位于相對(duì)的角上),輸入將是arduino與h橋的通信方式,輸出將是h橋與電機(jī)的通信方式。電機(jī)上的導(dǎo)線不必按特定順序放置。使能引腳用于“接通” h橋,應(yīng)始終提供電源。我們使用arduino的5伏電源為使能引腳供電,但只要它們始終設(shè)置為HIGH,它們也可以由arduino上的引腳之一供電。如果選擇了第二個(gè)選項(xiàng),則h橋的一側(cè)的代碼將如下所示:
int en1 = 4;
pinMode(EN1,OUTPUT);
要記住的重要一點(diǎn)是,在測(cè)試一臺(tái)電動(dòng)機(jī)時(shí),h橋兩端的vcc輸入應(yīng)連接到電源(在我們的案例中是四節(jié)AA電池)。我們不確定為什么會(huì)這樣,但是使用h橋的單側(cè)仍然需要同時(shí)為兩個(gè)vcc輸入供電。
要記住的另一個(gè)重要方面是,由于存在大量的為了確保電流通過H橋,應(yīng)使用散熱器。
步驟5:為電動(dòng)機(jī),H橋和接近傳感器接線
將電動(dòng)機(jī)和接近傳感器接線到H橋是破解RC車最困難的部分。如上所示,創(chuàng)建此電路的一個(gè)好方法是使用面包板。但是,如果您遵循我們繪制的圖表,則應(yīng)該可以輕松構(gòu)建它。首先將H橋放置在電路板的中間,然后用一條扎帶將Arduino固定到頂部。接下來,將接近傳感器連接到Arduino,將電機(jī)連接到H橋。這是在Arduino和H橋之間連接電線的簡(jiǎn)單問題。上圖顯示了此過程。請(qǐng)注意,Arduino上只有兩個(gè)接地引腳,因此有必要在全部接地的面包板上創(chuàng)建一行或一列。在板上創(chuàng)建完全為5V的一行或一列并將Arduino的5V引腳布線到板上也可能會(huì)有所幫助。如果您有信心為電路布線,顯然可以采用多種方法來修改我們創(chuàng)建的電路,但是您可能希望完全復(fù)制該電路以節(jié)省時(shí)間。
步驟6:替代面包板
如果要如果要使自動(dòng)駕駛汽車的布線特別緊湊和耐用,則可以考慮制作電路“屏蔽”。這涉及將電路設(shè)計(jì)打印到銅片上,然后在適當(dāng)?shù)牡胤胶附铀璧膶?dǎo)線和電路元件。顯然,不太可能擁有在銅板上印刷電路所需的設(shè)備。但是,如果您是一所大學(xué)的學(xué)生,則很可能會(huì)獲得我們強(qiáng)烈建議的訪問權(quán)限。在線有一個(gè)名為Eagle的免費(fèi)程序,可以用來設(shè)計(jì)這種防護(hù)罩。這是鏈接:
http://www.cadsoftusa.com/download-eagle/?語言。..
我們創(chuàng)建的典型最終設(shè)計(jì)如圖所示以上。
第7步:示例代碼
一旦電路工作到位,就有很多機(jī)會(huì)可以將代碼上傳到汽車上。使用可以通知汽車向前和向后以及左右移動(dòng)的接近傳感器,理論上可以對(duì)汽車進(jìn)行編程以驅(qū)動(dòng)任何所需的路徑,例如通過迷宮或障礙物路線。
我們作為示例提供的以下代碼非常簡(jiǎn)單,易于遵循。如果您沒有編碼經(jīng)驗(yàn),我們建議您將其復(fù)制并粘貼到Arduino終端,然后根據(jù)需要進(jìn)行調(diào)整。例如,首先將輸入值從“ LOW”更改為“ HIGH”,反之亦然,這將改變給定電動(dòng)機(jī)的方向。請(qǐng)注意,我們的代碼包含了我們汽車所載LED的命令。這些功能的編碼方式相同,如果您的汽車沒有LED,則可以忽略它們。
此外,如果您尚未在計(jì)算機(jī)上下載Arduino終端,則可以通過以下鏈接免費(fèi)獲得一個(gè)Arduino終端:
http://arduino.cc/en/main/software
這是我們?cè)贏rduino終端中輸入的示例代碼:
int input1 = 6;
int input2 = 5;
int input3 = 10;
int input4 = 11;
int blue = 3;
int red = 2;
void setup(){
Serial.begin(9600);
pinMode(輸入1,OUTPUT);
pinMode(輸入2,OUTPUT);
pinMode(輸入3,OUTPUT);
pinMode(輸入4,OUTPUT);
pinMode(藍(lán)色,OUTPUT);
pinMode(紅,OUTPUT);
}
無效循環(huán)(){
int sensorValue = analogRead(A0); Serial.println(analogRead(A0));
延遲(1);
if(sensorValue 《100){
digitalWrite(blue,HIGH);
digitalWrite(紅,LOW);
digitalWrite(輸入1,LOW);
digitalWrite(輸入2,LOW);
digitalWrite(輸入3,HIGH);
digitalWrite(輸入4,LOW);
}
否則{{br》 digitalWrite(blue,LOW);
digitalWrite(紅,LOW);
digitalWrite(input1,LOW);
digitalWrite(輸入2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,LOW);
delay(2000);
digitalWrite(藍(lán)色,LOW);
digitalWrite(紅,HIGH);
digitalWrite(input1,LOW);
digitalWrite(輸入2,LOW);
digitalWrite(input3,LOW);
digitalWrite(input4,HIGH);
delay(2000);
digitalWrite(藍(lán)色,LOW);
digitalWrite(紅,LOW);
digitalWrite(input1,LOW);
digitalWrite(輸入2,LOW);
digitalWrite(輸入3,LOW);
digitalWrite(input4,LOW);
delay(2000);
}
}
步驟8:進(jìn)一步的想法
希望無論如何它都很有用,這條指令令人發(fā)指。用RC車創(chuàng)建有趣和有趣的項(xiàng)目有很多可能性,實(shí)際上,我們以將其轉(zhuǎn)換為自動(dòng)駕駛汽車的示例幾乎不會(huì)刮擦表面。我們僅在汽車上增加了兩個(gè)LED,用于指示驅(qū)動(dòng)馬達(dá)的運(yùn)行方向??隙ㄓ锌赡茉陔娐分刑砑痈鄠€(gè)LED,這些LED可以根據(jù)電動(dòng)機(jī)的速度或電壓而點(diǎn)亮,從而可以用作有效的速度表。我們?cè)O(shè)想添加的另一個(gè)有點(diǎn)荒謬的功能是某種防御機(jī)制。也就是說,汽車可以在其路徑代碼中的某個(gè)點(diǎn)之后發(fā)射小彈丸。這在創(chuàng)建啟動(dòng)器時(shí)需要一些獨(dú)創(chuàng)性,但再次完全可行。
-
遙控汽車
+關(guān)注
關(guān)注
0文章
8瀏覽量
7031 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187658
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論