Arduino LED灯亮发送短信:GSM模块代码示例
以下是一个Arduino代码示例,演示如何使用GSM模块在LED灯亮时向指定号码发送短信。
#include <SoftwareSerial.h>
// 定义GSM模块的TX和RX引脚
#define GSM_TX_PIN 2
#define GSM_RX_PIN 3
// 定义GSM模块的波特率
#define GSM_BAUD_RATE 9600
// 创建一个SoftwareSerial对象,用于与GSM模块通信
SoftwareSerial gsmSerial(GSM_TX_PIN, GSM_RX_PIN);
// 定义LED灯引脚
#define LED_PIN 13
void setup() {
// 初始化串口通信
Serial.begin(9600);
gsmSerial.begin(GSM_BAUD_RATE);
// 设置LED引脚为输出模式
pinMode(LED_PIN, OUTPUT);
// 建立GSM模块通信连接
gsmSerial.println("AT"); // 发送AT指令,检查GSM模块是否正常工作
delay(1000);
if (gsmSerial.find("OK")) {
Serial.println("GSM模块已连接");
} else {
Serial.println("GSM模块连接失败");
}
}
void loop() {
// 点亮LED灯
digitalWrite(LED_PIN, HIGH);
// 发送短信
sendMessage('123456', '灯亮');
// 等待5秒
delay(5000);
// 关闭LED灯
digitalWrite(LED_PIN, LOW);
// 等待5秒
delay(5000);
}
void sendMessage(String phoneNumber, String message) {
// 设置短信格式
gsmSerial.println("AT+CMGF=1"); // 发送AT指令,设置短信格式为文本模式
delay(1000);
gsmSerial.println("AT+CMGS='" + phoneNumber + "'"); // 发送AT指令,设置接收短信的电话号码
delay(1000);
// 输入短信内容并发送
gsmSerial.println(message);
delay(1000);
gsmSerial.println((char)26); // 发送Ctrl+Z字符,表示短信内容输入完成
delay(5000);
// 等待短信发送状态
while (gsmSerial.available()) {
Serial.write(gsmSerial.read());
}
}
在该代码中,首先设置LED引脚为输出模式,然后在loop()函数中,先点亮LED灯,然后通过调用sendMessage()函数发送短信,发送完成后关闭LED灯,然后等待5秒后再次循环。
请注意,该代码仅为示例代码,实际应用中需要根据具体的硬件和GSM模块进行适配和调试,以确保正常工作。同时,还需确保GSM模块的SIM卡已插入并正常工作,并且确保正确设置短信格式和接收短信的电话号码。
更多Arduino和GSM模块相关信息,请参考相关技术文档和教程。
原文地址: https://www.cveoy.top/t/topic/bKxV 著作权归作者所有。请勿转载和采集!