Arduino:Примеры/Servos

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

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


Сервомотор[1]

Это скетч для библиотеки TLC5940 и платы Arduino, который демонстрирует, как при помощи чипа TLC5940 управлять вращением сервомотора.

Код

 1 /*
 2 
 3 Сервомотор
 4 
 5 Этот скетч поворачивает сервомотор, подключенный к 0-ому каналу.
 6 
 7 Чтобы подключить сервомотор:
 8 1.	Подключите подтягивающий резистор на 2-5 кОм (обозначен как 
 9    «R0» на схеме ниже; у меня стоит на 3,3 кОм) между выходным 
10    контактом для управления сервомотором («OUTn») и +5V.
11 2.	Подключите тот же контакт к линии для управления сервомотором
12 как показано на схеме ниже.
13 
14          Сервомотор
15               |     _____
16      OUTn ----+----[_____]---+5v
17                       R0
18 
19 Создан 2009-01-20 Стивом Помероем 
20 (Steve Pomeroy; steve ~AT~ staticfree.info).
21 
22 
23 #include "Tlc5940.h"
24 #include "tlc_servos.h"
25 
26 #define SERVO_CHANNEL   0
27 #define DELAY_TIME      20
28 
29 void setup()
30 {
31   tlc_initServos();  // примечание: это снизит частоту ШИМ до 50 гц
32 }
33 
34 void loop()
35 {
36   for (int angle = 0; angle < 180; angle++) {
37     tlc_setServo(SERVO_CHANNEL, angle);
38     Tlc.update();
39     delay(DELAY_TIME);
40   }
41   for (int angle = 180; angle >= 0; angle--) {
42     tlc_setServo(SERVO_CHANNEL, angle);
43     Tlc.update();
44     delay(DELAY_TIME);
45   }
46 }

См.также

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