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

Код

 1 // Вращение вала сервомотора
 2 // От BARRAGAN <http://barraganstudio.com> 
 3 // Этот код не защищен авторским правом.
 4 
 5 
 6 #include <Servo.h> 
 7  
 8 Servo myservo;  // создаем экземпляр класса Servo, чтобы управлять сервомотором 
 9                 // можно создать не более восьми Servo-объектов 
10  
11 int pos = 0;    // переменная, в которой будет храниться позиция сервопривода 
12  
13 void setup() 
14 { 
15   myservo.attach(9);  // привязываем сервопривод на 9-ом контакте к Servo-объекту 
16 } 
17  
18  
19 void loop() 
20 { 
21   for(pos = 0; pos < 180; pos += 1)  // вращаем с 0 градусов до 180 градусов 
22   {                                  // (c шагом в один градус) 
23     myservo.write(pos);              // говорим сервоприводу повернуться к позиции, хранящейся в переменной «pos» 
24     delay(15);                       // ждем 15 миллисекунд, пока сервопривод повернется нужным образом 
25   } 
26   for(pos = 180; pos>=1; pos-=1)     // вращаем со 180 градусов до 0 градусов 
27   {                                
28     myservo.write(pos);              // говорим сервоприводу повернуться к позиции, хранящейся в переменной «pos»
29     delay(15);                       // ждем 15 миллисекунд, пока сервопривод повернется нужным образом 
30   } 
31 }

См.также

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

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