Питание и подключение SIM900

YaSerg
Offline
Зарегистрирован: 02.03.2017

Всем привет!

Приобрел SIM900 и не обратил что нет ног для подключения бутербродом. Планирую подключить к уно. Из описания понял, что необходимо соеденить RX и TX пины, выбранные перемычками и 9 пин для включения програмно. Все верно?

А еще про питание не понял кое-где пишут что только 5 вольт, не меньше и инфы что можно питать 12 вольт. Можно ли его с блока 9 вольт, как арудину?

belousovev
Offline
Зарегистрирован: 14.02.2017

Я запитавал SIM900 (другой маленько Shield) от 9В 2А. Работал нормально. Но обязательно не меньше 2А.

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Я запитавал SIM900 (другой маленько Shield) от 9В 2А. Работал нормально. Но обязательно не меньше 2А.

А как подключал? Бутербродом? Не знаешь как через пины соеденить? какие именно? И какой режим выставлять для работы с библиотекой? Или лучше через SoftwareSerial?

belousovev
Offline
Зарегистрирован: 14.02.2017

Я соединял бутербродом. Но у тебя, я так понял, нет ног. Выбираешь перемычками общение UNO и SIM900 через HardwareSerial это пины 0 и 1 на UNO и на шилде соответственно. А чтобы видеть на компьютере, что отвечает SIM900 на твои AT-команды, настраиваешь еще SoftwareSerial в скетче и соединяешь эти пины с COM-портом компьютера. Для программного включения SIM900 используешь пин 9 UNO и шилда.

Вот функция программного включения твоего шилда:

pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(3000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);

Вообще вот хорошая статья про твой шилд: http://wiki.seeed.cc/GPRS_Shield_v1.0/

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Я соединял бутербродом. Но у тебя, я так понял, нет ног. Выбираешь перемычками общение UNO и SIM900 через HardwareSerial это пины 0 и 1 на UNO и на шилде соответственно. А чтобы видеть на компьютере, что отвечает SIM900 на твои AT-команды, настраиваешь еще SoftwareSerial в скетче и соединяешь эти пины с COM-портом компьютера. Для программного включения SIM900 используешь пин 9 UNO и шилда.

Вот функция программного включения твоего шилда:

pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(3000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);

Вообще вот хорошая статья про твой шилд: http://wiki.seeed.cc/GPRS_Shield_v1.0/

 

Большое спасибо за пояснение, немного в голове куча выстроилась в цепочку )

Подскажи, если мысоединяем пины 0 и 1 RX и TX стоит перемычка HarwareSerial, а для SoftwareSerial как быть? Без всяких перемычек объявить SoftwareSerial mySerial(7, 8);

belousovev
Offline
Зарегистрирован: 14.02.2017

Да. И все то что приходит на HardwareSerial посылать в SoftwareSerial.

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Да. И все то что приходит на HardwareSerial посылать в SoftwareSerial.

А можешь показать пример. Вроде понял, а вроде и нет )

belousovev
Offline
Зарегистрирован: 14.02.2017

Здесь на форуме куча примеров. В правом верхнем углу в поиск надо написать SIM900)))))))

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Здесь на форуме куча примеров. В правом верхнем углу в поиск надо написать SIM900)))))))

Из всей выдачи нашёл один полный, похоже из общзения в ветке, не рабочий пример http://arduino.ru/forum/apparatnye-voprosy/ne-rabotaet-sim900-na-uno

Но там только подключатеся библиотека #include <SoftwareSerial.h> далее пины не объявляются. Ткните на ветку пожалуйста.

Не могу понять библиотека позволяет только управлять шилдом, а ответы приходят только по SoftwareSerial?

belousovev
Offline
Зарегистрирован: 14.02.2017

Уже на "Вы" начали общаться. Вы какую библиотеку хотите использовать???

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Уже на "Вы" начали общаться. Вы какую библиотеку хотите использовать???

Мне пока известна только SIM900.h
Хочу попробовать пока любой рабочий пример, перед этим разобравшись как подключить и инициализировать ответы в SoftwareSerial.

belousovev
Offline
Зарегистрирован: 14.02.2017

