Управление сервоприводом с помощью Arduino (обучение работе с Proteus)
Данная статья написана специально для обучения работе с симулятором Proteus и предназначена для начинающих пользователей Arduino, которые хотят понять, как работает сервопривод и как можно протестировать его поведение в виртуальной среде без реального оборудования.
В качестве примера используется простой скетч с библиотекой Servo.h, который поворачивает сервопривод на крайние положения 0° и 180° с задержкой. Такой проект идеально подходит для первого знакомства с управлением механикой в Proteus.
Назначение проекта
Цель данного проекта — показать на практике:
- как подключить сервопривод к Arduino;
- как использовать стандартную библиотеку Servo.h;
- как загружать и запускать скетчи в Proteus;
- как наблюдать движение сервопривода в симуляции;
- как использовать Serial Monitor для отладки.
Проект является учебным и не использует датчики или сложную логику, что позволяет полностью сосредоточиться на принципе работы сервопривода.
Необходимые компоненты
- Arduino UNO;
- Сервопривод (например, SG90);
- Proteus 8 или Proteus 9 с установленной Arduino-библиотекой;
- Скомпилированный HEX-файл Arduino.
Подключение сервопривода
Сервопривод имеет три основных вывода:
- VCC — питание (5V);
- GND — общий провод;
- SIGNAL — управляющий сигнал.
В данном проекте управляющий сигнал сервопривода подключён к цифровому пину 12 Arduino, что полностью соответствует строке:
servo1.attach(12);
В Proteus используется виртуальная модель сервопривода, которая визуально показывает угол поворота в процессе симуляции.
Принцип работы программы
В начале скетча подключается стандартная библиотека:
#include <Servo.h>
Далее создаётся объект сервопривода:
Servo servo1;
В функции setup() происходит:
- привязка сервопривода к пину 12;
- инициализация последовательного порта;
- вывод отладочного сообщения в Serial Monitor.
Функция loop() выполняется бесконечно и содержит основную логику:
- вывод тестового сообщения Hello в Serial Monitor;
- поворот сервопривода в положение 0°;
- задержку 2 секунды;
- поворот сервопривода в положение 180°;
- ещё одну задержку 2 секунды.
Таким образом сервопривод постоянно перемещается между крайними положениями, что удобно для визуального контроля работы в Proteus.
Arduino-скетч
#include <Servo.h>
Servo servo1;
//Servo servo2;
void setup()
{
servo1.attach(12);
Serial.begin(9600);
Serial.println("Servo Begin");
}
void loop()
{
Serial.println("Hello");
servo1.write(0);
delay(2000);
servo1.write(180);
delay(2000);
}
Запуск проекта в Proteus
Для запуска симуляции выполните следующие шаги:
- распакуйте архив с проектом;
- откройте файл .pdsprj в Proteus;
- убедитесь, что в свойствах Arduino указан путь к .hex файлу;
- запустите симуляцию кнопкой Run;
- наблюдайте движение сервопривода;
- при необходимости откройте Virtual Terminal для просмотра сообщений.
Важно: подключать реальную Arduino-плату к компьютеру не требуется — вся работа выполняется внутри симулятора Proteus.
Файлы проекта
В конце статьи доступен архив, содержащий:
- .ino — исходный код Arduino;
- .hex — скомпилированную прошивку для Proteus;
- .pdsprj — проект Proteus.
Все файлы находятся в одной папке, что позволяет избежать ошибок при загрузке прошивки и запуске симуляции.
Данный пример рекомендуется использовать как отправную точку для дальнейших экспериментов с сервоприводами, кнопками, датчиками и системами автоматического управления в Proteus.
Если что-то не работает
Если у вас возникают сложности с запуском проекта или вы не уверены в базовых шагах, рекомендуется сначала пройти вводный урок.
Подробно разобран первый проект в Proteus:
Первый проект в Proteus — мигание светодиода