Arduino:Примеры/Управление серводвигателем с помощью потенциометра
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Управление серводвигателем с помощью потенциометра
Данный пример демонстрирует управление валом сервопривода с помощью потенциометра. При вращении ручки потенциометра вал сервопривода будет перемещаться в соответствующую позицию. В этом примере в отличие от стандартного примера из библиотеки Servo используется стабилизатор напряжения на 5В L4940V5 для питания сервопривода. Это является лучшим решением, по нескольким причинам. Хоть и в неподвижном положении сервоприводы потребляют небольшой ток, при выполнении команд ток потребления может достигать нескольких сотен миллиампер, что может привести к скачкам напряжения. При недостаточном напряжении питания вал сервопривода будет перемещаться неустойчиво. Поэтому сервоприводам необходимо обеспечить отдельным источником питания.
Необходимое оборудование
- Плата Arduino;
- Серводвигатель;
- Провода-перемычки;
- Стабилизатор напряжения на 5V L4940V5;
- Конденсатор 1 мкФ;
- Конденсатор 22 мкФ;
- Потенциометр;
Цепь
Соберите схему согласно монтажной схеме.
ОСТОРОЖНО! Выход стабилизатора напряжения не нужно соединять с шиной 5V платы Arduino. Соединить необходимо только шины земли стабилизатора и платы Arduino. |
Обратите внимание на конденсаторы на входе и выходе стабилизатора напряжения, они устраняют пульсации напряжения.
Код
#include <Servo.h> // подключаем библиотеку Servo
#define SERVO 9 // номер цифрового вывода для подключения сигнального провода сервопривода
#define POT 0 // номер аналогового вывода для подключения потенциометра
Servo myServo;
int val = 0; // переменная для хранения показаний, считанных с потенциометра
void setup()
{
myServo.attach(SERVO); // прикрепляем объект Servo к выводу SERVO(т.е. 9-му)
}
void loop()
{
val = analogRead(POT); // чтение данных с потенциометра
val = map(val, 0, 1023, 0, 179); // преобразование к нужному диапазону
myServo.write(val); // устанавливаем вал серводвигателя в соответствующую позицию
delay(15); // задержка, для фиксации серводвигателя, прежде чем поступит новая команда
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino