Nano + GPRS shield

Тема в разделе "Arduino & Shields", создана пользователем lolopoplolliloop, 5 дек 2012.

  1. У меня на руках ардуино нано и плата гпрс от ceeed studio.
    Не понимаю как их подключить. Я перевел шилд в software serial режим, следовательно использую соотв. пины (на схеме отобразил). Их я соединяю зеркально (tx -> rx \ rx -> tx) проводами с пинами на плате нано. Так ?

    Тогда не понятно, как же шилд соединяется, например с уно. На них пары пинов tx\rx вообще не совпадают (судя по фоткам уно)
     

    Вложения:

    • gprs.jpg
      gprs.jpg
      Размер файла:
      41,5 КБ
      Просмотров:
      592
  2. На даташите шилда не понятно, какие пины к питанию, какие к сериал соединениею. Вернее к сериал то понятно, d7 & d8, но куда подвести питание не ясно
     
  3. Разобрался с подачей питания, нужно переключить тумблер на щите в положение "xduino", пины питания обозначил на схеме. Затем либо нажимаем на pwrkey и держим секунды 2, либо подаем +5 на пин D9 на щите.

    Теперь не могу установить сериал соединение между ардуино и щитом. На щите использую пины D7, D8, а на ардуино нано RX0 и TX1 соответственно (они находятся в верхнем левом углу, относительно usb порта).

    large_B-GPRS.jpg

    Написал простой скетч

    Код (Text):

    #include <SoftwareSerial.h>
     
    SoftwareSerial GPRS(7, 8);
    unsigned char buffer[64];
    int count=0;
     
    void setup()
    {
      GPRS.begin(19200);
      Serial.begin(19200);
    }
     
    void loop()
    {
      if (GPRS.available())
      {
        digitalWrite(13, HIGH);          //<<--- Вот до сюда не доходит, диод не загорается.
        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;}
    }
     
  4. nailxx

    nailxx Официальный Нерд Администратор

    По идее всё правильно делаете, странно. Можете поставить GPRS в режим работы через 0 и 1-й пины и подключиться именно к ним. Это делается установкой джамперов в нижней части шилда.
     
  5. Подключать сериал соединение надо зеркально ? Т.е Rx -> Tx \ Tx -> Rx
     
  6. nailxx

    nailxx Официальный Нерд Администратор

    На шилде же не подписано. Просто соедините 0-й на GPRS с 0-м на Nano, а 1-й — c 1-м
     
  7. Я окончательно запутался. Вот фото того, что я собрал. ГПРС шилд включаю хардварной кнопкой (на шилде клацаю). Джамперы на шилде установлены в положение xduino serial, подключил к первым пинам.

    Untitled-3.jpg
     
  8. HighDigital

    HighDigital Гик

    Могу предположить что Нано не справляется с такой "Штуковиной", но это вряд ли.
     
  9. nailxx

    nailxx Официальный Нерд Администратор

    Мне плохо видно на фото, но могу предположить, что дело в неподключенном пине RESET на шилде. Его стоит через резистор на 5-10 кОм подключить к 5V.