Страница 14 из 31 ПерваяПервая ... 489101112131415161718192024 ... ПоследняяПоследняя
Показано с 131 по 140 из 307
  1. #131
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    блин на радостях забыл один ниуанс при произнесении тишины если не поступила ни одна команда то есть мы тупо молчим или надо поговорить по телефону (у магнитолы выключился звук) то при повторении тишины звук снова включался я ток что проверил сейчас это не работает эту функцию нужно реализовать))))

  2. #132
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    вот весь скетч все работает и на ниндзе и на я пошке и на багажнике)))))

    PHP код:
    int  Mute 19;  // Pin 19 - Mute  
    int  Start 18;  // Pin 18 - Start   
    int  Stopi 17;  // Pin 17 - Stop   
    int  Opening 15;  // Pin 15 - Open  
    int  Light 16;  // Pin 16 - Light  
    byte com 0//reply from voice recognition  



    boolean running false;  
    boolean flag=false

    void setup() {  

      
    // initialize the digital pins as output  
      
    pinMode(MuteOUTPUT);  
      
    pinMode(StartOUTPUT);  
      
    pinMode(StopiOUTPUT);  
      
    pinMode(OpeningOUTPUT);  
      
    pinMode(LightOUTPUT);  
       

      
    Serial.begin(9600);     // Start serial communication at 9600bps 
     
    delay(2000);  
     
    Serial.write(0xAA); 
    Serial.write(0x37);  
    delay(1000);  
    Serial.write(0xAA);  
    Serial.write(0x21);  
    }  


    void loop()    // run over and over again  
    {   

    if(
    Serial.available())   
    {   
      
    com Serial.read(); 
      if(
    com==0x13
      { 
         
    flag=true;  
         
    digitalWrite(MuteHIGH); 
         
    com=0;
      } 
      if(
    flag
      { 
         switch(
    com
         { 
            case 
    0x15
              
    running = !running;   
              
    digitalWrite(Lightrunning); 
              
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break; 
            
            case 
    0x11:
            
    digitalWrite(StartHIGH); 
      
    delay(1000); 
     
    digitalWrite(StartLOW);
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break; 
            
           case 
    0x12:
          
    digitalWrite(StopiHIGH); 
      
    delay(1000); 
     
    digitalWrite(StopiLOW); 
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break;
           
           case 
    0x14:
          
    digitalWrite(OpeningHIGH); 
      
    delay(1000); 
      
    digitalWrite(OpeningLOW); 
      
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break;
     
         } 
      } 
    }  


    ааа и еще очень даже приятно если свет включен я говорю тишина и вместо света говорю багажник она открывает багажник а свет продолжает гореть тема

    теперь остались еще 3 условия что бы япошка сработал нужно что бы нога была на педали тормоза и с датчика скорости шел сигнал меньше 4Гц или вообще не шел сигнал при этом он должен понимать что двигатель запущен то есть лампочка зарядки АКБ не горела
    а при ниндзе видеть что двигатель не запущен и нога тоже должна быть на педали тормоза при всем при этом все должно работать через триггер))))
    Последний раз редактировалось Omigovolt; 18.12.2012 в 23:38.

  3. #133
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    вот последний обнавленный код когда нужно поговорить по мобильному


    PHP код:
    int  Mute 19;  // Pin 19 - Mute  
    int  Start 18;  // Pin 18 - Start   
    int  Stopi 17;  // Pin 17 - Stop   
    int  Opening 15;  // Pin 15 - Open  
    int  Light 16;  // Pin 16 - Light  
    byte com 0//reply from voice recognition  



    boolean running false;  
    boolean flag=false

    void setup() {  

      
    // initialize the digital pins as output  
      
    pinMode(MuteOUTPUT);  
      
    pinMode(StartOUTPUT);  
      
    pinMode(StopiOUTPUT);  
      
    pinMode(OpeningOUTPUT);  
      
    pinMode(LightOUTPUT);  
       

      
    Serial.begin(9600);     // Start serial communication at 9600bps 
     
    delay(2000);  
     
    Serial.write(0xAA); 
    Serial.write(0x37);  
    delay(1000);  
    Serial.write(0xAA);  
    Serial.write(0x21);  
    }  


    void loop()    // run over and over again  
    {   

    if(
    Serial.available())   
    {   
      
    com Serial.read(); 
      if(
    com==0x13 && !flag
      { 
         
    flag=true;  
         
    digitalWrite(MuteHIGH); 
         
    com=0;
      } 
     
      if(
    flag
      { 
         switch(
    com
         { 
            case 
    0x15
              
    running = !running;   
              
    digitalWrite(Lightrunning); 
              
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break; 
            
            case 
    0x11:
            
    digitalWrite(StartHIGH); 
      
    delay(1000); 
     
    digitalWrite(StartLOW);
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break; 
            
           case 
    0x12:
          
    digitalWrite(StopiHIGH); 
      
    delay(1000); 
     
    digitalWrite(StopiLOW); 
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break;
           
           case 
    0x14:
          
    digitalWrite(OpeningHIGH); 
      
    delay(1000); 
      
    digitalWrite(OpeningLOW); 
      
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break;
            
            case 
    0x13:
              
    flag=false;
              
    digitalWrite(MuteLOW);
              
    com=0;
           break;
     
         } 
      } 
    }  


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

    По умолчанию Re: Запуск автомобиля с голоса

    Еще можно обучить распознавать звонок телефона и тогда ардуино будет автоматически глушить звук когда звонят на твой мобильник

  5. #135
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    идея очень даже интересная правда но тогда скорее всего придется ставить очень простую мелодию на мобильник вплоть до примитивных пиликаний плата с микрофоном у меня будет стоять в козырьке еще при этом при всем будет орать музыка и последнее это приведет к усложнению кода а меня идея что бы все было как можно проще и безопаснее)))) а так для интузиастов вообще вариант чумовой

  6. #136
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    собрал проверочный стенд только что на скорую руку за 15 мин проверил показания датчиков стоп лампочка зарядки АКБ и конечно же датчик скорости все ок теперь доводим код до ума и можно будет тестить

    Нажмите на изображение для увеличения. 

