Оглавление:

Лаборатория Micro Servo: 9 шагов
Лаборатория Micro Servo: 9 шагов

Видео: Лаборатория Micro Servo: 9 шагов

Видео: Лаборатория Micro Servo: 9 шагов
Видео: Студенты российского вуза разработали вечный двигатель #вечныйдвигатель #изобретения 2024, Июль
Anonim
Лаборатория микро сервоприводов
Лаборатория микро сервоприводов

В этой лаборатории мы будем работать над управлением положением сервопривода с помощью потенциометра. В зависимости от положения «рук» микроприводов мы зажжем соответствующие ряды светодиодов. Для этой лабораторной работы вам понадобятся:

  • 1 микро-сервопривод (предоставляется 9-граммовый микро-сервопривод)
  • 1 потенциометр
  • 10 светодиодов (двух разных цветов)
  • 10 резисторов 220 Ом

Шаг 1. Подключите микро сервопривод

Подключите микро сервопривод
Подключите микро сервопривод

Микро-сервопривод имеет три провода для питания, заземления и импульсного сигнала. Микро-сервопривод примет импульс ШИМ, чтобы определить, в каком положении он должен находиться (0 - 180 градусов). Технически вы можете использовать любой из выводов PWM на Arduino Uno, но обычно мы начинаем с вывода 9 или 10 *.

Настраивать:

  1. Подключите макетную плату к шине питания (+ 5 В) и шине заземления (GND).
  2. Подключите сервопривод к шине питания, шине заземления и контакту 9.

** Это связано с тем, что библиотека Servo использует Timer2 на Arduino, который не позволяет нам использовать сигналы PWM, analogWrite (), на этих двух контактах для любых целей, кроме управления сервоприводом. Хотя мы все еще можем использовать эти контакты для цифрового ввода / вывода, обычно мы будем использовать их исключительно для сервоуправления **.

Шаг 2: Тестирование микро сервопривода

Код здесь - это образец кода, предоставленный Servo Library. Сервопривод будет просто качаться вперед и назад от 0 до 180 градусов.

/* Подметать

автор: BARRAGAN. Этот пример кода находится в открытом доступе. изменено 8 ноября 2013 г. Скоттом Фицджеральдом https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // создание сервообъекта для управления сервоприводом // двенадцать сервообъектов могут быть созданы на большинстве плат int pos = 0; // переменная для хранения позиции сервопривода void setup () {myservo.attach (9); // прикрепляет сервопривод на выводе 9 к сервообъекту} void loop () {for (pos = 0; pos = 0; pos - = 1) {// изменяется от 180 градусов до 0 градусов myservo.write (pos); // указываем сервоприводу перейти в позицию в переменной 'pos' delay (15); // ждем 15 мс, пока сервопривод достигнет позиции}}

Шаг 3: Подключите потенциометр

Подключите потенциометр
Подключите потенциометр

Теперь мы будем работать над ручным управлением положением сервопривода с помощью потенциометра. Подключите потенциометр следующим образом:

  • Левая сторона - шина заземления
  • Правая сторона - шина питания
  • Верхнее / среднее соединение - вывод A0 (аналоговый вывод 0)

Шаг 4: Код стартера потенциометра

Ниже приведен код запуска для управления сервоприводом с помощью потенциометра. Завершите код, чтобы при перемещении потенциометра сервопривод двигался синхронно.

/ * Sweep by BARRAGAN Этот пример кода находится в открытом доступе. изменено 8 ноября 2013 г. Скоттом Фицджеральдом https://www.arduino.cc/en/Tutorial/Sweep * / #include "Servo.h" Servo myservo; // создаем сервообъект для управления серво // двенадцать сервообъектов могут быть созданы на большинстве плат int pos = 0; // переменная для хранения положения сервопривода int potPin = 0; // Выберите вывод для подключения потенциометра int potVal = 0; // Текущее значение потенциометра void setup () {myservo.attach (9); // подключает сервопривод на выводе 9 к сервообъекту pinMode (potPin, INPUT); } пустая петля () {potVal = analogRead (potPin); myservo.write (pos); // указываем сервоприводу перейти в позицию в переменной 'pos' delay (15); // ждем 15 мс, пока сервопривод достигнет позиции}

Шаг 5: Подключите первый светодиод

Подключите первый светодиод
Подключите первый светодиод

После того, как сервопривод будет управляться с помощью потенциометра, мы собираемся добавить обратную связь через несколько светодиодов. Мы будем создавать два ряда светодиодов. Один будет представлять «левое» плечо сервопривода, а другой - «правое» плечо сервопривода. Когда сервопривод меняет положение, одно плечо поднимается, а другое опускается. Светодиоды загорятся, чтобы отобразить:

  • полный - рука поднята
  • полуруки равны.
  • выкл - рука опущена

На схеме будут отображаться ряды светодиодов на противоположных концах макета. Это было сделано для облегчения обзора, ваши светодиоды должны быть выровнены / даже друг с другом.

Подключите первый светодиод:

  • Подключите короткий провод светодиода к шине заземления.
  • Подключите более длинный вывод светодиода к резистору 220 Ом. Подключите резистор к контакту 13 на Arduino.

Шаг 6: Подключите оставшийся ряд светодиодов

Подключите оставшийся ряд светодиодов
Подключите оставшийся ряд светодиодов

После добавления первого светодиода подключите остальные светодиоды:

  • Более короткий провод - подключается к шине заземления
  • Более длинный вывод - подключите резистор 220 Ом к светодиодам и следующим выводам Arduino: 12, 11, 10, 9, 8.

Шаг 7: Добавьте первый светодиод, второй ряд

Добавить первый светодиод, второй ряд
Добавить первый светодиод, второй ряд

Второй ряд светодиодов будет добавлен так же, как и первый:

  • Подключите короткий провод светодиода к шине заземления.
  • Подключите более длинный вывод светодиода к резистору 220 Ом. Подключите резистор к выводу 7 на Arduino.

Шаг 8: Подключите конечные светодиоды

Подключите конечные светодиоды
Подключите конечные светодиоды

Подключаем остальные светодиоды:

Более короткий провод - подключите к шине заземления. Более длинный провод - подключите резистор 220 Ом к светодиодам и следующим выводам Arduino: 6, 5, 4, 3

Шаг 9: Управление светодиодным дисплеем

Последний шаг - обновить код для управления светодиодами. Потребуется обработать следующее:

  • Верхний ряд будет соответствовать «правой руке» сервопривода. По мере движения руки вверх / вниз светодиоды должны включаться / выключаться.
  • Нижний ряд соответствует «левому плечу» сервопривода. По мере движения руки вверх / вниз светодиоды должны включаться / выключаться.

Рекомендуемые: