Обзор приложения UnoArduSim v1.5.1

Приложение UnoArduSim является лучшим и бесплатным симулятором Arduino Uno. Дающий возможность увидеть ход выполнения программы в реальном времени без наличия самой платы Arduino Uno.

Оно предназначено для облегчения отладки Arduino программ и содержит набор виртуальных 'I/O' Устройств которые можно настраивать и подключать к виртуальному Arduino Uno. UnoArduSim в установке не нуждается, просто скачиваете его по ссылке https://www.sites.google.com запускаете файл UnoArduSim.exe и работаете.

Симулятор работает в операционной системе Windows начиная с Windows XP и до самой новой версии.

Появившиеся вопросы вы можете задавать в комментариях под видео на моем канале перейдя по ссылке https://www.youtube.com/ Мастер Колотушкин

И так ниже представлено приложение UnoArduSim v1.5.1 в запущенном состоянии.

UnoArduSim

Начнем с рассмотрения окна редактирования Arduino программ которое запускается двойным кликом зоне обведенной красным.

UnoArduSim окно редактирования

Запустилось окно Edit/View Program.

Зона обведенная синим предназначена для внесения и редактирования Arduino программ (скетчей). Она содержит небольшой код для эмуляции скетча, этот код можно удалить он потом добавится автоматически. Здесь можно вставить свой код или скопированный из приложения Arduino IDE. Правая кнопка мышки здесь не работает так что копировать и вставлять приходится через команды Control C и Control V.

Красным обведены кнопки: Find/Replase (^H) - для вызова поиска по программе, UnDo (^Z) она же ReDo (^Y) - шаг назад или шаг вперед, Compile (^R) - скомпилировать (проверить на наличие ошибок), Adopt (^U) - принять, Cansel - отмена, Seve (^S) - сохранить.

Зеленая зона содержит справочник языка Ардуино. Работает следующим образом - ставите курсор в нужном месте в синей зоне и дважды кликните на интересующее слово в зеленой зоне.

Окно редактирования

Ниже красным обведено окно переменных.

Здесь во время эмуляции вы можете наблюдать состояния и значения всех переменных которые содержатся в скетче.

UnoArduSim окно переменных

С права в центре расположена лабораторная скамья с различными инструментами расположенными по периметру, которые можно настраивать и подключать к виртуальному Arduino UNO.

UnoArduSim лабораторная скамья

На лабораторной скамье можно наблюдать состояние контактов виртуального Arduini UNO.

Вопросительный знак означает что контакт не используется, ноль на синем фоне это сигнал низкого уровня LOW, единица на красном фоне это сигнал высокого уровня HIGH, стрелка вверх на розовом фоне это сигнал ШИМ. На плате имеются функционирующие светодиоды: ON, RX, TX и pin 13.

Также если кликнуть дважды по одному из активных контактов то запустится окно осциллографа.

лабораторная скамья

Ниже представлено окно осциллографа с тремя активными контактами.

Pin 0 в состоянии единицы, на Pin 9 видим ШИМ сигнал, а Pin 13 в состоянии ноль. Синяя и красная метки параметра delta выставляются путем перетаскивания их мышкой, а параметр t (время) настраивается колесиком мышки.

окно осциллографа

Инструменты лабораторной скамьи.

Все они подключаются путем вписывания в свободное поле номера контакта ардуины (00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, А0, А1, А2, А3, А4 и А5).

Ниже представлены 5 самых излюбленных инструментов начинающих ардуинщиков:

PUSH (кнопка) в данный момент кнопка имеет на выходе единицу, а при нажатии на нее на выходе будет ноль. Если переставить галочку выше то на выходе будет ноль, а при нажатии будет единица, то есть наоборот.

LED (светодиод) в данный момент галочка стоит снизу, это означает что второй контакт подключен к минусу. Если поставить галочку сверху то второй контакт будет подключен к плюсу.

По центу показан ползунковый потенциометр. Управляется путем перетаскивания ползунка мышкой (вверх-вниз) на выходе формируется аналоговый сигнал от 0 до 5 вольт, в программном виде это значение от 0 до 1023.

R=1K подтягиваюший резистор с номиналом 1 киллоом по умолчанию подключен к минусу, если кликнуть на него то он подключится к плюсу, также можно использовать в качестве выключателя.

PIEZO пъезо динамик можно использовать в проектах где используется проигрывание мелодий или просто подача звукового сигнала, в настройке не нуждается, звук выводится на динамики компьютера или наушники подключенные к компьютеру.

Модули: кнопка, светодиод, ползунковый потенциометр, подтягивающий резистор, пъезо динамик

Для любителей механики и робототехники имеется три модуля моторов:

С лева SERVO (сервомотор) управляется ШИМ сигналом, в зависимости от скважности ШИМ сигнала вал принимает определенный угол от 0 до 180 градусов. Сервомоторы подходят для открытия-закрытия заслонки, жалюзей, поворота солнечной батареи к солнцу в общем везде где требуется поворот на определенный угол.

По центру DC MOTOR двигатель постоянного тока который как и сервомотор управляется ШИМ сигналом через контакт Pwm только тут уже в зависимости от скважности ШИМа изменяется скорость вращения. Контакт Dir служит для изменения направления вращения путем подачи на него плюса или минуса. Контакт Enc является выходом энкодера по которому можно считывать обороты и положение ротора. Такие моторы используют там где требуется регулировка скорости вращения это: шпиндель ЧПУ станка, мотор колесо электромобиля и электро велосипеда, квадрокоптеры, куллеры в компьютерах.

