Управление сервоприводом с помощью Arduino (обучение работе с Proteus)

Данная статья написана специально для обучения работе с симулятором Proteus и предназначена для начинающих пользователей Arduino, которые хотят понять, как работает сервопривод и как можно протестировать его поведение в виртуальной среде без реального оборудования.

В качестве примера используется простой скетч с библиотекой Servo.h, который поворачивает сервопривод на крайние положения и 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 — мигание светодиода

📁 Скачать примеры