首页

采用单片机的GSM控制机器人

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

(adsense1)

本项目主要包括两个部分,一个是移动单元,另一个是机器人单元。固定在机器人上的GSM调制解调器接收手机发送的信息,并向微控制器发出指令,控制机器人的方向。在这个项目中,我们进行交互8051单片机GSM SIM 300。控制器和GSM modem之间的通信协议是UART (Universal Asynchronous Receiver-Transmitter)。该系统通过连续检测信息来对机器人进行控制决策。

电路原理:

当我们从手机向调制解调器发送消息时,GSM调制解调器会连续发送以下命令,表示收到了新消息。

+ CMTI:“SM”,3

在上面的命令中,数字3表示新消息的位置。现在我们需要读取这条未读消息,以将其显示在LCD上。从GSM modem读取短信的命令为

+ cmgr = 3

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

+ CMGR:“REC未读”,“MD-WAYSMS”、“13/05/20 15:31:48 + 34”
向前

在上述命令中“矩形未读”表示该消息为未读消息,“MD-WAYSMS”发件人手机号码或姓名,13/05/20表示日期,15:31表示时间和向前是消息的内容。

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

(adsense2)

框图:

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

线路图:

采用8051单片机的GSM控制机器人电路图
GSM控制机器人电路图

硬件需求:

  • 8051单片机
  • AT89C51编程板
  • 编程电缆
  • 16 * 2液晶
  • max232电平转换器
  • GSM sim 300模块
  • L293D电机驱动器
  • 机器人
  • 9V直流电池- 2
  • 5V电源电路
  • 0.1uF陶瓷电容器- 4
  • 33pF电容器- 2
  • 10uF电解电容器
  • 12 mhz水晶
  • 10k(1/4瓦)电阻
  • 单脚接线

软件要求:

  • 基尔U型视力
  • 闪电魔法
  • 普罗透斯

电路仿真视频:

电路设计:

该电路主要由单片机、电机驱动器、液位转换器、GSM模块和机器人组成。这里使用的是89c51单片机,它需要一个正5V的直流电源。为了给控制器提供5V的稳压直流电压,使用7805电源电路。这里使用了两个9V电池,一个是给电路供电,另一个是运行直流电机。

在上述电路中,16 × 2 LCD以4位模式连接到单片机的PORT1上。LCD数据线D4、D5、D6、D7分别连接P1.4、P1.5、P1.6、P1.7,控制引脚连接P1.0、P1.1、P1.2。这里它用来表示收到的消息。

GSM modem的Tx、Rx引脚分别与max232的13、14引脚相连。单片机TXD和RXD引脚连接电平转换器的11和12引脚。这里max232是控制器和GSM模块之间的中介,用于转换电压水平。要了解更多关于max232的详细信息,请参阅Max232数据表

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

控制器的P2.0、P2.1、P2.2、P2.3引脚连接到l293d输入引脚上,用于控制两台直流电机。这个IC的工作电压是5V。使用该IC,我们可以操作2个直流电机,电压范围从4.5到36V。我们需要在8点启动电机供应thl293d的引脚。要了解更多关于电机驱动IC的信息,请参考L293D数据表

电路工作算法:

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

使用下面的代码从GSM调制解调器读取一条新消息。

While (rx_data() != 0 x0d);
While (rx_data() != 0 x0a);
If (rx_data() == ' + ')

if (rx_data() == ' C ')

if (rx_data() == ' M ')

if (rx_data() == ' T ')

如果(rx_data() = =“我”)

While (rx_data() != ', ');
A = rx_data ();
delay_ms (10);
tx_string(“的”);
tx_data (0 x0d);
tx_data (0 x0a);
Tx_string (" at + CMGF =1 ");
tx_data (0 x0d);
tx_data (0 x0a);
Tx_string (" at + CMGR = ");
tx_data(一个);
tx_data (0 x0d);
tx_data (0 x0a);
While (rx_data() != 0 x0a);
While (rx_data() != 0x0a);
While (rx_data() != 0 x0a);
(我= 0;我< 15;我+ +)

