Первый проект в Proteus- мигание светодиода (Arduino)

Мигание светодиода — это первый и самый простой шаг при изучении Arduino и Proteus. Вот на нём и будем учить связку Arduino и Proteus. Именно на этом примере проверяется, что:

Первый проект в Proteus
  • Arduino IDE установлена и работает корректно;
  • скетчи успешно компилируются в HEX-файл;
  • Proteus правильно установлен;
  • симуляция микроконтроллера запускается без ошибок.

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


Общая идея проекта

Суть проекта заключается в следующем: Arduino периодически подаёт логическую единицу и ноль на цифровой пин, к которому подключён светодиод.

Когда на пине присутствует логическая единица (HIGH) — светодиод загорается. Когда логический ноль (LOW) — светодиод гаснет.

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


Что понадобится для работы

  • Arduino IDE — для написания и компиляции скетча;
  • Proteus 8 — для сборки схемы и симуляции;
  • модель Arduino UNO (не идёт в базовом комплекте с Proteus);
  • светодиод и резистор (виртуальные компоненты).

Физическая плата Arduino, провода и питание не требуются. Весь проект выполняется внутри Proteus.


Шаг 1. Написание скетча Arduino

Запустите Arduino IDE и создайте новый скетч.

Вставьте следующий код:

void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}
Первый проект в Proteus

Разберём, что здесь происходит:

  • setup() — выполняется один раз при старте программы;
  • pinMode(13, OUTPUT) — переводит пин 13 в режим выхода;
  • loop() — выполняется бесконечно;
  • delay(1000) — пауза в 1000 миллисекунд (1 секунда).

Таким образом светодиод будет:

  • 1 секунду включён;
  • 1 секунду выключен;
  • и так по кругу.

Шаг 2. Получение HEX-файла

Proteus не работает напрямую с исходным кодом Arduino (.ino). Для симуляции нужен скомпилированный HEX-файл.

В Arduino IDE выберите:

Скетч → Экспорт бинарного файла

Первый проект в Proteus

После этого в папке со скетчем появятся 2 файла с расширением .hex. Нам нужен led.ino.standard.hex Именно этот файл будет загружаться в Arduino внутри Proteus.

Первый проект в Proteus

При экспорте бинарного файла Arduino IDE создаёт два HEX-файла:

1. led.ino.standard.hex (нужен для Proteus)
Это:
без загрузчика (bootloader);

2. led.ino.with_bootloader.standard.hex
Это:
скетч + bootloader;
предназначен для прошивки пустого микроконтроллера (через программатор), в Proteus не используется и часто вызывает ошибки запуска.

Почему Proteus нужен файл без bootloader
В Proteus:
Arduino уже содержит загрузчик внутри модели;
при запуске симуляции код загружается напрямую в память МК;

Рекомендуется:

  • использовать короткий путь без пробелов, у меня D:\Proteus;
  • хранить HEX-файл рядом с файлом проекта Proteus;
  • переименовать файл в понятное имя, например blink.hex.

Шаг 3. Создание проекта в Proteus

Запустите Proteus 8. На стартовой странице нажмите кнопку New Project.

В мастере создания проекта:

  • укажите имя проекта;
  • выберите папку для сохранения;
  • включите создание схемы;
  • используйте шаблон по умолчанию.
Первый проект в Proteus

На шаге выбора прошивки обязательно выберите:

No Firmware Project

Это означает, что прошивка будет подключаться вручную, а не создаваться средствами Proteus.

Нажмите Finish. Откроется редактор схем (ISIS).


Шаг 4. Добавление компонентов на схему

Откройте библиотеку компонентов:

Library → Pick Parts

Добавьте следующие элементы:

  • Arduino UNO;
  • LED;
  • RES (резистор 220–330 Ом);
  • GND.
proteus-gnd

Соедините компоненты:

  • пин D13 Arduino → резистор;
  • резистор → анод светодиода;
  • катод светодиода → GND.

Резистор обязателен — даже в симуляции. Он ограничивает ток и делает схему корректной.

Первый проект в Proteus

Установка библиотеки Arduino в Proteus

Если у вас не установлена библиотека Arduino, то вам следует установить её вручную, так как по умолчанию в Proteus 8/9 компоненты Arduino UNO, MEGA и другие платы отсутствуют.

Шаг 1. Подготовка библиотеки

Скачайте архив с библиотекой Arduino для Proteus (чаще всего он называется Arduino-Library-master.zip) и распакуйте его в любую временную папку на компьютере.

После распаковки в архиве обычно находятся файлы с расширениями:

  • .LIB — описание компонентов для Proteus
  • .IDX — индекс библиотеки
  • .DLL или .MDL — модели симуляции (могут присутствовать не всегда)

Шаг 2. Копирование файлов в Proteus

Найдите папку, в которую установлен Proteus. Чаще всего она располагается по одному из путей:

C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\LIBRARY
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\Library Indexing

Скопируйте файлы из архива следующим образом:

  • Все .LIB — в папку LIBRARY
  • Все .IDX — в папку Library Indexing
  • Если есть .DLL или .MDL, скопируйте их в папку MODELS

Шаг 3. Перезапуск Proteus

Полностью закройте Proteus и запустите его заново. Без перезапуска новая библиотека не будет отображаться в списке компонентов.

Шаг 4. Проверка установки

Откройте пункт меню:

Library → Pick Parts

В строке поиска попробуйте ввести:

  • ARDUINO
  • UNO
  • MEGA
Первый проект в Proteus

Если компоненты Arduino появились в списке, значит библиотека установлена корректно.

Важно знать

Даже при корректной установке библиотеки симуляция Arduino может не запускаться. Ошибки вида Missing or invalid Customer Key означают, что используемая лицензия Proteus не поддерживает VSM-модели Arduino и AVR.

Для учебных проектов в этом случае рекомендуется использовать микроконтроллер ATMEGA328P напрямую, загружая в него файл *.ino.standard.hex, полученный из Arduino IDE.

Шаг 5. Подключение HEX-файла

Дважды щёлкните по Arduino на схеме.

В поле Program File укажите путь к HEX-файлу, который был создан в Arduino IDE.

Подключение HEX

Если путь указан неверно, симуляция не запустится.


Шаг 6. Запуск и проверка симуляции

Нажмите кнопку Run.

Если всё сделано правильно, светодиод начнёт мигать с интервалом в одну секунду.

мигание светодиода в Proteus

Это означает, что:

  • Arduino корректно работает в Proteus;
  • HEX-файл загружен правильно;
  • проект настроен верно.

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