Arduino Uno R3 + SIM900

Я программист, пробующий оборудование

Я пытаюсь подключить плату SIM900, которую купил в Интернете. Итак, я следил за множеством руководств по подключению экрана SIM-карты к Arduino UNO.

Что ж, все идет не так хорошо.

Я вставил в него разблокированную сим-карту, и индикатор netlight мигает 3 раза за 3 секунды, что означает, что сеть обнаружена.

Я также установил контакты на D7 и D8, как указывает множество людей. Я также использую блок питания 9В с 1А.

Но когда я пытаюсь запустить простые базовые примеры кодов, они не работают как обычно.

Я запускаю этот пример кода:

#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;
  }
}

После этого я печатаю

AT

в Serial Monitor с выбранной скоростью 19200 бод, и он распечатывает это  введите описание изображения здесь (Два ??)

Похоже, команды не отправляются ...

Вот как я собрал материал  введите описание изображения здесь введите описание изображения здесь

Пожалуйста помоги!! Что я делаю неправильно?


person James    schedule 04.08.2016    source источник
comment
Вы должны использовать источник питания на 2 А. Но все же вы, скорее всего, используете неправильную скорость передачи с модулем. Попробуйте 9600 и 115200, в GPRS.begin()   -  person SoreDakeNoKoto    schedule 05.08.2016
comment
Убедитесь, что вы отправляете CR / LF после AT. Иногда ваш модуль GSM настроен на определенную скорость передачи данных, в этом случае вы можете выполнить AT \ r 2-3 раза, тогда он выполнит автоматическую скорость передачи, и вы получите ответ OK для того же. Также стоит попробовать предложение от @TisteAndii   -  person HallMark    schedule 05.08.2016


Ответы (1)


Я починил это!

Я зашел в свою библиотеку GSM (расположенную в папке с библиотеками) и в файле GSM.cpp изменил контакты rx и tx на 7 и 8 соответственно. Спасибо за помощь!

person James    schedule 05.08.2016
comment
Это не лучшее решение, а о какой библиотеке GSM вы говорите? сим900 один? Если это так, это позволяет вам создать программный серийный номер для вашего модуля GSM для любого контакта, нет необходимости изменять исходный код. - person Ouss4; 05.08.2016