Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Использование Arduino для управления серводвигателем с помощью двух кнопок.
Шаг 1. Получите соответствующие компоненты
Пожалуйста, используйте предоставленные ссылки, если вам нужны какие-либо компоненты, а также посетите сайт для других замечательных продуктов Arduino, они поставляются по всему миру бесплатно, и там отличное обслуживание. Плюс вы меня поддерживаете:)
Зайдите на сайт здесь.
Спасибо за поддержку.
1) Ссылка на Arduino: Плата для разработки Uno R3 Rev3, совместимая с Arduino
2) Макетная плата: половинный 400-контактный макет для электроники DIY или 830-контактный макет DIY для беспаечной электроники
3) Ссылка на кнопки: кнопки переключателя DIP P4 Sqaure (100 шт.)
4) Соединение соединительных кабелей: разноцветные 40-контактные соединительные провода макетной платы DuPont (20 см)
5) Два резистора 10 кОм Ссылка: Универсальный металлопленочный резистор DIY 1/4 Вт 1% (600 шт.)
6) Ссылка серводвигателя: сервопривод рулевого управления Tower Pro SG90 9g
Шаг 2: Подключите питание
Подключите GND и 5V
Шаг 3: Подключите сервопривод
Красный до 5 В
Коричневый / черный к GND
Оранжевый к контакту 9
Шаг 4: соедините кнопки
Одна из кнопок DIGITAL 2
Другой для DIGITAL 4
Шаг 5: проверьте цепь
Убедитесь, что схема правильная
Шаг 6: Код
Я использовал пример Sweep от Arduino и изменил его, чтобы он работал.
#включают
const int buttonPin = 2;
const int buttonPin2 = 5;
int buttonState = 0;
int buttonState2 = 0;
Servo servoA;
int position = 0;
void setup () {
servoA.attach (9);
pinMode (buttonPin, ВВОД);
pinMode (buttonPin2, ВХОД);
}
void loop () {
buttonState = digitalRead (buttonPin);
buttonState2 = digitalRead (buttonPin2);
if (buttonState == HIGH && position <180) {
servoA.write (позиция ++);
задержка (5);
}
if (buttonState2 == HIGH && position> 3) {
servoA.write (позиция--);
задержка (5);
}
}