Мобильная версия Форум Arduino Документация Гарантийные условия 0 0
UA RU
График работы магазина:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Вс: выходной
Каталог
Напиши статью и получи скидку!

Arduino и 2х осевой подвес с серво

2016-04-28

Все статьи →

Всегда интересно чем-то по управлять. Будь-то самолет, автомобиль или камера. Вашему вниманию представляется проект по управлению чем-то (будь-то лампочка, лазер или камера). За частую для управления используется сервопривод.

Сервопривод (следящий привод) — привод с управлением через отрицательную обратную связь, позволяющую точно управлять параметрами движения. Сервоприводы имеют три контактных провода: питание (красного цвета), земля (коричневого или черного цвета) и сигнальный вход (белого или оранжевого цвета).

Управления сервоприводами осуществляется по сигнальной линии при помощи прямоугольных импульсов длительность которых можно регулировать. В сервоприводах подача импульса длительностью 1 мс приводит к установке сервопривода в положение 0, импульс длительностью 1,25 мс устанавливает сервопривод в положение 45 град, 1.5 мс - 90 град, 2 мс - 180 град. После того как импульс подан, вал сервопривода устанавливается в определённой позиции и остается там до поступления следующей команды.

Управления сервоприводами осуществляется при помощи переменных резисторам. Резкость поворота, как и точность и градус зависят от номиналов потенциометров.

Детали, требуемые для сборки:

1. Arduino UNO, либо какая-то другая плата Аrduino (Nano, Mega и т.д.);

2. 2 сервопривода SG90 или MG 90S Micro;

3. Соединительные провода «папа-папа»;

4. 2 потенциометра (переменных резистора);

5. Беспаечная макетная плата (Breadboard);

6. 2-Axis FPV.

Скетч:

#include <Servo.h>

Servo myservo1; // create servo object to control a servo

Servo myservo2;

int potpin1 = 0; // analog pin used to connect the potentiometer

int potpin2 = 1;

int val1; // variable to read the value from the analog pin

int val2;

void setup()

{

myservo1.attach(9); // attaches the servo on pin 9 to the servo object

myservo2.attach(10);

}

void loop()

{

val1 = analogRead(potpin1); // reads the value of the potentiometer (value between 0 and 1023)

val1 = map(val1, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)

myservo1.write(val1); // sets the servo position according to the scaled value

delay(15); // waits for the servo to get there

val2 = analogRead(potpin2); // reads the value of the potentiometer (value between 0 and 1023)

val2 = map(val2, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)

myservo2.write(val2); // sets the servo position according to the scaled value

delay(15);

}

Рисунок 1 - Схема подключения

Видео работы:

Ваша оценка статьи:

Отлично
Хорошо
Удовлетворительно
Плохо
Очень плохо

Общая оценка:

Оценка "Arduino и 2х осевой подвес с серво"
5 из 5
сделана на основе 1 оценки 1 клиентских отзыва.

Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Александр
18.01.2023 19:00:25
спасибо большое! у меня не было времени самому все писать и искать инфу " как подключить" с вашим гайдом я управился за пять минут.
оплата картами Visa и MasterCard