
Сообщение от
igvv
Вот по этому скетчу Светодиод редко поморгает и все! что на 19200 что на 9600
СМСки не стираются... но уже что-то!
Это не что-то... Это ничего. Светодиод моргает, когда ты скетч загружаешь, либо когда ардуина принимает данные с порта. СМС не стираются, потому, что не выполнено условие -
PHP код:
if(gsm.available() >0 && gsm.read()=='1'){gsm.println(" AT+CMGL=0 ");
digitalWrite(ledpin, HIGH);delay(1000);digitalWrite(ledpin, LOW);delay(1000);
for(int i=0;i<98;i++)
Когда оно выполняется, СМС нормально удаляются. И вообще, где ты взял этот скетч? Это что-то непонятное...

Сообщение от
igvv
А вот в этом сообщении #256 скетч... ничего не происходит.
Ничего и не будет. Этот скетч написан для модуля поддерживающий текстовый формат СМС, а твой Сименс поддерживает только PDU. Можно его приспособить для Сименса, но сначала нужно разобраться, как вытащить нужные байты. Как раз над этим я сейчас и мучаюсь (из-за нехватки времени, не так "фанатично", как хотелось бы)

Сообщение от
igvv
И еще есть вопрос!? в скетчах с Serial1 на какие пины мне сажать tx rx ??? На пин0 и пин1 для платки freeduino2009 ???
Смотри документацию к freeduino2009. На МЕГЕ, Serial1 это 18 и 19. И старайся, пока не разберещься не использовать NewSoftSerial, т.к. замечено, что на некоторых версиях Ардуино, она не совсем корректно работает. Во всяком случае на МЕГЕ.
Для лучшего понимания, почитай тему с самого начала. Я ее создал в первый день, как только увидел Ардуину. До этого, никогда с этим не сталкивался.
И еще, если хочещь зажечь светодиод, отправь на телефон СМС и в Serial Monitor'e, посмотри, что придет. Потом попробуй этот скетч, только в условии, вместо N пропиши первые 8 байт (по-байтно), которые видишь в Serial Monitor'e:
PHP код:
#include <NewSoftSerial.h>
char inchar[40];
NewSoftSerial gsm(2,3);
int ledpin = 13;
long previousMillis = 0;
long interval = 30000;
void setup()
{
pinMode(ledpin, OUTPUT);
gsm.begin(19200); // эксперементируй со скоростью
Serial.begin(19200);
gsm.flush();
delay(5000);
gsm.println("AT+CPMS =SM" ); // тут тоже эксперементы, или SM или МТ
delay(1000);
gsm.println("AT+CNMI=1,1\r");
delay(1000);
}
void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;
gsm.println("AT+CMGL=4\r");
delay(100);
}
if(gsm.read()=='N'&&gsm.read()=='N'&&gsm.read()=='N'&&gsm.read()=='N'&&gsm.read()=='N'&&gsm.read()== 'N'&&gsm.read()=='N'&&gsm.read()=='N')
{
digitalWrite(ledpin,HIGH);
delay(1000);
}
}
}