Arduino:Библиотеки/Servo/writeMicroseconds()

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Функция writeMicroseconds()[1]

Передает на сервомотор значение в микросекундах, тем самым осуществляя управление валом. Если это стандартный сервомотор, то переданное значение устанавливает угол, на который должен повернуться вал. То есть значение «1000» – это полный поворот против часовой стрелки, «2000» – полный поворот по часовой стрелке, а «1500» – это полная остановка.

Обратите внимание, что производители далеко не всегда строго следуют этому стандарту, поэтому сервомоторы часто реагируют на значение от «700» до «2300». Поэтому, чтобы узнать реальный диапазон, имеет смысл поэкспериментировать с конечными значениями. Также имейте в виду, что поворот вала за пределы этих конечных точек (зачастую сопровождаемый рычащим звуком) – это ситуация, когда на сервомотор подается ток высокого напряжения, и ее следует избегать.

Сервомоторы непрерывного вращения реагируют на эту функцию так же, как и на функцию write().

Синтаксис

servo.writeMicroseconds(uS)

Параметры

servo  переменная типа Servo
uS  значение, которое нужно передать сервомотору, в микросекундах. Тип данных  int

Пример

 1 #include <Servo.h> 
 2 
 3 Servo myservo;
 4 
 5 void setup() 
 6 { 
 7   myservo.attach(9);
 8   myservo.writeMicroseconds(1500);  //  задаем среднюю точку, тем самым останавливая вал сервомотора
 9 } 
10 
11 void loop() {}

См.также

  1. attach()
  2. read()

Внешние ссылки