По какой причине не работает код?
- Войдите на сайт для отправки комментариев
Пнд, 26/12/2016 - 20:58
#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);
}
}
Вот по этой как минимум, что объявили и что вызываете?
Вот по этой как минимум, что объявили и что вызываете?
Должно быть
int BUTTON = 8;
pinMode(8, INPUT); ? И в том,и в другом случае компилятор не рассматривает это как ошибку,и все так же ругается на опреатор if..else.И еще говорит,что я не объявил кнопку.Ума не приложу,что не так :/
int button =8; А регистр?
Button - Тоже другая переменная
/* кнопка -> 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); }Выдает аналогичную ошибку.Что это?Глюк?
Уррра))Заработаало!!
P.s. косяк прятался в регистрах
Всем спасибо)
И почему я такой добрый сегодня :)
#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); } }