Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Arduino:Примеры/Sweep

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Вращение вала сервомотора[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.

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

  1. Arduino - Sweep