新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 使用微控制器GSM控制的機器人

使用微控制器GSM控制的機器人

作者: 時間:2023-05-04 來源:電子產(chǎn)品世界 收藏

GSM控制的或SMS控制的是一種無線,它通過接收一組息服務(SMS)形式的指令來執(zhí)行必要的行動。在這個項目中,我們可以通過從手機上發(fā)送來控制機器人的方向,如前進、后退、左邊和右邊。早些時候,我們已經(jīng)看到了一個不使用微控制器的DTMF控制機器人的工作。

本文引用地址:http://www.butianyuan.cn/article/202305/446156.htm

這個項目主要由兩個部分組成,一個是移動單元,另一個是機器人單元。固定在機器人上的GSM調(diào)制解調(diào)器接收手機發(fā)送的信息,并向微控制器發(fā)出指令,控制機器人的方向。在這個項目中,我們將8051微控制器與GSM SIM 300連接。控制器和GSM調(diào)制解調(diào)器之間的通信所使用的協(xié)議是UART(通用異步收發(fā)器)。該系統(tǒng)不斷檢查信息,以決定是否控制機器人。

電路原理:

當我們把信息從手機發(fā)送到調(diào)制解調(diào)器時,GSM調(diào)制解調(diào)器會連續(xù)發(fā)送以下命令,表示收到了新的信息。

+CMTI: "SM",3

在上面的命令中,數(shù)字3表示新信息的位置。現(xiàn)在我們需要讀取這條未讀信息,并將其顯示在LCD上。從GSM調(diào)制解調(diào)器讀取信息的命令是

at+cmgr=3

這里的數(shù)字3表示要讀取的信息的位置。在向GSM模塊發(fā)送這個命令后,調(diào)制解調(diào)器將連續(xù)發(fā)送以下命令。

+cmgr: "rec unread", "md-waysms",, "13/05/20,15:31:48+34″。

forward

在上述命令中,"REC UNREAD "表示該信息是未讀信息,"MD-WAYSMS "表示發(fā)件人的手機號碼或姓名,13/05/20表示日期,15:31表示時間,forward是信息的內(nèi)容。

從上述命令中,我們需要提取用戶發(fā)送的信息(轉(zhuǎn)發(fā))?,F(xiàn)在將此信息與預定義的字符串(向前、向后、向左、向右)進行比較,根據(jù)結(jié)果控制機器人。

框圖:

GSM Controlled Robot Block Diagram

GSM控制的機器人 - 方框圖

電路圖:

GSM Controlled Robot Circuit Diagram using 8051 Microcontroller

GSM控制的機器人電路圖

硬件要求:

8051單片機

AT89C51編程板

編程電纜

16*2 LCD

MAX 232電平轉(zhuǎn)換器

GSM sim 300模塊

L293D電機驅(qū)動器

機器人

9V直流電池 - 2

5V電源電路

0.1uF陶瓷電容 - 4個

33pF電容 - 2

10uF 電解電容

12MHz晶體

10k(1/4瓦)電阻

 單針連接線

軟件要求:

Kiel U vision

Flash magic

Proteus

電路設計:

上述電路中使用的主要部件是微控制器、電機驅(qū)動器、電平轉(zhuǎn)換器、GSM模塊和機器人。這里使用的是at89c51微控制器,它需要一個正5V的直流電源。為了給控制器提供穩(wěn)定的5V直流電壓,使用7805電源電路。這里使用兩個9V電池,一個用于給電路供電,另一個用于運行直流電動機。

在上述電路中,16 x 2 LCD以4位模式連接到微控制器的PORT1。LCD的數(shù)據(jù)線D4、D5、D6和D7分別連接到P1.4、P1.5、P1.6和P1.7,控制引腳連接到P1.0、P1.1和P1.2。在這里,它用于指示收到的信息。

 GSM調(diào)制解調(diào)器的Tx和Rx引腳連接到max232的13和14引腳。微控制器的TXD和RXD引腳被連接到電平轉(zhuǎn)換器的11和12引腳。在這里,max232是控制器和GSM模塊之間的中介,它被用來轉(zhuǎn)換電壓水平。要了解關(guān)于max232的更多細節(jié),請參考Max232數(shù)據(jù)表。

GSM模塊需要5V的電源。為了與GSM通信,我們需要使用串行通信(UART協(xié)議)發(fā)送AT命令。使用9600的波特率來與GSM通信。

控制器的P2.0、P2.1、P2.2和P2.3引腳與l293d輸入引腳相連,這些引腳用于控制兩個直流電機。這個IC的工作電壓是5V。使用這個IC,我們可以在4.5-36V的電壓范圍內(nèi)操作兩個直流電動機。我們需要在l293d的第8個引腳上施加電機電源。要了解更多關(guān)于電機驅(qū)動IC的信息,請參考L293D數(shù)據(jù)表。

電路工作算法:

初始化LCD和UART協(xié)議

持續(xù)檢查命令+CMTI: "SM",3 (位置號)以了解是否收到新的信息。

如果你收到了命令,那么存儲信息的位置號。

現(xiàn)在讀取該特定信息并提取信息的內(nèi)容

在LCD上顯示提取的內(nèi)容,并將其與預定義的字符串進行比較。

如果匹配,則在機器人上執(zhí)行必要的動作。

使用下面的代碼從GSM調(diào)制解調(diào)器中讀取一條新信息。

while (rx_data() ! = 0x0d);

while (rx_data() ! = 0x0a);

if (rx_data() == ‘+’)

{

if (rx_data() == ‘C’)

{

if (rx_data() == ‘M’)

{

if (rx_data() == ‘T’)

{

if (rx_data()==’I’)

{

while (rx_data() != ‘,’);

a = rx_data ();

delay_ms (10);

tx_string (“at”);

tx_data (0x0d);

tx_data (0x0a);

tx_string (“at + cmgf =1”);

tx_data (0x0d);

tx_data (0x0a);

tx_string (“at + cmgr =”);

tx_data (a);

tx_data (0x0d);

tx_data (0x0a);

while (rx_data() ! = 0x0a);

while (rx_data() != 0x0a);

while (rx_data() ! = 0x0a);

for (i=0; i<15; i++)

{

read [i]= rx_data();

}

lcd_stringxy(1,0,read);

delay_ms (5000);

}

}

}

}

}

如何操作?

使用Keil軟件為GSM控制的機器人項目編寫程序。

現(xiàn)在,在flash magic的幫助下,將程序刻錄到單片機上。

按照電路圖給出連接方式。

使用電源電路向微控制器提供5V直流電。

在GSM模塊上插入SIM(用戶身份模塊)。

現(xiàn)在打開電源

用其他手機向GSM模塊發(fā)送

現(xiàn)在你可以在LCD上看到相同的信息。

 如果收到的信息與任何預定義的字符串相匹配,機器人就會相應地移動。

電路應用:

這個項目被用于機器人應用中

在軍事上的應用。

該電路的局限性:

機器人部分必須有網(wǎng)絡以無線方式接收命令。

由于沒有密碼,任何人都可以通過發(fā)送信息來操作機器人。



關(guān)鍵詞: GMS 機器人 短信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