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

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

该项目主要由2个部分组成,一个是移动单元,另一个是机器人单元。固定在机器人上的GSM调制解调器接收到手机发送的消息,并将指令提供给微控制器以控制机器人方向。在这个项目中,我们接口8051微控制器使用GSM SIM 300。用于控制器和GSM调制解调器之间的通信的协议是UART(通用异步接收器 - 传播者)。该系统不断检查消息以采取决定机器人的决定。

电路原理:

当我们将消息从移动设备发送到调制解调器时,GSM调制解调器串行发送以下命令,以指示收到新消息。

+CMTI:“ SM”,3

在上面的命令中3指示新消息的位置。现在,我们需要阅读此未读消息以在LCD上显示。从GSM调制解调器读取消息的命令是

在+cmgr = 3

这里的数字3指示要读取的消息的位置。将此命令发送到GSM模块后,调制解调器串行发送以下命令。

+cmgr:“ rec unread”,“ md-waysms”,“ 13/05/20,15:31:48+34”
向前

在上面的命令中“ rec unread”表示消息是未读消息,“ MD-waysms”指示发送者手机号码或名称,13/05/20表示日期,15:31表示时间和向前是消息的内容。

从上面的命令中,我们需要提取消息(向前)由用户发送。现在,根据结果控制机器人,将此消息与预定义的字符串(向前,向后,左,右)进行比较。

框图:

GSM控制的机器人框图
GSM控制机器人 - 框图

电路原理图:

GSM控制的机器人电路图使用8051微控制器
GSM控制机器人电路图

硬件要求:

  • 8051微控制器
  • AT89C51编程委员会
  • 编程电缆
  • 16*2 LCD
  • 最大232级转换器
  • GSM SIM 300模块
  • L293D电机驱动器
  • 机器人
  • 9V DC电池 - 2
  • 5V电源电路
  • 0.1UF陶瓷电容器 - 4
  • 33pf电容器 - 2
  • 10UF电解电容器
  • 12MHz晶体
  • 10K(1/4瓦)电阻器
  • 单针连接电线

软件要求:

  • Kiel U视觉
  • Flash Magic
  • proteus

电路模拟视频:

电路设计:

上述电路中使用的主要组件是微控制器,电机驱动器,电平转换器,GSM模块和机器人。此处使用了AT89C51微控制器,它需要阳性5V DC的电源。为了向控制器提供受管制的5V直流电压,请使用7805电源电路。在这里,使用了两个9V电池,一个电池是为了向电路提供供应,另一个是运行直流电动机。

在上面的电路中,以4位模式连接了16 x 2 LCD到微控制器的端口1。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引脚。MicroController TXD和RXD引脚连接到级别转换器的11和12销。此处Max232是控制器和GSM模块之间的中介,它用于转换电压级别。要了解有关Max232的更多详细信息Max232数据表

GSM模块需要5V电源。为了与此GSM进行交流,我们需要发送在命令使用串行通信(UART协议)。使用9600的波特率与GSM通信。

控制器的P2.0,P2.1,P2.2和P2.3引脚连接到L293D输入引脚,这些引脚用于控制两个DC电动机。该IC的工作电压为5V。使用此IC,我们可以操作2个DC电动机,电压范围为4.5至36V。我们需要在8点应用电动机供应ThL293D的引脚。要了解有关电动机驱动器IC的更多信息L293D数据表

电路工作算法:

  1. 初始化LCD和UART协议
  2. 连续检查命令+CMTI:“ SM”,3(位置编号)知道天气是否收到新消息
  3. 如果收到命令,则存储消息位置编号。
  4. 现在阅读该特定消息并提取消息的正文
  5. 在LCD上显示提取的内容,并将此内容与预定义的字符串进行比较。
  6. 如果匹配,请在机器人上执行必要的操作。

