и заливаем такой скетч. Он довольно таки простой - проверка на номер телефона - если не ваш, то ни каких действий не будет.
Код: Выделить всё
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
int led1=0;//вкл или выкл светодиод
byte led = 13;
void setup()
{
pinMode(12,OUTPUT);//пин светодиода
delay(2000);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("GSM NEOWAY");
Serial.println();
Serial.println("Turn on AOH:");
mySerial.println("AT+CLIP=1"); // включить АОН
delay(100);
Serial.println("Text format sms:");
mySerial.println("AT+CMGF=1"); // текстовый формат SMS
delay(100);
Serial.println("Mode GSM:");
mySerial.println("AT+CSCS=\"GSM\""); // кодировка текста - GSM
delay(100);
// ПРИ СТАРТЕ, НА КАЖДУЮ КОМАНДУ ДОЛЖНО БЫТЬ ПОДТВЕРЖДЕНИЕ - ОК
}
void loop()
{
if(mySerial.available()) //если модуль что-то послал
{
char ch = ' ';
String val = "";
while(mySerial.available())
{
ch = mySerial.read();
val += char(ch); //собираем принятые символы в строку
delay(5);
}
Serial.print("Neo send> ");
Serial.println(val);
if(val.indexOf("RING") > -1) //если есть входящий вызов, то проверяем номер
{
if(val.indexOf("79111111111") > -1) // ВПИШИТЕ НОМЕР, с которого Вы будете звонить на модуль
{
Serial.println("Call my phone");
mySerial.println("ATH"); //разрываем связь
Serial.println("Disconnection");
delay(3000);
if (led1==0){
digitalWrite( 12, HIGH );led1=1; //ВКЛ светодиод
Serial.println("ВКЛ светодиод");
}
else if (led1==1){
digitalWrite( 12, LOW );led1=0;//ВЫКЛ светодиод
Serial.println("ВЫКЛ светодиод");
}
}
}
}
}
phpBB [media]
Для управления с трёх разных телефонных номеров заливаем скетч
Код: Выделить всё
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
int led1=0;//вкл или выкл светодиод
int led2=0;//вкл или выкл светодиод
int led3=0;//вкл или выкл светодиод
byte led = 13;
void setup()
{
pinMode(8,OUTPUT);//пин светодиода
pinMode(9,OUTPUT);//пин светодиода
pinMode(12,OUTPUT);//пин светодиода
delay(2000);
pinMode(led, OUTPUT);
digitalWrite(led, LOW);
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("GSM NEOWAY");
Serial.println();
Serial.println("Turn on AOH:");
mySerial.println("AT+CLIP=1"); // включить АОН
delay(100);
Serial.println("Text format sms:");
mySerial.println("AT+CMGF=1"); // текстовый формат SMS
delay(100);
Serial.println("Mode GSM:");
mySerial.println("AT+CSCS=\"GSM\""); // кодировка текста - GSM
delay(100);
// ПРИ СТАРТЕ, НА КАЖДУЮ КОМАНДУ ДОЛЖНО БЫТЬ ПОДТВЕРЖДЕНИЕ - ОК
}
void loop()
{
if(mySerial.available()) //если модуль что-то послал
{
char ch = ' ';
String val = "";
while(mySerial.available())
{
ch = mySerial.read();
val += char(ch); //собираем принятые символы в строку
delay(5);
}
Serial.print("Neo send> ");
Serial.println(val);
if(val.indexOf("RING") > -1) //если есть входящий вызов, то проверяем номер
{
if(val.indexOf("79111111111") > -1) // ВПИШИТЕ первый НОМЕР, с которого Вы будете звонить на модуль
{
Serial.println("Call my phone 1");
mySerial.println("ATH"); //разрываем связь
Serial.println("Disconnection");
delay(3000);
if (led1==0){
digitalWrite( 12, HIGH );led1=1; //ВКЛ R светодиод
Serial.println("ВКЛ светодиод");
}
else if (led1==1){
digitalWrite( 12, LOW );led1=0;//ВЫКЛ R светодиод
Serial.println("ВЫКЛ светодиод");
}
}
if(val.indexOf("79111111112") > -1) // ВПИШИТЕ второй НОМЕР, с которого Вы будете звонить на модуль
{
Serial.println("Call my phone 2");
mySerial.println("ATH"); //разрываем связь
Serial.println("Disconnection");
delay(3000);
if (led2==0){
digitalWrite( 9, HIGH );led2=1; //ВКЛ G светодиод
Serial.println("ВКЛ светодиод");
}
else if (led2==1){
digitalWrite( 9, LOW );led2=0;//ВЫКЛ G светодиод
Serial.println("ВЫКЛ светодиод");
}
}
if(val.indexOf("79111111113") > -1) // ВПИШИТЕ третий НОМЕР, с которого Вы будете звонить на модуль
{
Serial.println("Call my phone 3");
mySerial.println("ATH"); //разрываем связь
Serial.println("Disconnection");
delay(3000);
if (led3==0){
digitalWrite( 8, HIGH );led3=1; //ВКЛ B светодиод
Serial.println("ВКЛ светодиод");
}
else if (led3==1){
digitalWrite( 8, LOW );led3=0;//ВЫКЛ B светодиод
Serial.println("ВЫКЛ светодиод");
}
}
}
}
}
К 8 и 9 пину подключаем ещё 2 светодиода или один RGB, тогда это будут ножки G и B цветов. И тестируем результат.
phpBB [media]