Показано с 1 по 10 из 307

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Продвинутый
    Регистрация
    03.06.2012
    Возраст
    39
    Сообщений
    210
    Вес репутации
    204

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

    вчера получилось выполнить то что я захотел заработало добавил я пару строк в начале лупа

    PHP код:
    void loop()    // run over and over again    
    {  
       
       if(
    stopflag && digitalRead(2)==LOW && digitalRead(4)==LOW  
             
    )   
            {  
            
    digitalWrite(StartHIGH);   
      
    delay(100);   
     
    digitalWrite(StartLOW);  
     
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;  
            } 
    только вот не задача хотелось немного по другому объясню на диаграммах
    Нажмите на изображение для увеличения. 

Название:	диаграмма педа&#10.JPG 
Просмотров:	1264 
Размер:	12.9 Кб 
ID:	17621
    на первых показано как работает у меня получилось педаль тормоза как кнопка приходится ее отпускать и снова нажимать
    а мне надо как на двух других диаграммах что бы я нажал и он сразу начал заводится а ногу я даже не убирал как это реализовать???


    вот весь скетч
    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


    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  
             
    )   
            {  
            
    digitalWrite(StartHIGH);   
      
    delay(100);   
     
    digitalWrite(StartLOW);  
     
    flag=false;   
              
    digitalWrite(MuteLOW);   
              
    com=0;  
            }  
       
         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;  
            
        


         } 
        
      }  
      





    Последний раз редактировалось Omigovolt; 24.03.2014 в 09:07.

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

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

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

Ваши права

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