Сервопривод
- Войдите на сайт для отправки комментариев
Пт, 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 когда срабатывает серва