С права STEPR (Stepper) или шаговый двигатель, в окне steps выставляется количество шагов на один оборот ротора. Есть два варианта: двух фазный и четырех фазный которые переключаются путем установки галочки над двойкой или над четверкой. В данный момент активен двухфазный вариант с подключением к контактам Р1 и Р2, если выбрать четырех фазный то соответственно добавятся еще два контакта Р3 и Р4. Вращается за счет смены полярности, при каждой смене полярности происходит перемещение ротора на один шаг. Встречаются такие моторы в печатных принтерах, 3D принтерах и ЧПУ станках.

Модули SERVO, DC MOTOR, STEPPER

Далее представлено два генератора импульсов:

Слева PULSER цифровой генератор. Он имеет два параметра настроек Pulse и Period а также есть возможность инвертировать сигнал переставив галочку ниже.

Справа FUNCGEN аналоговый генератор. Имеет только один параметр настройки Period и три варианта частот.

генераторы цифрового и аналогового импульсов

Ниже представлены сериал порты:

Программный Serial “SFTSER” который подключается к любым контактам которые вы укажите в скетче. Скорость передачи устанавливается с помощью раскрывающегося списка внизу (Baud). Для отправки строки или значения введите его в окно TX char и нажмите ENTER. Также можно использовать более удобное увеличенное окно, которое вызывается двойным кликом в области SFTSER.

И сериал монитор (Serial Monitor) “SERIAL” который по умолчанию подключен к контактам 00 (TX) и 01 (RX), их можно только отключить переназначить нет. Скорость передачи также устанавливается с помощью раскрывающегося списка внизу (Baud). Для отправки строки или значения введите его в окно TX char и нажмите ENTER. Также можно использовать более удобное увеличенное окно, которое вызывается двойным кликом в области SERIAL.

Модули Serial мониторы

Для более продвинутых ардуинщиков имеются модули I2C и SPI.

Оба они ведомые, и также как и у сериал портов двойным кликом вызывается увеличенное окно.

Модуль SPI имеет четыре режима Mode 0, Mode 1, Mmode 2, или Mode 3.

Модули I2C и SPI

И на закуску:

Модуль флеш памяти SD_DRV слева и модуль ведомый сдвиговый регистр SRSLV справа.

Модуль SD карта и сдвиговый регистр

Все эти модули можно добавлять указав нужное количество в окне I/O Devices которое находится во вкладке Configure. Удалить модули можно установив значение 0 (ноль).

Такие модули как USB Serial и SDCARD добавляются только по одному установкой галочки на против.

Обратите внимание что модули разделены на две группы:

Small I/O Devices максимальное количество которых до 16 штук.

И Big I/O Devices максимальное количество которых до 8 штук.

Здесь также есть возможность сохранять (кнопкой Seve)и загружать (кнопкой Load) раннее сохраненные наборы модулей.

окно I O Устройства

Рассмотрим кнопки:

С лева кнопка для загрузки раннее сохраненных скетчей, так же скетч можно загрузить через вкладку File выбрав пункт Load INO or PDE Prog..

Кнопки func со стрелками служат для перемещения между блоками скетча.

кнопки: загрузка скетча и funk

Желтая стрелка - шаг внутри

Голубая стрелка - шаг вокруг

Фиолетовая стрелка - шаг вне

Красная стрелка - выполнить до

Зеленая стрелка - выполнить полностью (чаще всего используемая)

Кнопка STOP - для остановки выполнения ардуино программы (скетча)

Крайняя правая кнопка сброса RESET

кнопки

Ниже представлены два скетча, которые использовались в данном обзоре.

Первый скетч test


//Начало первого скетча test


void setup() {            //Назначаем выходами второй и третий контакт.
  pinMode(02, OUTPUT);
  pinMode(03, OUTPUT);
}

void loop() {
  digitalWrite(02, HIGH); //Подать единицу на 2 контакт
  delay(100);             //задержка 100 миллисекунд
  digitalWrite(02, LOW);  //Подать ноль на 2 контакт
  delay(100);             //задержка 100 миллисекунд
  digitalWrite(03, HIGH); //Подать единицу на 3 контакт
  delay(100);             //задержка 100 миллисекунд
  digitalWrite(03, LOW);  //Подать ноль на 3 контакт
  delay(100);             //задержка 100 миллисекунд
}


//Конец первого скетча test


Второй скетч Button


//Начало второго скетча Button


const int buttonPin = 2;                // создаем переменную buttonPin для контакта 2
const int ledPin = 13;                  // создаем переменную ledPin для контакта 13
int buttonState = 0;                    //переменная в которая будет хранить состояние кнопки, задаем ей значение 0

void setup() {
  pinMode(ledPin, OUTPUT);              // назначаем ledPin выходом
  pinMode(buttonPin, INPUT);            // назначаем buttonPin входом
}

void loop() {
  buttonState = digitalRead(buttonPin); // проверяем состояние переменной buttonPin
  if (buttonState == HIGH) {
                                        // если состояние переменной buttonPin = HIGH тогда на ledPin подать единицу
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);          // в противном случае ledPin подать ноль
  }
}


//Конец второго скетча Button


Возникшие вопросы вы можете задать комментариях под видео на моем канале перейдя по ссылке https:youtu.be/5oXn_764mk8

Скачать приложение UnoArduSim по ссылке https://www.sites.com

Видео версия обзора приложения "Лучший эмулятор Arduino UNO UnoArduSim. обзор приложения"

Обзор приложения UnoArduSim