Почему мой серводвигатель всегда включен?
Почему мой серводвигатель всегда включен?
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup() {
pinMode(2, INPUT);
myservo.attach(9);
}
void loop() {
if (digitalRead(2) == LOW) {
for (pos = 0; pos <= 180; pos += 1) {
myservo.write(pos);
delay(15);
}
for (pos = 180; pos >= 0; pos -= 1) {
myservo.write(pos);
delay(15);
}
}
else {
myservo.write(0);
delay(15);
}
}
@Anont Lamache, 👍0
Обсуждение1 ответ
▲ 1
Похоже, вам нужно включить подтягивающий резистор на D2. Как написано, D2 остается плавающим и, скорее всего, имеет низкое напряжение относительно земли. Включение подтягивающего резистора будет обеспечивать высокий уровень вывода, пока вы не щелкнете переключателем.
,
@Clipboard_Waving_Enginerd
Входы Arduino имеют значительную емкость. Таким образом, после нажатия переключателя входной сигнал будет иметь тенденцию оставаться на низком уровне. Используйте либо pinMode(pin, INPUT_PULLUP), либо digitalWrite(pin, HIGH), чтобы включить подтягивание для (контакта), настроенного как INPUT., @Jack Creasey
оно работает!! Спасибо, @Anont Lamache
Смотрите также:
- Контроллер радиоуправляемой машины с использованием библиотеки RC-switch
- Попытка переместить серводвигатель с помощью 3 кнопок
- Arduino ждет, пока кнопка не будет отпущена для активации
- Имитация нажатия кнопки с помощью последовательного монитора для запуска сервопривода
- Я пытаюсь управлять сервоприводом нажатием кнопки, но это не работает ПОМОГИТЕ
- Нажмите кнопку для подачи питания на сервопривод
- Как добавить задержку, закрыть сервопривод и снова перейти к началу?
- Пусть серво вращается когда файл был загружен на веб страницу
Предоставьте правильную схему и листинг., @Leon Heller
Что вы подразумеваете под «всегда включенным», он всегда в движении или всегда под напряжением?, @Jack Creasey
@TimWescott Почему бы просто не дать ФП возможность изменить вопрос, а не поспешно «закрывать» его. После закрытия вряд ли удастся получить голоса за повторное открытие, даже если оно будет изменено. На самом деле это просто «близкое» использование как форма издевательств., @Jack Creasey
Значительно упростите настройку. Уберите условие из кода и просто задайте постоянный угол. Затем попробуйте еще раз с другим. Поскольку вы снова усложняете свой эскиз, добавьте последовательное журналирование, чтобы объяснить, что он думает о своих действиях. И, конечно же, объясните **что именно происходит**., @Chris Stratton
Закрытие помешало бы написанию множества благонамеренных, но плохо информированных (без информации из ОП) ответов и их устареванию из-за обновлений вопроса и контекста., @Wesley Lee