GSM SIM 900A不会使用Arduino UNO发送消息
我的连接是GSM SIM 900A不会使用Arduino UNO发送消息,arduino,arduino-uno,gsm,Arduino,Arduino Uno,Gsm,我的连接是 5VT至D9 5VR至D10 和外部电源适配器。。(5v 2A) 闪烁效果很好,因为它每3秒闪烁一次, sim卡已加载。 但当我运行串行监视器时,它有时只显示带有反向问号的 这是我正在使用的代码 #include <SoftwareSerial.h> SoftwareSerial mySerial(9, 10); void setup() { mySerial.begin(9600); // Setting the baud rate of GSM Modul
5VT至D9
5VR至D10
和外部电源适配器。。(5v 2A) 闪烁效果很好,因为它每3秒闪烁一次,
sim卡已加载。
但当我运行串行监视器时,它有时只显示带有反向问号的 这是我正在使用的代码
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10);
void setup()
{
mySerial.begin(9600); // Setting the baud rate of GSM Module
Serial.begin(9600); // Setting the baud rate of Serial Monitor (Arduino)
delay(100);
}
void loop()
{
if (Serial.available()>0)
switch(Serial.read())
{
case 's':
SendMessage();
break;
case 'r':
RecieveMessage();
break;
}
if (mySerial.available()>0)
Serial.write(mySerial.read());
}
void SendMessage()
{
mySerial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000); // Delay of 1000 milli seconds or 1 second
mySerial.println("AT+CMGS=\"+639176344625\"\r"); // Replace x with mobile number
delay(1000);
mySerial.println("I am SMS from GSM Module");// The SMS text you want to send
delay(100);
mySerial.println((char)26);// ASCII code of CTRL+Z
delay(1000);
}
void RecieveMessage()
{
mySerial.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS
delay(1000);
}
#包括
软件序列mySerial(9,10);
无效设置()
{
mySerial.begin(9600);//设置GSM模块的波特率
Serial.begin(9600);//设置串行监视器(Arduino)的波特率
延迟(100);
}
void循环()
{
如果(Serial.available()>0)
开关(Serial.read())
{
案例s:
SendMessage();
打破
案例“r”:
ReceiveMessage();
打破
}
如果(mySerial.available()>0)
Serial.write(mySerial.read());
}
void SendMessage()
{
mySerial.println(“AT+CMGF=1”);//将GSM模块设置为文本模式
延迟(1000);//延迟1000毫秒或1秒
mySerial.println(“AT+CMGS=\”+639176344625\“\r”);//用手机号码替换x
延迟(1000);
mySerial.println(“我是来自GSM模块的短信”);//要发送的短信文本
延迟(100);
mySerial.println((char)26);//CTRL+Z的ASCII代码
延迟(1000);
}
无效接收消息()
{
mySerial.println(“AT+CNMI=2,2,0,0,0”);//接收实时短信的AT命令
延迟(1000);
}
这是我和Arduino Uno一起使用的Sim900A。。
请查看此代码,以使用GSM发送简单数据
#include <SoftwareSerial.h>
SoftwareSerial ph(9,10); // RX, TX of gsm
void setup() {
Serial.begin(9600);
ph.begin(9600);
sms(600);
}
void loop() {
// put your main code here, to run repeatedly:
}
void sms(float amount) {
ph.println("AT+CMGF=1");
delay(1000);
ph.println("AT+CMGS=\"123456789\"\r"); //Enter your number in place of 123456789
delay(1000);
ph.print("Amount: ");
ph.println(amount);
delay(100);
ph.println((char)26);// ASCII code of CTRL+Z
delay(1000);
}
#包括
软件系列ph(9,10);//gsm的接收、发送
无效设置(){
Serial.begin(9600);
贝京博士(9600);
短信(600);
}
void循环(){
//将主代码放在此处,以便重复运行:
}
无效sms(浮动金额){
ph.println(“AT+CMGF=1”);
延迟(1000);
ph.println(“AT+CMGS=\“123456789\”\r);//输入您的号码以代替123456789
延迟(1000);
印刷博士(金额:);
println博士(金额);
延迟(100);
ph.println((char)26);//CTRL+Z的ASCII码
延迟(1000);
}