Ну тогда мой совет, я сам так поступаю, когда что-то не получается с GSM модемом. Просто берешь GSM модем подключаешь его напрямую к компьютеру с помощью вот такого преобразователя https://mysku.ru/blog/aliexpress/28019.html, подключаешь модем к питанию и последовательно начинаешь посылать в него AT-команды, смотрите как реагирует на них модем. А с помощью рабочего примера, Вы точно не разберетесь, надо самому проникнуться, ну, а если хотите, тогда тему надо переводить в "Ищу исполнителя". И ту ссылку посмотрите повнимательнее, я думаю там точно рабочий пример приведен. Только там наоборот используются HardwareSerial и SoftwareSerial. Там SoftwareSerial подсоединен к модему и не реализовано программное включение.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Кстати нашёл инструкцию что ещё и землю необходимо делать общую. У меня питание ардуины и шилда от разных блоков питаня.

Но тут и RX TX по странному подключены.

belousovev
Offline
Зарегистрирован: 14.02.2017

Это Вы правы.

YaSerg
Offline
Зарегистрирован: 02.03.2017

belousovev пишет:

Это Вы правы.

Спасибо за пояснения!

Почитаю по HWSerial и SWSerial думаю тогда возникнут правильные вопросы. Пока не пойму логики.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Подскажите если плата подключена через 0 и 1 пин RX TX, то перемычка так и должна быть выставлена.

А если я объявлю в ардуине SWSerial как его так же надо указать на эти порты?

И несколько не понял зачем SWSerial, если обмен осуществляется через HWSerial.

belousovev
Offline
Зарегистрирован: 14.02.2017

YaSerg пишет:

Подскажите если плата подключена через 0 и 1 пин RX TX, то перемычка так и должна быть выставлена.

А если я объявлю в ардуине SWSerial как его так же надо указать на эти порты?

И несколько не понял зачем SWSerial, если обмен осуществляется через HWSerial.

нет, тогда их надо переставить (я говорю относительно фотографии выше). Порты 0 и 1 это аппаратный последовательный порт. При объявлении SWSerial можно задействовать ЛЮБЫЕ выходы КРОМЕ 0 и 1.

SWSerial Вам пригодится только в том случае, если Вы захотите посмотреть что же Вам отвечает модем на компьютере, либо при подключении еще какого-нибудь шилда, который имеет COM интерфейс. Если Вы не хотите этого делать, тогда можете не делать SWSerial. Но я рекомендую его сделать, чтобы глазами видеть что отвечает модем (это Вам поможет понять работу модема).

belousovev
Offline
Зарегистрирован: 14.02.2017

С перемычками смотрите на плате что как подписано. А то в сети разные подписи у этих контактов.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Рою примеры разных библиотек. Посоветуйте какую Вы предпочитаете использовать.

Заранее благодарю.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Попробовал скетч включения:

void setup()
{
  //Включаем GPRS Shield, эмулируя нажатие кнопки POWER
  pinMode(9, OUTPUT);
  digitalWrite(9, HIGH);    // Подаем High на пин 9
  delay(3000);              // на 3 секунды
  digitalWrite(9, LOW);     // и отпускаем в Low. 
  delay(5000);              // Ждём 5 секунд для старта шилда
}
void loop()
{
  //Пока ничего больше не делаем
}

Подключил как описывали выше. Фото подключения https://hkar.ru/Pjy3

Подскажите как можно еще попробовать? С кнопки включается нормально.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Попробовал использовать общее питание соединив GND и 5V но так на шилде не загорелся даже светодиод питания.

Сфоткал его поближе может кто по надписям на плате что подскажет

Всем заранее спасибо!

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Если соединить GND и 5V, то горят обычно не светодиоды, а блоки питания.

YaSerg
Offline
Зарегистрирован: 02.03.2017

andriano пишет:

Если соединить GND и 5V, то горят обычно не светодиоды, а блоки питания.

в данном случае питание подавалось только на ардуину.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Со включением из скетча так и не получилось ничего, посоветуйте что еще попробовать?

Но вот АТ команды получилось попробовать. В сети регистрируется звонит, на команды отвечает. Использовал следующий скетч, питание SIM 900 отдельное, соединены только 7,8, 9 пины и земля.

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); // RX, TX
void setup() {

  pinMode(9, OUTPUT);
  digitalWrite(9,LOW);
  delay(3000);
  digitalWrite(9,HIGH);
  delay(2000);
  digitalWrite(9,LOW);
  delay(3000);
  
  Serial.begin(19200);  //Скорость порта для связи Arduino с компьютером
  Serial.println("Goodnight moon!");
  mySerial.begin(19200);  //Скорость порта для связи Arduino с GSM модулем
  mySerial.println("AT");
}
 
