我正在尝试使用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);
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);
}
}
我不明白这里出了什么问题。谁能告诉我这是什么问题?
首先检查您的SIM900A是否已正确初始化。您还需要检查GSM模块是否已检测到SIM卡。通常,这由板载LED指示,该LED每3秒后闪烁一次。以下代码用于向用户发送短信。
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都]”选项!