Первый проект в Proteus- мигание светодиода (Arduino)
Мигание светодиода — это первый и самый простой шаг при изучении Arduino и Proteus. Вот на нём и будем учить связку Arduino и 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);
}
Разберём, что здесь происходит:
- setup() — выполняется один раз при старте программы;
- pinMode(13, OUTPUT) — переводит пин 13 в режим выхода;
- loop() — выполняется бесконечно;
- delay(1000) — пауза в 1000 миллисекунд (1 секунда).
Таким образом светодиод будет:
- 1 секунду включён;
- 1 секунду выключен;
- и так по кругу.
Шаг 2. Получение HEX-файла
Proteus не работает напрямую с исходным кодом Arduino (.ino). Для симуляции нужен скомпилированный HEX-файл.
В Arduino IDE выберите:
Скетч → Экспорт бинарного файла
После этого в папке со скетчем появятся 2 файла с расширением .hex. Нам нужен led.ino.standard.hex Именно этот файл будет загружаться в Arduino внутри 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.
В мастере создания проекта:
- укажите имя проекта;
- выберите папку для сохранения;
- включите создание схемы;
- используйте шаблон по умолчанию.
На шаге выбора прошивки обязательно выберите:
No Firmware Project
Это означает, что прошивка будет подключаться вручную, а не создаваться средствами Proteus.
Нажмите Finish. Откроется редактор схем (ISIS).
Шаг 4. Добавление компонентов на схему
Откройте библиотеку компонентов:
Library → Pick Parts
Добавьте следующие элементы:
- Arduino UNO;
- LED;
- RES (резистор 220–330 Ом);
- GND.
Соедините компоненты:
- пин D13 Arduino → резистор;
- резистор → анод светодиода;
- катод светодиода → GND.
Резистор обязателен — даже в симуляции. Он ограничивает ток и делает схему корректной.
Установка библиотеки 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В строке поиска попробуйте ввести:
ARDUINOUNOMEGA
Если компоненты 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.
Если путь указан неверно, симуляция не запустится.
Шаг 6. Запуск и проверка симуляции
Нажмите кнопку Run.
Если всё сделано правильно, светодиод начнёт мигать с интервалом в одну секунду.
Это означает, что:
- Arduino корректно работает в Proteus;
- HEX-файл загружен правильно;
- проект настроен верно.