【问题标题】:Arduino Uno R3 + SIM900Arduino Uno R3 + SIM900
【发布时间】:2016-08-04 22:04:10
【问题描述】:

我是一名尝试硬件的程序员

我正在尝试连接我在网上购买的 SIM900 扩展板。 因此,我已经按照大量教程将 SIM 扩展板与 Arduino UNO 连接起来。

嗯,情况不太好。

我在里面放了一个解锁的 sim 卡,netlight 指示灯在 3 秒内闪烁 3 次,表示它找到了网络。

正如很多人所说,我还将引脚设置为 D7 和 D8。 我也在使用 9v 和 1A 的电源。

但是当我尝试运行一个简单的基本示例代码时,它们无法正常执行。

我运行这个示例代码:

#include <SoftwareSerial.h>

SoftwareSerial GPRS(7, 8);

unsigned char buffer[64];  // buffer array for data receive over serial port
int count=0;               // counter for buffer array 

void setup()
{
  GPRS.begin(19200);
  Serial.begin(19200);
}

void loop()
{
  if (GPRS.available())
  {
    while(GPRS.available())
    {
      buffer[count++]=GPRS.read();
      if(count == 64)break;
    }
    Serial.write(buffer,count);
    clearBufferArray();
    count = 0;
  }
  if (Serial.available())
    GPRS.write(Serial.read());
}

void clearBufferArray() 
{
  for (int i=0; i<count;i++)
  {
    buffer[i]=NULL;
  }
}

然后我输入

在串行监视器中选择 19200 波特 它打印这个 (两个??)

似乎没有发送命令...

这是我构建东西的方式

请帮忙!! 我做错了什么?

【问题讨论】:

  • 您应该使用 2 A 电源。但是您仍然很可能在模块上使用了错误的波特率。试试 9600 和 115200,GPRS.begin()
  • 确保在 AT 之后发送 CR/LF。有时您的 GSM 模块设置为特定的波特率,在这种情况下您可以执行 AT\r 2-3 次,然后它会执行自动波特率,并且您会收到相同的 OK 响应。另外值得一试@TisteAndii的建议

标签: arduino gsm arduino-uno gprs sim900


【解决方案1】:

我修好了!

我进入了我的 GSM 库(位于库文件夹中),并在 GSM.cpp 中相应地更改了 rx 和 tx 引脚 7 和 8。 感谢您的帮助!

【讨论】:

  • 这不是最好的解决方案,您指的是哪个 GSM 库? sim900 一个?如果是这样,它允许您为任何引脚为您的 GSM 模块创建软件序列,无需更改源代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多