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

时间:2023-05-04来源:电子产品世界

GSM控制的机器人或SMS控制的机器人是一种无线机器人,它通过接收一组短信息服务(SMS)形式的指令来执行必要的行动。在这个项目中,我们可以通过从手机上发送短信来控制机器人的方向,如前进、后退、左边和右边。早些时候,我们已经看到了一个不使用微控制器的DTMF控制机器人的工作。

这个项目主要由两个部分组成,一个是移动单元,另一个是机器人单元。固定在机器人上的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 机器人 短信

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版