Страница 25 из 31 ПерваяПервая ... 1519202122232425262728293031 ПоследняяПоследняя
Показано с 241 по 250 из 307
  1. #241
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    37
    Сообщений
    210
    Вес репутации
    189

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

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

    строки которые мы добавили для работы педали
    PHP код:
      if(stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW && startflag
             
    )  
             
            {
             
            
    digitalWrite(StartHIGH);   
        
    delay(100); 
     
    digitalWrite(StartLOW);  
     
    flag=false
      
    startflag=false;
              
    digitalWrite(MuteLOW);   
              
    c=0;  
            }  
         
        if ( (
    digitalRead(2)==HIGH && !startflag) || digitalRead(4)==HIGH)
        
    startflag=true




    и весь код в сборе:
    PHP код:
    #include <MsTimer2.h> 




    #include <SoftwareSerial.h> 
    SoftwareSerial BTSerial(1112); // RX, TX 
    char c;  

    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;  
    int  tick 
    byte com 0//reply from voice recognition    



    boolean running false;    
    boolean flag=false;  
    boolean stopflag=true
    boolean a=false
    boolean startflag=true;

    void Time()  
    {  
      
    tick++;  
    }  
    void flash()  
    {  
      if(
    tick<2){stopflag=true;}  
      else {
    stopflag=false;}  
      
    tick=0;   
    }   

    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);  
     
    digitalWrite (SpeedisensorHIGH);  
      
    attachInterrupt(1TimeFALLING);  
     
    MsTimer2::set(500flash);  
      
    MsTimer2::start();  
       
     
    flag=true;  
        
    digitalWrite(MuteHIGH); 

    BTSerial.begin(9600); 
      
    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(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW && startflag
             
    )  
             
            {
             
            
    digitalWrite(StartHIGH);   
        
    delay(100); 
     
    digitalWrite(StartLOW);  
     
    flag=false
      
    startflag=false;
              
    digitalWrite(MuteLOW);   
              
    c=0;  
            }  
         
        if ( (
    digitalRead(2)==HIGH && !startflag) || digitalRead(4)==HIGH)
        
    startflag=true;
         
         
         
         if (
    BTSerial.available())  
       { 
       
    = (char)BTSerial.read();  
        
    Serial.println(c); 
       
      if (
    == '1' && !flag
      { 
             
    flag=true;    
         
    digitalWrite(MuteHIGH);   
         
    c=0
         } 
          
          
          switch(
    c)   
          { 
            case 
    50
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    delay(1000); 
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
                break; 
         }  
         case 
    51:   
              
    running = !running;     
              
    digitalWrite(Lightrunning);   
              
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;   
            break;   
          
          } 
          
               
          
         if(
    flag)  
         {   
         switch(
    c)   
         {   
           case 
    49:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    c=0
              break;  
              } 
              } 
       
          
          
          
          
          
      } 
       
      
       
       
       
       
      
      if (
    digitalRead(4)==LOW)  
      {  
        
    a=false;  
        
    flag=true;  
        
    digitalWrite(MuteHIGH); 
      }  
      if (
    digitalRead(4)==HIGH && !a)  
      {  
        
    a=true;  
        
    flag=false;  
        
    delay(1000); 
        
    digitalWrite(MuteLOW);  
      }    

      

          
        
      
    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(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW  
             
    )  
            {  
            
    digitalWrite(StartHIGH);   
      
    delay(100);   
     
    digitalWrite(StartLOW);  
     
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;  
            }   
            break;   
              
           case 
    0x12:  
           if(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==HIGH  
            
    )  
           {  
          
    digitalWrite(StopiHIGH);   
      
    delay(1000);   
     
    digitalWrite(StopiLOW);   
     
    flag=false;  
     
    delay(1000); 
              
    digitalWrite(MuteLOW);   
              
    com=0;   
           }  
            break;  
             
           case 
    0x14
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
         }   
            break;  
              
            case 
    0x13:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    com=0;  
           break;  
            
        


         } 
        
      }  
      






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

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

    наконец то снял видео


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

    PHP код:
    #include <MsTimer2.h> 




    #include <SoftwareSerial.h> 
    SoftwareSerial BTSerial(1112); // RX, TX 
    char c;  

    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;  
    int  tick 
    byte com 0//reply from voice recognition    



    boolean running false;    
    boolean flag=false;  
    boolean stopflag=true
    boolean a=false
    boolean startflag=true;

    void Time()  
    {  
      
    tick++;  
    }  
    void flash()  
    {  
      if(
    tick<2){stopflag=true;}  
      else {
    stopflag=false;}  
      
    tick=0;   
    }   

    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);  
     
    digitalWrite (SpeedisensorHIGH);  
      
    attachInterrupt(1TimeFALLING);  
     
    MsTimer2::set(500flash);  
      
    MsTimer2::start();  
       
      

    BTSerial.begin(9600); 
      
    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(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW && startflag
             
    )  
             
            {
             
            
    digitalWrite(StartHIGH);   
        
    delay(100); 
     
    digitalWrite(StartLOW);  
     
    flag=false
      
    startflag=false;
              
    digitalWrite(MuteLOW);   
              
    c=0;  
            }  
         
        if ( (
    digitalRead(2)==HIGH && !startflag) || digitalRead(4)==HIGH)
        
    startflag=true;
         
         
         
         if (
    BTSerial.available())  
       { 
       
    = (char)BTSerial.read();  
        
    Serial.println(c); 
       
      if (
    == '1' && !flag
      { 
             
    flag=true;    
         
    digitalWrite(MuteHIGH);   
         
    c=0
         } 
          
          
          switch(
    c)   
          { 
            case 
    50
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    delay(1000); 
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
                break; 
         }  
         case 
    51:   
              
    running = !running;     
              
    digitalWrite(Lightrunning);   
              
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;   
            break;   
          
          } 
          
               
          
         if(
    flag)  
         {   
         switch(
    c)   
         {   
           case 
    49:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    c=0
              break;  
              } 
              } 
       
          
          
          
          
          
      } 
       
      
       
       
       
       
      
      

      

          
        
      
    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 
    0x14
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
         }   
            break;  
              
            case 
    0x13:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    com=0;  
           break;  
            
        


         } 
        
      }  
      






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

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

    Фишка со сцеплением понравилась. +100

  4. #244
    Продвинутый
    Регистрация
    16.01.2013
    Сообщений
    259
    Вес репутации
    198

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

    я просмотрел или запуск с голоса неудался?

    сцепа конечно хорошо, но нужна доп. блокировка думаю... например от детей.

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

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

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

  6. #246
    Новичок
    Регистрация
    26.02.2011
    Сообщений
    8
    Вес репутации
    164

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

    Цитата Сообщение от Murkur Посмотреть сообщение
    Машины Тесла в прошлом году прошли тесты в скандинавских странах и сейчас там ездят. Правда, сами производители сообщили, что ход на одном заряде в таком климате будет на 20-40% ниже, чем в тёплых странах - всё зависит от температуры. Можно, конечно, и подогрев батарей сделать, чтобы не мёрзли постоянно, но это тоже дополнительний расход энергии. Понятно, что в Сибирь их лучше не запускать
    Поздно, одна из первых Тесла в России была куплена автолюбителем из Барнаула (Алтайский край, юг западной Сибири). К слову, климат резко-континентальный, этой зимой недели две держалось под -40.
    Вижу её тут постоянно, в том числе зимой. Местные новости сюжет снимали про запуск в -30. Ехать можно почти сразу, она только небольшое время тратит на запуск обогрева салона. Никакого ощущения тормознутости, замороженности. Ресурс на одной зарядке - да, снижается процентов на 30. При заявленных 300 км ресурса это не особо принципиально, на день в городском режиме хватит.

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

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

    Ресурс на одной зарядке - да, снижается процентов на 30
    Сомневаюсь что при -30 ресурс снизится всего на 30%

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

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

    Скетч последней редакции был убран дребезг контактов
    PHP код:
    #include <MsTimer2.h> 




    #include <SoftwareSerial.h> 
    SoftwareSerial BTSerial(1112); // RX, TX 
    char c;  

    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;  
    int  tick 
    byte com 0//reply from voice recognition    



    boolean running false;    
    boolean flag=false;  
    boolean stopflag=true
    boolean a=false
    boolean startflag=true;

    void Time()  
    {  
      
    tick++;  
    }  
    void flash()  
    {  
      if(
    tick<2){stopflag=true;}  
      else {
    stopflag=false;}  
      
    tick=0;   
    }   

    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);  
     
    digitalWrite (SpeedisensorHIGH);  
      
    attachInterrupt(1TimeFALLING);  
     
    MsTimer2::set(500flash);  
      
    MsTimer2::start();  
       
      

    BTSerial.begin(9600); 
      
    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 (
    digitalRead(2)==LOW)
       {
      
    delay(30);
      
      
      
      
       if(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW && startflag
          
    )     
          
          
          {
            
             
            
    digitalWrite(StartHIGH);   
        
    delay(100); 
     
    digitalWrite(StartLOW);  
     
    flag=false
      
    startflag=false;
              
    digitalWrite(MuteLOW);   
              
    c=0;  
            }  
         
        if ( (
    digitalRead(2)==HIGH && !startflag) || digitalRead(4)==HIGH)
        
    startflag=true;
         
       }
         
         if (
    BTSerial.available())  
       { 
       
    = (char)BTSerial.read();  
        
    Serial.println(c); 
       
      if (
    == '1' && !flag
      { 
             
    flag=true;    
         
    digitalWrite(MuteHIGH);   
         
    c=0
         } 
          
          
          switch(
    c)   
          { 
            case 
    50
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    delay(1000); 
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
                break; 
         }  
         case 
    51:   
              
    running = !running;     
              
    digitalWrite(Lightrunning);   
              
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;   
            break;   
          
          } 
          
               
          
         if(
    flag)  
         {   
         switch(
    c)   
         {   
           case 
    49:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    c=0
              break;  
              } 
              } 
       
          
          
          
          
          
      } 
       
      
       
       
       
       
      
      

      

          
        
      
    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 
    0x14
          if (
    stopflag
         {  
          
    digitalWrite(OpeningHIGH);   
      
    delay(700);   
      
    digitalWrite(OpeningLOW);   
      
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0
         }   
            break;  
              
            case 
    0x13:  
              
    flag=false;  
              
    digitalWrite(MuteLOW);  
              
    com=0;  
           break;  
            
        


         } 
        
      }  
      






  9. #249
    Местный Аватар для Murkur
    Регистрация
    31.01.2012
    Возраст
    44
    Сообщений
    157
    Вес репутации
    225

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

    Цитата Сообщение от Omigovolt Посмотреть сообщение
    наконец то снял видео


    код после обработки (задержки исчезли ) строки на запуск и глушения я убрал за ненадобностью
    Слежу за темой давно, но, походу, что-то пропустил... А как завести, если машина стоит на передаче? Есть какой-нибудь определитель, что машина не на нетралке?
    MSI E350IA-E45, AMD Zacate E-350, RAM - 4 Gb, HDD - 120 Gb, M2-ITX, GPS - RoyalTek RGM-3600, 8" TFT, Win 7

  10. #250
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    37
    Сообщений
    210
    Вес репутации
    189

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

    Цитата Сообщение от Murkur Посмотреть сообщение
    Слежу за темой давно, но, походу, что-то пропустил... А как завести, если машина стоит на передаче? Есть какой-нибудь определитель, что машина не на нетралке?

    Нет определителя нет! Лично я уже давно оставляю машину на нейтрали, так как у меня уже получается функция технологической нейтрали, как на сигнализациях. Выхожу из автомобиля ставлю на сигнализацию, она закрывается и глушится (выключается зажигание). При снятии с охраны, она открывается и зажигание включается, нажимаю тормоз она заводится, даже если в этот момент, я не сниму со скорости, стартер включится, я почувствую рывок и нажму педаль тормоза еще сильнее и рефлекторно сниму со скорости и стартер заведет машину! Все действия будут происходить не более 1 секунды, так что ни чего страшного, у меня было такое пару раз, так что я знаю о чем говорю) Надеюсь мой ответ исчерпывающий. При желании можно сделать что бы ардуино контролировала и ручник (через реле или оптопару) входов свободных валом )
    Последний раз редактировалось Omigovolt; 29.06.2014 в 18:54.

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

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

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

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

Ваши права

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