#include <SoftwareSerial.h> の#define phonenum_call "18150561160" //好ましくリムーバブルカードユニコムカードのサポートは非常に良好ではない SoftwareSerial softSerial1(4,5); //ソフトシリアルRXD4、TXD5、ショートメッセージと通信 sendMeg INT(文字列PHONENUM、文字列テキスト)//送信機能情報を変更することなく、直接呼び出すことができる { softSerial1.println(「AT」)を、GSMのAT //送信、参照応答 チャーcomdata = 0; //最後に決定された受信しますかどうかを 文字列の電話= ""; //電話番号が格納された 電話= "AT + CMGS = \" "+ PHONENUM +「\" '; 一方(softSerial1.available()> 0){ Comdata = softSerial1.read() ; //はたびに文字charを読み、追加 遅延(2); } softSerial1.println( "AT"); //はGSMにATを送信し、応答を参照 遅れ(1000)。 ながら(softSerial1。{()> 2)が利用可能 comdata = softSerial1.read(); //たび読み取り文字char、および追加 Serial.print(comdata); //エラー 遅延(2); } 判定された場合には受信されません//(= Comdata 'K'が!) OKに { Serial.println( "ERROR1"); //エラー //戻り0; } Comdata = 0; softSerial1.println( "AT + = CMGF 1。"); //テキストモードGSM設定し 、遅延(500) しばらく(softSerial1.available()> 2){ Comdata softSerial1.read =(); //毎回読み文字チャー、及び追加 遅延(2); } 受信しない場合//(= Comdata 'K'が!) OK { Serial.println( "誤差2"); //戻り値0。 } = 0 Comdata; softSerial1.println(電話); //は、特定の番号を送信 (1000)遅延、 しばらく(softSerial1.available()> 1){ Comdata softSerial1.read =(); //毎回読み文字チャー、及び追加 遅延(2); } !IF(Comdata = '>' )受信していない//> { Serial.println( "error3"); //戻り0; } Comdata = 0; softSerial1.print(テキスト); //書き込まれたコンテンツ送信 遅延(500); softSerial1.writeを(0x1A ); //入力テキストの終わり、及び送信 Serial.println( "成功"); //成功 } ボイドセットアップ(){ //ポートハード Serial.begin(9600); ソフトリスナー//シリアル通信 softSerial1.begin(9600 ); softSerial1.listen(); 遅延(5000); } Comdataストリング、 ボイドループ(){ IF(Serial.available()> 0){ //遅延(1); //読み出し速度衝撃 Comdata Serial.readString =(); sendMeg(phonenum_call、Comdata); //へ15147300333送信情報 Comdata = ""; 遅延(3000); } }