2016-08-04 4 views
2

프로그래머가 하드웨어를 사용하려고합니다.Arduino Uno R3 + SIM900

온라인으로 구입 한 SIM900 방패를 연결하려고합니다. 그래서 나는 SIM 방패와 Arduino UNO를 연결하기 위해 많은 튜토리얼을 따랐습니다.

글쎄, 잘 진행되지 않습니다.

나는 잠금 해제 된 시뮬레이션을 넣었으며 netlight는 3 초 3 초 동안 깜박 거리면서 네트워크를 찾았습니다.

많은 사람들이 나타내 듯이 핀을 D7 및 D8에도 설정했습니다. 또한 1A와 함께 9V의 전원 공급 장치를 사용하고 있습니다.

그러나 간단한 기본 예제 코드를 실행하려고하면 정상적으로 실행되지 않습니다. 19200이 를 선택하여 직렬 모니터에서

AT가 I 형

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

과이 enter image description here을 인쇄 :

나는이 예제 코드를 실행 (두 개?)

여기 ... 전송되지 않는 명령처럼

을 보인다 내가 물건 enter image description here

도와주세요 enter image description here을 구축해야하는 방법입니다! 내가 뭘 잘못하고 있니?

+0

2 A 공급 장치를 사용해야합니다. 하지만 여전히 모듈에서 잘못된 전송 속도를 사용하고있을 가능성이 큽니다. GPRS.begin()에서 9600과 115200을 시도하십시오. – TisteAndii

+0

AT 다음에 CR/LF를 보내고 있는지 확인하십시오. 때로는 귀하의 GSM 모듈이 특정 전송 속도로 설정되어 있습니다.이 경우 AT & T를 2-3 번 수행하면 자동 전송 속도가 실행되고 동일한 응답이 수신됩니다. 또한 @TisteAndii – HallMark

답변

1

해결했습니다.

내 GSM 라이브러리 (라이브러리 폴더에 있음)에 들어가서 GSM.cpp에서 rx 및 tx 핀을 7과 8로 변경했습니다. 도움 주셔서 감사합니다!

+0

에서 제안을 시도해 볼 가치가 있습니다. 이것은 최상의 솔루션이 아니며 어떤 GSM 라이브러리에 대해 이야기하고 있습니까? sim900 하나? 그렇다면 당신은 어떤 핀에 대한 귀하의 GSM 모듈에 대한 소프트웨어 시리얼을 만들 수 있습니다, 소스 코드를 변경할 필요가 없습니다. – Ouss4