我试图用我的Arduino 1 R3连接两个盾牌。
盾牌是:
如果我将这些模块分开使用它们很有效,当我将它们放在一起时,GSM模块无法启动,状态指示灯会关闭,并且仅启动电源。
我阅读了很多论坛,似乎问题是softwareSerial,所以我尝试了这些解决方案:http://forums.adafruit.com/viewtopic.php?f=25&t=38764&hilit=gsm+gps&start=15
=>使用AltSoftSerial,在GPS Shield的引脚9和RX之间建立桥接,并从TX切割引脚7.
但它不起作用。
这是一段代码
#include <Adafruit_GPS.h>
#include <GSM.h>
#include <AltSoftSerial.h>
#define PINNUMBER ""
#define PMTK_SET_NMEA_OUTPUT_RMCONLY "$PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0*29"
#define PMTK_Q_RELEASE "$PMTK605*31"
#define PMTK_SET_NMEA_UPDATE_1HZ "$PMTK220,1000*1F"
//GPS
AltSoftSerial gpsSerial; //rx, tx (softwareSerial is called in GSM.H)
Adafruit_GPS GPS(&gpsSerial);
//GSM
GSM gsmAccess;
GSM_SMS sms;
void setup(){
Serial.begin(9600);
GPS.begin(9600);
...
}
void loop(){
...
}
如果我把GPS Shield的开关置于“Direct”,GSM开机,但我无法读取GPS数据。
答案 0 :(得分:1)
首先,您需要知道您不能同时使用两个软件序列。其次,icomsat使用D8和D9作为软件电源控制和复位,你不应该使用D9作为软件串行引脚。
最好的方法是使用iteaduino mega 2560和iteaduino gps shield。
http://imall.iteadstudio.com/im120417017.html
将icomsat连接到UART1,并将gps连接到UART2。
你可以用sim900的tinygps库和gsm库,你可以在icomsat网站的有用链接下找到gsm库。
最诚挚的问候!
Stan Lee
硬件工程师
Lizq@iteadstudio.com
答案 1 :(得分:0)
您可以使用AltSoftSerial和TinyGPSPlus在Arduino R3上创建一个可用的GPS和GSM系统。 这是一个项目链接 http://www.mallinson-electrical.com/shop/gpsgsm 希望这有帮助