Read [i]= rx_data();

lcd_stringxy(1,0,阅读);
delay_ms (5000);




如何操作?

  1. 使用keil软件编写程序到GSM控制机器人项目中
  2. 现在在闪光魔法的帮助下将程序刻录到微控制器上。
  3. 按电路图给出连接。
  4. 使用电源电路为微控制器提供5V直流
  5. 将SIM卡(Subscriber Identity Module)插入GSM模块。
  6. 现在打开电源
  7. 使用其他手机向GSM模块发送短信
  8. 现在你可以在LCD上看到同样的信息。
  9. 如果接收到的消息与任何预定义的字符串匹配,则机器人相应地移动。

试试这个:[遥控间谍机器人

电路的应用:

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

电路的局限性:

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

下载项目代码

注意:

如果您有兴趣获得代码,请花点时间在评论区回答以下问题,这样我们就会将代码发送给您。

  • 为什么需要这个项目代码?
  • 你是想做同一个项目还是不同的项目?
  • 给我们更多关于你的项目的细节。

40的反应

  1. 先生,我正试图通过用相同电路的继电器替换电机来修改这个机器人,这样我们就可以远程控制水泵,这对农民来说也非常有用,甚至任何电器都可以轻松控制,所以我恳请您将您的代码张贴到我上面的电子邮件id中,如果您这样做,我会很感激

  2. 能把程序的代码给我吗。我正在尝试建立一个类似的机器人与一些更多的变化。我正在构建的是一个机器人,它会收到来自客户的短信,他想要从房子里捡垃圾,机器人是LFR,它会到达房子去收集垃圾,这个过程将继续。

    请提供我以上项目的代码,以便我完成我的工作。这是一种紧急,如果你需要,我可以张贴项目的完整细节,一旦它完成。

  3. 你好,我正在按照提供的代码执行这个项目,但在向gsm调制解调器(sim 900a)发送消息后,微控制器(AT89S52)没有响应。

  4. 嗨. .我正在进行的项目使用gsm模块通过发送短信到微控制器来控制直流电机。当微控制器收到短信时,它移动直流电机开门。所以我对你们的项目很感兴趣。这是我的电子邮件地址源代码..lelokojmothebe@gmail.com. .谢谢你!

  5. 我们正在努力实现这个项目,因为它看起来非常有趣。它还可以帮助我们更好地理解8051接口。谢谢你!

  6. 亲爱的Elbob多特蒙德官方下载ectronicshub团队:

    我想把L293D换成ULN2003和相同电路的继电器,这样我就可以通过短信远程控制交流电器。请把这个的源代码发给我。

  7. 嗨,管理员,我能有代码吗,因为我正在做和你一样的项目,我的学期嵌入式主题,我已经做了所有的硬件连接,但代码不能正常工作....所以你可以发送它

  8. 非常好的解释。想看到的代码GSM接收,因为我遇到的问题检测实时短信在我的项目。谢谢你!

  9. 先生,
    我想这样做作为我的最后一年的项目,请帮助我的软件和编码用于这个项目。

  10. 嗨……我需要这个作为我的期末项目。我想要同样的项目。我的项目是基于gsm的项目,使用单片机。

  11. 我想把这个项目作为我的迷你项目,想学习很多关于项目制作的东西。请帮我这个.........

  12. 嘿。我正在做一个类似的项目,其中我将使用DTMF解码器发送消息到微控制器。你能帮我提供电路的代码吗?很高兴得到您的支持。
    谢谢。

  13. 你好,我想把这个项目作为我学习的一部分,请尽快发给我代码,因为我们必须在期限前提交项目

  14. 你好,

    我正在为我的毕业设计制作一个GSM控制机器人。

    它有一个gsm模块。如果可以请把项目代码发给我

    谢谢。

留下回复

你的电邮地址将不会公布。必填字段已标记

bob多特蒙德官方下载Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu
map