Страница 20 из 44 ПерваяПервая ... 101415161718192021222324252630 ... ПоследняяПоследняя
Показано с 191 по 200 из 435
  1. #191
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Попробуй вот так
    PHP код:
     char inchar;                  
      
    int led1 10;  
      
    int led2 11;  
           
      
    void setup()  
      {  
          
        
    pinMode(led1OUTPUT);  
        
    pinMode(led2OUTPUT);  
        
    digitalWrite(led1LOW);  
        
    digitalWrite(led2LOW);  
        
    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() >2)  
        {  
          
    inchar=Serial1.read();      
          if (
    inchar=='#')  
          {  
            
    inchar=Serial1.read();    
            if (
    inchar=='a')  
            {   
              
    inchar=Serial1.read();  
              if (
    inchar=='0')  
              {  
                
    digitalWrite(led1LOW);  
              }   
              else if (
    inchar=='1')  
              {  
                
    digitalWrite(led1HIGH);  
              }  
                
              }  
            }  
              
    Serial1.flush(); 
             
    Serial1.println("AT+CMGD=1,4\r");
        }  
    }  

    void device_2()  
    {  
    if(
    Serial1.available() >2)  
        {  
          
    inchar=Serial1.read();      
          if (
    inchar=='#')  
          {  
            
    inchar=Serial1.read();    
            if (
    inchar=='b')  
            {  
              
    delay(10);  
              
    inchar=Serial1.read();  
              if (
    inchar=='0')  
              {  
                
    digitalWrite(led2LOW);  
              }   
              else if (
    inchar=='1')  
              {  
                
    digitalWrite(led2HIGH);  
              }    
              }  
            }  
            
    Serial1.flush();
           
    Serial1.println("AT+CMGD=1,4\r");
        }  

    Последний раз редактировалось Chip; 07.03.2012 в 19:15.

  2. #192
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    239

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Как-то непонятно... Отправляю #b1-работает. Потом #a1-не работает. Потом #b0 - опять не работает. Ставлю >0 - вооюще не работает.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  3. #193
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Вот еще вариант кода на 4 устройства только я его не проверял на ошибки
    PHP код:
      #define led1 10
      #define led2 11
      #define led3 12
      #define led4 13
      
    char instring[3]; 
           
      
    void setup()     
      {     
        for(
    byte i=10i<14i++) pinMode(iOUTPUT);           
        
    Serial1.begin(9600);     
        
    delay(30000);      
        
    Serial1.println("AT+CMGF=1\r");      
        
    delay(200);        
      }     
           
      
    void loop()      
      { 
       
    Serial1.println("AT+CNMI=3,0,0,0\r");
       
    delay(200);    
       
    device(); 
       
    delay(1000);    
      }     

    void device()  
    {     
    if(
    Serial1.available() >2)     
     {   
       for(
    byte i=0i<3i++) instring[i]=Serial1.read();          
       if (
    instring[1]=='a'digitalWrite(led1, (instring[2]-48));  
       if (
    instring[1]=='b'digitalWrite(led2, (instring[2]-48)); 
       if (
    instring[1]=='c'digitalWrite(led3, (instring[2]-48)); 
       if (
    instring[1]=='d'digitalWrite(led4, (instring[2]-48)); 
       
    Serial1.flush();
       
    Serial1.println("AT+CMGD=1,4\r");     
     }    

    Последний раз редактировалось Chip; 08.03.2012 в 00:27.

  4. #194
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    239

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Вообще не подает признаков жизни...
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  5. #195
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    А что делает команда AT+CMGD=1,4\r
    Я не исключаю что мог допустить ошибку , проверить мне не начем, но логика должна быть как в моем примере. Возможно что модем больше данных отправляет чем 3 байта
    Последний раз редактировалось Chip; 07.03.2012 в 23:29.

  6. #196
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    239

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    AT+CMGD=1,4\r удаляет все полученные СМС. Ее можно и по иному написать, но так работает более корректно.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  7. #197
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    А какой командой делать запрос СМС?
    Этой AT+CNMI=3,0,0,0\r ?
    Если да, то попробуй подправленный код
    Последний раз редактировалось Chip; 08.03.2012 в 00:25.

  8. #198
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    239

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Да, как раз эта команда, сразу (при поступлении) открываес СМС.
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  9. #199
    Продвинутый
    Регистрация
    20.05.2011
    Сообщений
    325
    Вес репутации
    239

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    Чуть позже, попробую, только напиши, в каком виде отпрвлять СМС. Я пробовал: (а1), (#а1) и (а).
    Liliput 629 GL, Intel Atom N230 1.6, HDD 200 GB, ОЗУ 2GB, Globalsat GT-100.

  10. #200
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Управление внешними устройствами с Arduino при помощи СМС

    в таком #а1 где 1 или 0 это значение для цифрового выхода
    Последний раз редактировалось Chip; 08.03.2012 в 01:05.

Страница 20 из 44 ПерваяПервая ... 101415161718192021222324252630 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 6 (пользователей: 0 , гостей: 6)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •