Грамотный запуск SIM900 shield

rapidshe
Offline
Зарегистрирован: 31.12.2015

Подскажите, как грамотно запустить SIM900?

чтобы устроство запустилось без глюков... 

модуль такой http://ali.ski/AHFRR,  бп 5в 2а http://ali.ski/W1jvD хотя наверное надо проверить его...

 

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

void setup() {

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

    Serial.begin(9600);
    gsm.begin(19200);
//gsm.write("A"); // отправляем А чтобы sim900 автоматически настроился на скорость
//    delay(1000);
//gsm.println("AT+IPR=19200");
delay(300);
gsm.print("AT+CMGF=1\r");         //устанавливает текстовый режим смс-сообщения
delay(300);
gsm.print("AT+IFC=1, 1\r");       //устанавливает программный контроль потоком передачи данных
delay(300);
gsm.print("AT+CPBS=\"SM\"\r");    //открывает доступ к данным телефонной книги SIM-карты
delay(300);
gsm.print("AT+GSMBUSY=1, 1\r");   //запрет всех входящих звонков
delay(300);
gsm.print("AT+CMGDA=«DEL ALL»\r");  //Очищаем накопившиеся СМС
delay(300);
gsm.print("AT+CNMI=1,2,2,1,0\r"); //включает оповещение о новых сообщениях
delay(10000);
che=EEPROM.read(10);
TkritMin=EEPROMReadInt(11);
TkritMax=EEPROMReadInt(13);
TkritFlag=EEPROM.read(15);

RC.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2

for(int i = 0; i <= numPins -1; i++) {
   pinMode(Pins[i],OUTPUT);
   PinStatus[i]=EEPROM.read(i); 
   digitalWrite(Pins[i],PinStatus[i]); 
   } 
for(int i = 0; i <= numRC -1; i++) {
   loopTime[i] = 0;
   } 
   TimePrint = 0;
   loopTimeTemp = 0;

Serial.println("GOTOVO");
}

 

rapidshe
Offline
Зарегистрирован: 31.12.2015

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

питание подавал до 12в 3а

 

что я делаю не так...

rapidshe
Offline
Зарегистрирован: 31.12.2015

если запустить ардуину секунд через 20 после включения модуля, всё отлично работает... как получить стабильно заводящееся устройство?