Сервопривод
- Войдите на сайт для отправки комментариев
Пт, 04/05/2018 - 00:08
const int buttonPin = 12; // номер входа, подключенный к кнопке
// переменные
int buttonState = 0; // переменная для хранения состояния кнопки
long prevmillis = millis();
long interval = 10000;
#include <Servo.h> //используем библиотеку для работы с сервоприводом
Servo servo; //объявляем переменную servo типа Servo
void setup() {
Serial.begin(9600);
servo.attach(9); //привязываем привод к порту 9
// инициализируем пин, подключенный к кнопке, как вход
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);// считываем значения с входа кнопки
if (buttonState == HIGH) { // проверяем нажата ли кнопка
// если нажата, то buttonState будет HIGH:
// включаем светодиод
Serial.println("Button on"); // вывести открыть
servo.write(0); //ставим вал под 0(открытие сервы)
delay(3000); //ждем 3 секунды
servo.write(99); //ставим вал под 99 ( закрытие)
delay(3000); //ждем 3 секунды
}
else if
(( millis() - prevmillis) > interval){ // если прошедшее время с начала запуска скетча > интервала
prevmillis = millis(); // вновь обнуляем время счетчика
servo.write(0); //ставим вал под 0(открытие сервы)
Serial.println("Open"); // вывести открыть
delay(5000); //ждем 5 секунды
servo.write(99); //ставим вал под 99 ( закрытие)
Serial.println("Close"); // вывести закрытие
delay(5000);//ставим вал под 0 (закрытие закрытие)
}
}
Здравствуйте вот код скетча на открывание сервы и закрывание , проблема в том , что нажатие кнопки не реагирует .Точнее если закоментировать блок нажатия кнопки на открытие и закрытие сервы , то работает код ниже на открытие и закрытие и также наоборот. А вот вместе они не работаю, точнее что при нажатии серва не открывается а она тупо работает по 2 ому блоку Подправьте мой скетч, подскажите что делать, чтобы работало как и от нажатия кнопки так и от таймера. Премного благодарен
А в сериал что выводит?
Или на входе кнопки резистор 5-20 килоом на землю
или кнопку на землю , вход INPUT_PULLUP и срабатывать на его LOW
Если не нажимать кнопку то Open , Close когда срабатывает серва
не совсем понял ?
у меня резистор на 10 кОМ , одна нога с сигнала другая в землю
Вот так организованно подключение
Если не нажимать кнопку то Open , Close когда срабатывает серва