Arduino:Примеры/Sweep

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

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


Вращение вала сервомотора[1]

Вращение вала радиоуправляемого сервомотора вперед и назад на 180 градусов.

Этот пример использует библиотеку Servo.

Необходимое оборудование

  • Плата Arduino;
  • Сервомотор;
  • Провода-перемычки;

Цепь

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

Sweep bb.png

Схема

Sweep schem.png

Код

// Вращение вала сервомотора
// От BARRAGAN <http://barraganstudio.com> 
// Этот код не защищен авторским правом.


#include <Servo.h> 
 
Servo myservo;  // создаем экземпляр класса Servo, чтобы управлять сервомотором 
                // можно создать не более восьми Servo-объектов 
 
int pos = 0;    // переменная, в которой будет храниться позиция сервопривода 
 
void setup() 
{ 
  myservo.attach(9);  // привязываем сервопривод на 9-ом контакте к Servo-объекту 
} 
 
 
void loop() 
{ 
  for(pos = 0; pos < 180; pos += 1)  // вращаем с 0 градусов до 180 градусов 
  {                                  // (c шагом в один градус) 
    myservo.write(pos);              // говорим сервоприводу повернуться к позиции, хранящейся в переменной «pos» 
    delay(15);                       // ждем 15 миллисекунд, пока сервопривод повернется нужным образом 
  } 
  for(pos = 180; pos>=1; pos-=1)     // вращаем со 180 градусов до 0 градусов 
  {                                
    myservo.write(pos);              // говорим сервоприводу повернуться к позиции, хранящейся в переменной «pos»
    delay(15);                       // ждем 15 миллисекунд, пока сервопривод повернется нужным образом 
  } 
}

См.также

  1. attach()
  2. write()
  3. map()
  4. Servo library reference
  5. Knob - control the position of a servo with a potentiometer.

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