新聞中心

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

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

        作者: 時間:2023-05-04 來源:電子產品世界 收藏

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

        本文引用地址:http://www.104case.com/article/202305/446156.htm

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

        電路原理:

        當我們把信息從手機發送到調制解調器時,GSM調制解調器會連續發送以下命令,表示收到了新的信息。

        +CMTI: "SM",3

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

        at+cmgr=3

        這里的數字3表示要讀取的信息的位置。在向GSM模塊發送這個命令后,調制解調器將連續發送以下命令。

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

        forward

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

        從上述命令中,我們需要提取用戶發送的信息(轉發)。現在將此信息與預定義的字符串(向前、向后、向左、向右)進行比較,根據結果控制機器人。

        框圖:

        GSM Controlled Robot Block Diagram

        GSM控制的機器人 - 方框圖

        電路圖:

        GSM Controlled Robot Circuit Diagram using 8051 Microcontroller

        GSM控制的機器人電路圖

        硬件要求:

        8051單片機

        AT89C51編程板

        編程電纜

        16*2 LCD

        MAX 232電平轉換器

        GSM sim 300模塊

        L293D電機驅動器

        機器人

        9V直流電池 - 2

        5V電源電路

        0.1uF陶瓷電容 - 4個

        33pF電容 - 2

        10uF 電解電容

        12MHz晶體

        10k(1/4瓦)電阻

         單針連接線

        軟件要求:

        Kiel U vision

        Flash magic

        Proteus

        電路設計:

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

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

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

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

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

        電路工作算法:

        初始化LCD和UART協議

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

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

        現在讀取該特定信息并提取信息的內容

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

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

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

        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控制的機器人項目編寫程序。

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

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

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

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

        現在打開電源

        用其他手機向GSM模塊發送

        現在你可以在LCD上看到相同的信息。

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

        電路應用:

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

        在軍事上的應用。

        該電路的局限性:

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

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



        關鍵詞: GMS 機器人 短信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 伊川县| 深州市| 繁昌县| 瑞丽市| 广宗县| 绥棱县| 都昌县| 留坝县| 凌源市| 鄯善县| 资阳市| 友谊县| 鄂尔多斯市| 沾化县| 酒泉市| 缙云县| 乌兰县| 太康县| 巴中市| 乌恰县| 长兴县| 米易县| 双柏县| 兴宁市| 玉环县| 景东| 华容县| 龙南县| 阿巴嘎旗| 鹿邑县| 平凉市| 慈溪市| 德令哈市| 洪雅县| 介休市| 通江县| 南部县| 和顺县| 霍林郭勒市| 江油市| 阿巴嘎旗|