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

nurekil
Offline
Зарегистрирован: 07.03.2014
int key=22;   <em>// с 22 ноги снимаем сигнал</em>
int buttonState = 0;    <em>//состояние клавиши</em>

<em>// функция вращения шагового двигателя</em>

void unStepMotor(int pin_1, int pin_2,int pin_3,int pin_4,int speedMotor){     
  digitalWrite(pin_1,HIGH);
  digitalWrite(pin_2,LOW);
  digitalWrite(pin_3,LOW);
  digitalWrite(pin_4,LOW);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,HIGH);
  digitalWrite(pin_2,HIGH);
  digitalWrite(pin_3,LOW);
  digitalWrite(pin_4,LOW);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,LOW);
  digitalWrite(pin_2,HIGH);
  digitalWrite(pin_3,LOW);
  digitalWrite(pin_4,LOW);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,LOW);
  digitalWrite(pin_2,HIGH);
  digitalWrite(pin_3,HIGH);
  digitalWrite(pin_4,LOW);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,LOW);
  digitalWrite(pin_2,LOW);
  digitalWrite(pin_3,HIGH);
  digitalWrite(pin_4,LOW);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,LOW);
  digitalWrite(pin_2,LOW);
  digitalWrite(pin_3,HIGH);
  digitalWrite(pin_4,HIGH);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,LOW);
  digitalWrite(pin_2,LOW);
  digitalWrite(pin_3,LOW);
  digitalWrite(pin_4,HIGH);
  delay(speedMotor + 1);
  //
  digitalWrite(pin_1,HIGH);
  digitalWrite(pin_2,LOW);
  digitalWrite(pin_3,LOW);
  digitalWrite(pin_4,HIGH);
  delay(speedMotor + 1);  
  
}
void setup(){
<em>  // конфигурация выводов</em>
  pinMode(50,OUTPUT);
  pinMode(51,OUTPUT);
  pinMode(52,OUTPUT);
  pinMode(53,OUTPUT);
  pinMode(key,INPUT);
  }
  //
void loop(){
  
buttonState = digitalRead(key);   /<em>/ считываем состояние кнопки</em>
  while (1){    
  unStepMotor(50,51,52,53,2);
  if (buttonState==HIGH)  <em>// если нажата то </em>
  {
  delay (10000);
  break;
  }
  }
 }
maksim
Offline
Зарегистрирован: 12.02.2012

Для кого то работает, а для кого то нет... тут ведь каждый сам решает что значит "работает", а что значит "не работает". 

nurekil
Offline
Зарегистрирован: 07.03.2014

задача следующая: по нажатию на кнопку, двигатель должен остановиться на 10 сек, но он крутится как и до нажатия(

maksim
Offline
Зарегистрирован: 12.02.2012
void loop()
{
  unStepMotor(50,51,52,53,2);
  if (digitalRead(key) == HIGH)
  {
    delay (10000);
  }
}

 

nurekil
Offline
Зарегистрирован: 07.03.2014

спасибо за помощь