Гироскоп

bit
Offline
Зарегистрирован: 07.05.2012

Подскажите пожалуйста как запустить год с гироскопам

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

Тут вроде всё работает хорошо

  
<BR><BR><BR>

  
int Knopka = 12;

int LED = 13;

int flag9=1; 



void setup()
{
  Serial.begin(9600);
  pinMode(Knopka, INPUT);
    
  pinMode(LED, OUTPUT); 
    
}

  void loop()
{
  
  Serial.println(100);
  delay(100);
    static uint32_t millis_start1 = 0;
   
   if(digitalRead(Knopka)==HIGH&&flag9==1)
   
  {
       
   analogWrite(LED, 255); 

    delay(30);
       flag9=0; 
   }
   
   
   
    if(digitalRead(Knopka)==HIGH&&flag9==0)
        
      millis_start1 = millis();
      
   delay(30);
   
  if(millis_start1 && millis()-millis_start1 >= 900)
  
  {
    
    millis_start1 = 0;
   
    analogWrite(LED, 0); 
    
   flag9=1; 
  }
  
  }
  

 

Но когда пытаюсь провернуть это с гироскопам программа работает не стабильно

Наклоняешь гироскоп в лево диод загорелся , наклоняешь в право диод горит не гаснет

 



Суть кода такова если наклоняешь гироскоп в лево раз в секунду диод не гаснет

  


int LED = 13;

int flag9=1; 


int ledPin22 =22;

int z;
int pinZ = 0;

void setup()
{
  Serial.begin(9600);
  
 pinMode(ledPin22, OUTPUT);
    
  pinMode(LED, OUTPUT); 
    pinMode(pinZ, INPUT);
    digitalWrite(ledPin22, HIGH);
}

  void loop()
{
  z = analogRead(pinZ);
  Serial.println(100);
  delay(100);
  
    static uint32_t millis_start1 = 0;
   
  if((z>0)&&(z<320)&&flag9==1)
   
  {
       
   analogWrite(LED, 255); 
Serial.print("HIGH");
    delay(100);
       flag9=0; 
   }
   
   
   
    if((z>321)&&(z<400)&&flag9==0)
  
        
      millis_start1 = millis();
      
   delay(300);
   
  if(millis_start1 && millis()-millis_start1 >= 2000)
  
  {
    
    millis_start1 = 0;
   
    analogWrite(LED, 0); 
    Serial.println("LOW");
   
  
     
     flag9=1; 
   }
  Serial.print("   Z=");

Serial.println(z);
  }
  

 

Подскажите где тут ошибка или как это можно сделать иначе

 

 

bit
Offline
Зарегистрирован: 07.05.2012

Извиняюсь уже разобрался , тема закрыта