По какой причине не работает код?

mr Fix
Offline
Зарегистрирован: 26.12.2016
#include <Servo.h>
 
int BUTTON = 8;
Servo Servo;
void setup()
{
  pinMode(button, INPUT);
  Servo.attach(9);
  servo.write(0);
}
 
void loop() {
if(digitalRead(button)==HIGH){
servo.write(180);
  delay(2000);
}
  else {
servo.write(0);
  }
}
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Вот по этой как минимум, что объявили и что вызываете?

int BUTTON = 8;
  pinMode(button, INPUT);

 

mr Fix
Offline
Зарегистрирован: 26.12.2016

ua6em пишет:

Вот по этой как минимум, что объявили и что вызываете?

int BUTTON = 8;
  pinMode(button, INPUT);

 

Должно быть

int BUTTON = 8;

pinMode(8, INPUT); ? И в том,и в другом случае компилятор не рассматривает это как ошибку,и все так же ругается на опреатор if..else.И еще говорит,что я не объявил кнопку.Ума не приложу,что не так :/

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

int button =8; А регистр?
Button - Тоже другая переменная

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
/*
кнопка -> 8 (btn_pin) 0 нажата / 1 нет
   Gnd ->  друг конец кнопки
серва  -> 9
*/

const int btn_pin = 8;
Servo Servo;
void setup() {
  pinMode(btn_pin, INPUT_PULLUP);
  Servo.attach(9);
  servo.write(0);
}

void loop() {
  delay(2000);
  if (! digitalRead(btn_pin))
    servo.write(180);
  else
    servo.write(0);
}

 

mr Fix
Offline
Зарегистрирован: 26.12.2016

Выдает аналогичную ошибку.Что это?Глюк?

mr Fix
Offline
Зарегистрирован: 26.12.2016

Уррра))Заработаало!!
P.s. косяк прятался в регистрах
Всем спасибо)

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

И почему я такой добрый сегодня :)

#include <Servo.h>

int BUTTON = 8;
Servo myServo;
void setup()
{
  pinMode(BUTTON, INPUT);
  myServo.attach(9);
  myServo.write(0);
}

void loop() {
  if (digitalRead(BUTTON) == HIGH) {
    myServo.write(180);
    delay(2000);
  } else {
    myServo.write(0);
  }
}