Судя по скетчу он у тебя принимает если не #a то #b
Судя по скетчу он у тебя принимает если не #a то #b
Либо наооборот... И приходится дублировать СМС. А скетч на 4-ре устройства, принимает только длинную строку (#a1b1c1d1) или только #a1 (#b1,#c1,#d1 уже не воспринимает). Может быть нужно где-то еще поставить Serial1.println("AT+CMGD=1,4\r"); чтобы не пришлось дублировать? Не вижу вариантов...
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Доброго времени суток всем отзовитесь пожалуйста те у кого получилось принимать смс на СИМЕНСЕ ,есть идея попробовать по сути дела я так пологаю разное напряжение логических уровней с телефона до 3.3в с ардуино 5в. в этом я так пологаю идет загвоздка. Для того чтоб номер набрать работает по 2 проводам ардуино передача телефон прием, а на прием смс уже 3 проводанужно телефон передача ардуино прием и вот тут загвоздка уровнях выподает
Для адуино логический уровень это от 2в до 5в
NewSoftSerial phone(4, 3);
void setup()
{
phone.begin(9600);
}
void loop()
{
phone.println("ATD+712345678;");
}
пожалуйста скетч звонка и почему же тогда на команду ат в гипертерминале молчание проходит а на команду звонка ответ прошел выходит тогда что порт неисправен
Последний раз редактировалось andrei2882; 07.03.2012 в 01:39.
Поищи в этой теме писали про NewSoftSerial , с этой либой не получается вытащить СМС
только вместо >0 ставлю >2PHP код:
char inchar;
int led1 = 10;
int led2 = 11;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
Serial1.begin(9600);
delay(30000);
Serial1.println("AT+CMGF=1\r");
delay(200);
Serial1.println("AT+CNMI=3,0,0,0\r");
delay(200);
}
void loop()
{
device_1();
device_2();
}
void device_1()
{
if(Serial1.available() >0)
{
inchar=Serial1.read();
if (inchar=='#')
{
delay(10);
inchar=Serial1.read();
if (inchar=='a')
{
delay(10);
inchar=Serial1.read();
if (inchar=='0')
{
digitalWrite(led1, LOW);
}
else if (inchar=='1')
{
digitalWrite(led1, HIGH);
}
delay(10);
Serial1.println("AT+CMGD=1,4\r");
}
}
}
}
void device_2()
{
if(Serial1.available() >0)
{
inchar=Serial1.read();
if (inchar=='#')
{
delay(10);
inchar=Serial1.read();
if (inchar=='b')
{
delay(10);
inchar=Serial1.read();
if (inchar=='0')
{
digitalWrite(led2, LOW);
}
else if (inchar=='1')
{
digitalWrite(led2, HIGH);
}
delay(10);
Serial1.println("AT+CMGD=1,4\r");
}
}
}
}
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Этот скетч я видел, имел ввиду подправленный где принимаешь по 3 байта
Да это он и есть, просто я думал, что по 3 байта принимаю (#a1), а потом понял, что все таки по 1 байту.
Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)