使用以下代码读取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 ++)
{
读[i] = rx_data();
}
lcd_stringxy(1,0,读);
delay_ms(5000);
}
}
}
}
}

如何操作?

  1. 使用KEIL软件将程序写入GSM控制的机器人项目
  2. 现在,在Flash Magic的帮助下将程序烧给微控制器。
  3. 根据电路图给出连接。
  4. 使用电源电路向微控制器提供5V DC
  5. 将SIM(用户身份模块)插入GSM模块。
  6. 现在打开供应
  7. 使用其他手机将SMS发送到GSM模块
  8. 现在,您可以在LCD上看到相同的消息。
  9. 如果接收的消息与任何预定义的字符串匹配,则机器人将相应地移动。

尝试这个: [远程操作的间谍机器人这是给予的

电路应用程序:

  • 该项目用于机器人应用
  • 用于军事应用。

电路的局限性:

  • 机器人部分必须具有网络才能无线接收命令。
  • 由于没有密码,任何人都可以通过发送消息来操作机器人。

下载项目代码

笔记:

如果您有兴趣获得代码,请花一些时间在评论部分中回答以下问题,以便我们向您发送代码。

  • 为什么需要此项目代码?
  • 您是要制作相同的项目还是不同的项目?
  • 给我们有关您项目的更多详细信息。

40个回应

  1. 先生,我试图通过用同一电路代替继电器来修改该机器人,以便我们可以远程控制水泵,这对农民也非常有用,甚至任何电器都可以轻松控制我上述电子邮件ID的代码,如果您这样做,我将感谢您

  2. 嘿,我可以为该程序提供代码。我正在尝试构建一个类似的机器人,并进行更多更改。我正在建造的是一个机器人,它将从客户那里收到他希望从房屋中捡起的垃圾的短信,并且机器人是LFR,将到达房屋收集垃圾,并且该程序将继续。

    请为我提供上述项目的代码,以便我完成工作。这很紧急,如果您愿意,我可以在项目完成后发布完整的详细信息。

  3. 嗨,我正在与提供的代码一起执行此项目,但是在将消息发送到GSM调制解调器(SIM 900A)之后,MicroController(AT89S52)没有任何响应。

  4. 嗨,我正在研究该项目,该项目使用GSM模块通过将SMS发送到微控制器来换取直流电机。当微控制器收到SMS时,它会移动直流电动机以打开门。因此,我对您的项目感兴趣。这是我用于源代码的电子邮件地址。lelokojmothebe@gmail.com.. 谢谢你

  5. 我们正在尝试实施此项目,因为它似乎非常有趣。这也将帮助我们以更好的方式了解8051接口。感谢你!

  6. 嗨,管理员我可以使用代码,因为我正在执行与您的学期嵌入式主题相同的项目,并且我已经进行了所有硬件连接,但是代码无法正常工作……。所以您可以发送它

  7. 很好的解释。想查看GSM的代码收到的代码,因为我遇到了在项目中检测现场短信的问题。谢谢你。

  8. 先生,我们正在尝试进行同一项目……。该项目是使用8051 MicroController的GSM机器人智能

  9. 嗨……..我需要这个作为我的最后一年项目。我想要同一项目。我的项目是使用微控制器的基于GSM的项目。

  10. 我想将这个项目作为我的迷你项目,并想学习有关项目制作的许多知识。请帮助我…………

  11. 嘿。我正在研究一个类似的项目,其中我将使用DTMF解码器将消息发送给微控制器。您能为我提供电路代码来帮助我吗?将很高兴获得您的支持。
    谢谢。

  12. 嗨,我想将这个项目作为我的学习的一部分。请尽早向我发送代码,因为我们必须在时间限制之前提交该项目

  13. 你好,

    我正在为毕业后项目制作GSM受控机器人。

    它具有GSM模块。如果可能的话,请给我发送项目代码。

    谢谢你。

发表评论

您的电子邮件地址不会被公开。

电子豪华粉丝
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map