Module 短信可以';不能使用GSM模块SIM900A发送
我正在尝试使用GSM SIM900A发送短信。但没有编译错误和其他干扰 代码执行正确,但SMS没有发送到代码中提到的号码Module 短信可以';不能使用GSM模块SIM900A发送,module,arduino,gsm,Module,Arduino,Gsm,我正在尝试使用GSM SIM900A发送短信。但没有编译错误和其他干扰 代码执行正确,但SMS没有发送到代码中提到的号码 #include <TinyGPS.h> #include <SoftwareSerial.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); SoftwareSerial SIM900A(7, 8);
#include <TinyGPS.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial SIM900A(7, 8);
void setup()
{
Serial.begin(9600);
SIM900A.begin(9600);
pinMode(6, INPUT);
}
void loop()
{
bool state = digitalRead(6);
if (state == HIGH)
{
SIM900A.println("AT+CMGF=1");
delay(1000);
SIM900A.println("AT+CMGS=\"+8801679388394\"\r");
delay(1000);
SIM900A.println("Alert I need help....Asheesh ,Battalion No. 1233456 ");
SIM900A.println((char)26);
delay(10000);
}
else {
delay(2000);
}
}
#包括
#包括
#包括
#包括
液晶I2C液晶显示器(0x27,16,2);
软件系列SIM900A(7,8);
无效设置()
{
Serial.begin(9600);
SIM900A.begin(9600);
pinMode(6,输入);
}
void循环()
{
布尔状态=数字读取(6);
如果(状态==高)
{
SIM900A.println(“AT+CMGF=1”);
延迟(1000);
SIM900A.println(“AT+CMGS=\”+880167938394\”\r);
延迟(1000);
SIM900A.println(“警报,我需要帮助……阿希什,第1233456营”);
SIM900A.println((char)26);
延迟(10 000);
}
否则{
延迟(2000年);
}
}
我不明白这里怎么了。有人能告诉我问题出在哪里吗?首先检查SIM900A是否已正确初始化。您还需要检查GSM模块是否检测到SIM卡。通常这由车载LED指示,每3秒后闪烁一次。 以下代码用于向用户发送sms
void sendSMS()
{
SIM900A.println("AT+CMGF=1");
delay(1000);
SIM900A.println("AT+CMGS=\"+8801679388394\"\r");
delay(1000);
SIM900A.print("Hello");
delay(1000);
SIM900A.println((char)26); // sends ctrl+z end of message
delay(5000);
}
在尝试此代码之前,请检查您是否已使用
AT+COPS?
连接到网络。打开串行监视器后,请确保选中了“NL和CR两个”选项 GSM SIM900A仅支持2G SIM卡。首先,请确保您使用的是2G SIM卡。车载led每3秒闪烁一次。我认为GSM模块已成功检测到SIM卡。我试图替换你的代码。它仍然不起作用,请仔细阅读下面的文章并逐个测试AT命令。