零件清單: -
Arduino Nano - 2
L293D - 1
操縱桿 - 1
面包板-1
紙板 - 根據(jù)需要
腳輪 - 1
BO馬達(dá) - 2
BO電動輪 - 2
LiPo電池 - 1
跳線 - 根據(jù)需要
步驟1:模塊規(guī)范
我們使用RF發(fā)射器接收器模塊(如上圖所示)將數(shù)據(jù)從我們的操縱桿傳輸?shù)?a href="http://m.xsypw.cn/soft/data/42-101/" target="_blank">機器人。
變送器:
工作電壓:3V - 最大12V。電源使用12V
工作電流:最大值小于40mA,最小值為9mA
諧振模式:(SAW)
調(diào)制模式:ASK
工作頻率:Eve 315MHz或433MHz
傳輸功率:25mW(12V時為315MHz)
頻率誤差:+ 150kHz(最大值)
速度:小于10Kbps
因此該模塊將在開放區(qū)域內(nèi)傳輸長達(dá)90米。
接收器:
工作電壓:5.0VDC + 0.5V
工作電流:最大≤5.5mA
工作方式:OOK/ASK
工作頻率:315MHz-433.92MHz
帶寬:2MHz
靈敏度:excel -100dBm(50Ω)
發(fā)射速度:《9.6Kbps(315MHz和-95dBm)
注意: - 使用可選天線會增加無線通信的有效性。一個簡單的電線就可以解決問題。
操縱桿 -
模擬操縱桿是在項目中添加一些控制的好方法。
我們需要5個連接到操縱桿。
連接是:鍵,Y,X,電壓和地。 “Y和X”是模擬,“鍵”是數(shù)字。
如果您不需要開關(guān),那么您只能使用4個引腳。
第2步:原理圖
此模塊的連接非常簡單。
Vcc 》》》》 5V
ATAD 》》》 D4“您可以根據(jù)需要從軟件中進(jìn)行更改”。
Gnd 》》》 Gnd
接收器:
Vcc 》》》》 5V
數(shù)據(jù)》》》 D2
Gnd 》》》 Gnd
操縱桿: -
Vcc的》》》》 5V
GND 》》》 GND
X 》》》 A0
Y》 》》 A1
Key 》》》 D2“只有在你需要使用它時才將它連接到arduino”
L293D: -
10 》》》 D6
15 》》》 D5
2 》》》 D9
7 》》》 D10
1,8,9,16 》》》 5V
4,5,12,13 》》》 GND
11,14 》》》電機A
3,6 》》》電機B
步驟3:代碼
只需將此代碼復(fù)制到Arduino IDE即可。你必須在一個Aduino程序中將發(fā)射器的代碼和接收器的代碼復(fù)制到另一個程序。
發(fā)射器的代碼將被上傳到操縱桿接口的arduino,接收器的代碼將被連接到機器人上的arduino。
發(fā)射器代碼: -
(注意: -
首先使用操縱桿進(jìn)行校準(zhǔn)串行監(jiān)視器,以獲得你的操縱桿各自的值)。
AS我必須發(fā)送4個數(shù)據(jù)位,我使用了4個發(fā)送器腿來發(fā)送4位而不是一個數(shù)據(jù)位,如圖所示)
void setup(){
//將設(shè)置代碼放在這里,運行一次:
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
//Serial.begin(9600);
}
void loop(){
int a = analogRead(A0) ;
int b = analogRead(A1);
//Serial.print(a);
//Serial.print(“\\”);
//Serial.println(b);
if(b》 = 700& b 《1023& a》 = 500&& a 《= 540){
digitalWrite(5,0) );//FORWARD
digitalWrite(6,1);
digitalWrite(9,0);
digitalWrite(10,1);
}
if(b 《200& a》 = 500&& a 《= 540 ){
digitalWrite(5,1);//REVERSE
digitalWrite(6,0);
digitalWrite(9,1);
digitalWrite(10,0);
}
if(a》 = 700& a 《1023& b》 = 500 && b 《= 540){
digitalWrite(5,0);//right
digitalWrite(6,1);
digitalWrite(9,1);
digitalWrite(10,0);
}
if(a 《200& b》 = 500&& b 《= 540 ){
digitalWrite(5,1);//left
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(10,1);
}
if(a》 = 500& a 《= 540& b》 = 500&& b 《= 540){
digitalWrite(5,0);//停止
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(10,0);
}
}
接收者代碼: -
(注意: - 由于我必須接收4個數(shù)據(jù)位,我使用了4個接收器而不是一個數(shù)據(jù)位,如原理圖所示。
void setup (){
//將設(shè)置代碼放在這里,運行一次:
pinMode(9,INPUT);
pinMode(10,INPUT);
pinMode(11,INPUT);
pinMode(12,INPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT );
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
}
void loop(){
int a,b,c,d;
a = digitalRead(9);
b = digitalRead(10);
c = digitalRead(11);
d = digitalRead(12);
if(a == 0&& b == 1&& c == 0&& d == 1){
digitalWrite(5,1);
digitalWrite(6,0);
digitalWrite(9, 1);
digitalWrite(10,0);
}
if(a == 1&& b == 0&& c == 1&& d == 0){
digitalWrite(5,0);
digita l寫(6,1);
digitalWrite(9,0);
digitalWrite(10,1);
}
if(a == 0&& b == 1&& c == 1&& d == 0){
digitalWrite(5,0);
digitalWrite(6,1);
digitalWrite(9,1);
digitalWrite(10,0);
}
if(a == 1&& b == 0&& c == 0&& d == 1){
digitalWrite(5,1);
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(10,1);
}
if(a == 0&& b == 0&& c == 0&& d == 0){
digitalWrite(5,0);
digitalWrite(6,0);
digitalWrite(9,0);
digitalWrite(10,0);
}
}
-
機器人
+關(guān)注
關(guān)注
211文章
28704瀏覽量
208687 -
RF
+關(guān)注
關(guān)注
65文章
3059瀏覽量
167427
發(fā)布評論請先 登錄
相關(guān)推薦
【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人的基礎(chǔ)模塊
【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人大模型
開源項目!OpenCat—— 一個全能的平價四足機器人
協(xié)作機器人拽拖示教詳解
基于導(dǎo)納控制的機器人拖動示教原理和實現(xiàn)步驟
柔性機器人和剛性機器人有什么區(qū)別?
![柔性<b class='flag-5'>機器人</b>和剛性<b class='flag-5'>機器人</b>有什么區(qū)別?](https://file1.elecfans.com/web2/M00/02/EA/wKgZoma-triACzqmAADBFqAkjNs981.png)
評論