Arduino:Примеры/Servos: различия между версиями

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


<references />
<references />
{{Навигационная таблица/Портал/Arduino}}
[[Категория:Пример]]
[[Категория:Пример]]
[[Категория:Примеры]]
[[Категория:Примеры]]
[[Категория:Пример программирования Arduino]]
[[Категория:Пример программирования Arduino]]
[[Категория:Примеры программирования Arduino]]
[[Категория:Примеры программирования Arduino]]

Текущая версия от 12:37, 8 июля 2023

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


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

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

Код

/*

Сервомотор

Этот скетч поворачивает сервомотор, подключенный к 0-ому каналу.

Чтобы подключить сервомотор:
1.	Подключите подтягивающий резистор на 2-5 кОм (обозначен как 
   «R0» на схеме ниже; у меня стоит на 3,3 кОм) между выходным 
   контактом для управления сервомотором («OUTn») и +5V.
2.	Подключите тот же контакт к линии для управления сервомотором
как показано на схеме ниже.

         Сервомотор
              |     _____
     OUTn ----+----[_____]---+5v
                      R0

Создан 2009-01-20 Стивом Помероем 
(Steve Pomeroy; steve ~AT~ staticfree.info).


#include "Tlc5940.h"
#include "tlc_servos.h"

#define SERVO_CHANNEL   0
#define DELAY_TIME      20

void setup()
{
  tlc_initServos();  // примечание: это снизит частоту ШИМ до 50 гц
}

void loop()
{
  for (int angle = 0; angle < 180; angle++) {
    tlc_setServo(SERVO_CHANNEL, angle);
    Tlc.update();
    delay(DELAY_TIME);
  }
  for (int angle = 180; angle >= 0; angle--) {
    tlc_setServo(SERVO_CHANNEL, angle);
    Tlc.update();
    delay(DELAY_TIME);
  }
}

См.также

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