Название:	DSC_0001.jpg 
Просмотров:	1123 
Размер:	133.5 Кб 
ID:	15767

  7. #137
    Местный
    Регистрация
    23.01.2011
    Возраст
    44
    Сообщений
    183
    Вес репутации
    244

    По умолчанию Re: Запуск автомобиля с голоса

    Отличный стенд

  8. #138
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    ну вот теперь завязали все это на педаль тормоза и лампочку АКБ

    PHP код:
    int  Mute 19;  // Pin 19 - Mute  
    int  Start 18;  // Pin 18 - Start   
    int  Stopi 17;  // Pin 17 - Stop   
    int  Opening 15;  // Pin 15 - Open  
    int  Light 16;  // Pin 16 - Light  
    int  Lampbattery 4;
    int  Stopisignal 2;
    int  Speedisensor 3;
    byte com 0//reply from voice recognition  



    boolean running false;  
    boolean flag=false


    void setup() {  

      
    // initialize the digital pins as output  
      
    pinMode(MuteOUTPUT);  
      
    pinMode(StartOUTPUT);  
      
    pinMode(StopiOUTPUT);  
      
    pinMode(OpeningOUTPUT);  
      
    pinMode(LightOUTPUT);
       
    pinMode(LampbatteryINPUT);
      
    digitalWrite(LampbatteryHIGH);
      
    pinMode(StopisignalINPUT);
      
    digitalWrite(StopisignalHIGH);
      
    pinMode(SpeedisensorINPUT); 
       

      
    Serial.begin(9600);     // Start serial communication at 9600bps 
     
    delay(2000);  
     
    Serial.write(0xAA); 
    Serial.write(0x37);  
    delay(1000);  
    Serial.write(0xAA);  
    Serial.write(0x21);  
    }  


    void loop()    // run over and over again  
    {   

    if(
    Serial.available())   
    {   
      
    com Serial.read(); 
      if(
    com==0x13 && !flag
      { 
         
    flag=true;  
         
    digitalWrite(MuteHIGH); 
         
    com=0;
      } 
     
      if(
    flag
      { 
         switch(
    com
         { 
            case 
    0x15
              
    running = !running;   
              
    digitalWrite(Lightrunning); 
              
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break; 
            
            
            case 
    0x11:
            if(
    digitalRead(2)==LOW && digitalRead(4)==LOW )
            {
            
    digitalWrite(StartHIGH); 
      
    delay(1000); 
     
    digitalWrite(StartLOW);
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0;
            } 
            break; 
            
           case 
    0x12:
           if(
    digitalRead(2)==LOW && digitalRead(4)==HIGH)
           {
          
    digitalWrite(StopiHIGH); 
      
    delay(1000); 
     
    digitalWrite(StopiLOW); 
     
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
           }
            break;
           
           case 
    0x14:
          
    digitalWrite(OpeningHIGH); 
      
    delay(1000); 
      
    digitalWrite(OpeningLOW); 
      
    flag=false
              
    digitalWrite(MuteLOW); 
              
    com=0
            break;
            
            case 
    0x13:
              
    flag=false;
              
    digitalWrite(MuteLOW);
              
    com=0;
           break;
     
         } 
      } 
    }  

    за что огромное спасибо manu_245
    ну и конечно же видео



    может немного не понятно поясню то есть лампочка АКБ горит двигатель не запущен нажимаем стоп потом произносим триггер и только после совпадения всех 3-х условий она откликнется на слово ниндзя и запустит двигатель лампочка АКБ потухла опять нажимаем тормоз триггер и только тогда можно его заглушить кстате эта возможность исключает путаницу двух команд (ниндзя и япошка) т к распознование голоса не совершенно во время тестов я замечал что иногда при произнесении ниндзяя она могла зажеч светодиод япошки и наоборот ))))))

    возник вопрос :

    один из пассажиров решив надомной и зная все команды приколоться решит на ходу открыть багажник???

    решение:

    сделать одним из условий наличие сигнала на датчике скорости и это исключит возможность открытия багажника на ходу

    и опять спасибо за подсказку manu_245

    теперь осталось сделать еще одно и очень важное условие это датчик скорости

  9. #139
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    38
    Сообщений
    210
    Вес репутации
    196

    По умолчанию Re: Запуск автомобиля с голоса

    чип есть часть кода

    PHP код:
    interrupt [EXT_INT1void ext_int1_isr(void)
    {
    tick++; //сигналы датчика
        
    if (tick==6){       // если 6 - проехали 1 м., сбрасываем на 0
                    
    tick=0;
                    
    a=14063/period;   //считаем скорость
                    
    period=0;
                    }
    }

    interrupt [TIM0_OVFvoid timer0_ovf_isr(void)
    {
    period++;
    if(
    period>4000){  //если долго не прерывается пишем 0
            
    a=0;period--;
            }

    как его привязать к моему что бы начало прирываний на датчике скорости было условием или флагом ?

  10. #140
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    399

    По умолчанию Re: Запуск автомобиля с голоса

    Я так думаю, здесь не нужен спидометр, нужен признак движения.
    Идея такая: По прерываниям на D3 увеличиваем счетчик импульсов. По таймеру, например раз в секунду, проверяем сколько в счетчике и обнуляем его. Если меньше 2 или 3 (не так важно. 2 примерно 1км/ч, 3 - 1,8), то поднимаем флаг остановки, если больше - сбрасываем.

Страница 14 из 31 ПерваяПервая ... 489101112131415161718192024 ... ПоследняяПоследняя

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

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

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

Ваши права

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