void loop() {
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

 

YaSerg
Offline
Зарегистрирован: 02.03.2017

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

Нашл информацию что для програмного включения пином 9 необходиом замкнуть R13 как показано красным на рисунку. Подскажите стоит пробовать? Не спалю плату?

b707
Offline
Зарегистрирован: 26.05.2017

YaSerg пишет:

Со включением из скетча так и не получилось ничего, посоветуйте что еще попробовать?

Но вот АТ команды получилось попробовать. В сети регистрируется звонит, на команды отвечает. Использовал следующий скетч, питание SIM 900 отдельное, соединены только 7,8, 9 пины и земля.

Модем включали кнопкой?

YaSerg
Offline
Зарегистрирован: 02.03.2017

b707 пишет:

Модем включали кнопкой?

Да, в этом и вопрос что софтверно не получается включить.

Судя по всему десвительно нужно спаять два контакта, что бы работало софверное включение.

Текстовая инфа:
oftware Triger; If use this way to power up the GPRS Shield, JP need to be soldered, then Digital Pin 9 of the Arduino will act as Software Triger port and Digital Pin 9 can not be use as other purpose. Then give Digital Pin 9 a Turn on Impulse can power up the GPRS Shield. The power up scenarios illustrates as following figure:
http://www.geeetech.com/wiki/index.php/Arduino_GPRS_Shield#Power_Up_and_Power_Down_the_GPRS_Shield

Видео:
https://www.youtube.com/watch?v=RUGV_64lQX8

Если кто знает как победит по другому ибо в пайке я не силён, пожалуйста дайте способ.

b707
Offline
Зарегистрирован: 26.05.2017

Не торопитесь паять. Обычно этот контакт уже запаян.

Сделайте так.

1. Запитайте Ардуину мощным источником по USB (например, хорошим зарядником для мобилы с током на 1 -2А). Важно, чтоб ч USB, а не через штекер питания

2. Соедините пины Ардуины и модуля - 7.8.9, а так же 5в ардуины к 5в модуля и так же для GND

3. Запустите скетч, которым Вы пробовали АТ-команды. кнопку не нажимайте. Подождите секунд 10.

4. Если не заработает - вставьте delay(5000) после строки void setup() {

 

YaSerg
Offline
Зарегистрирован: 02.03.2017

b707 пишет:

Не торопитесь паять. Обычно этот контакт уже запаян.

Сделайте так.

1. Запитайте Ардуину мощным источником по USB (например, хорошим зарядником для мобилы с током на 1 -2А). Важно, чтоб ч USB, а не через штекер питания

2. Соедините пины Ардуины и модуля - 7.8.9, а так же 5в ардуины к 5в модуля и так же для GND

3. Запустите скетч, которым Вы пробовали АТ-команды. кнопку не нажимайте. Подождите секунд 10.

4. Если не заработает - вставьте delay(5000) после строки void setup() {

Так и делал. Для шилда взял зярядку 5В 2А. А землю и 5В с любого пина брать. Их просто несколько на арудинах.

YaSerg
Offline
Зарегистрирован: 02.03.2017

Попробовал сегодня даже замкнуть отверткой R13 но это тоже не помогло. Попробовал переключить пин включения на 6 при этом ярко загорается  NetLight и тускло горит статус, модуль при этом не стартует и с кнопки тоже не запускается. При удержании кнопки Power обычно наоборот ярко загорается статус и тусклее NetLight.

vgus
Offline
Зарегистрирован: 22.08.2020

Столкнулся с таким вопросом. Есть коммутатор Астра 882. В последнее время начал зависать. Все чаще и чаще. Перезагрузка только по питанию. Подключенный процессор через RESET перезагружается, но SIM900 все равно заблокирована. На 1 ножке масса. Долго выяснял причину. Оказалось окислился контакт в антенне. Почистил, смазал спец. смазкой и теперь норма. Вопрос к спецам: SIM900 имеет функцию блокировки питания по защите? Эксперименты с отключением антенны производить не хочется!