PDE. Урок 1. Первые шаги к освоению – Arduino и Processing – Arduino с нуля – Каталог статей – GM-project.com

image

Это репост статьи автора проекта FLProg и перевод ее на другие языки с целью расширения сообщества пользователей программы.

Проект посвящён созданию визуальной среды программирования плат Arduino, и поэтому прежде чем рассказывать о программе FLProg, я хочу сделать небольшой обзор существующих программ предназначенных для программирования этих плат.

  1. Прокачанные «Блокноты»
  2. Текстовые среды разработки
  3. Графические среды, визуализирующие структуру кода.
  4. Графические среды, отображающие код в виде графики.
  5. Визуальные среды программирования, не использующие кода.

Прокачанные «Блокноты»

image

Текстовые среды разработки

Графические среды, визуализирующие структуру кода.

Графические среды, отображающие код в виде графики

Визуальные среды программирования, не использующие кода.

Ну и наконец, герой этого блога, проект FLProg.

FBD (Function Block Diagram) – графический язык программирования стандарта МЭК 61131-3. Программа образуется из списка цепей, выполняемых последовательно сверху вниз. При программировании используются наборы библиотечных блоков. Блок (элемент) — это подпрограмма, функция или функциональный блок (И, ИЛИ, НЕ, триггеры, таймеры, счётчики, блоки обработки аналогового сигнала, математические операции и др.). Каждая отдельная цепь представляет собой выражение, составленное графически из отдельных элементов. К выходу блока подключается следующий блок, образуя цепь. Внутри цепи блоки выполняются строго в порядке их соединения. Результат вычисления цепи записывается во внутреннюю переменную либо подается на выход контроллера.

Состав библиотеки элементов для языка FBD на текущий момент. Оформление

  • Надпись
  • Изображение

Базовые элементы

  • [OR]
  • [AND]
  • [Bounce]
  • [XOR]
  • Таблица состояний

Специальные блоки

  • [Scale]

Тригеры

  • [SR]
  • [TT]
  • [Rtrig]
  • [RS]

Таймеры

  • [Timer]
  • [Generator]

Счетчики

  • [SpeedCounter]
  • [Counter]

Математика

  • [SUM(+)]
  • [MUL(*)]
  • [SUB(-)]
  • [DIV(/)]

Алгебра

  • [COS]
  • [ABS]
  • [MAX]
  • [POW]
  • [SQRT]
  • [TAN]
  • [MIN]
  • [SQ]
  • [RANDOM]
  • [SIN]

Сравнение

  • [Comparator]

UART

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

Переключатель

  • [SWITCH]
  • [MUX]
  • [DMS]

Моторы

  • ServoMotor
  • StepMotor

Часы реального времени

  • [Alarm]
  • [GetTime]
  • [SetTime]

Дисплеи

  • Дисплей на чипе НD44780
  • Подсветка дисплея на чипе НD44780 I2C
  • Блок декодирования семисегментного индикатора

Строки

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

Массивы

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

Датчики

  • [DS18x2x]
  • [IR Ressive]
  • [Ultrasonic HC-SR04]
  • [DHT11, DHT21, DHT22]
  • [BMP-085]
  • [BH1750LightMeter]

SD карта

  • Выгрузка файла с SD карты
  • Запись переменной на SD карту

Конвертация типов

  • Преобразование Float в Integer
  • Преобразование строк
  • -> Byte
  • -> Char

Микросхемы расширений

  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами

  • Дешифратор
  • Шифратор
  • Чтение бита
  • Запись бита

Разное

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

EEPROM

  • Запись в EEPROM
  • Чтение из EEPROM

Коммуникации

  • RessiveVariableFromCommunication
  • WebServerPage
  • SendVariableFromCommunication
  • WebClient

Готовые сервисы

  • narodmon.ru
  • goplusplatform.com
  • Удалённое управление через RemoteXY

Состав библиотеки элементов для языка LAD на текущий момент. Оформление

  • Надпись
  • Изображение

Базовые блоки

  • Контакт
  • Катушка
  • Защита от дребезга
  • Выделение переднего фронта
  • Таблица состояний

Специальные реле

  • Двустабильное реле
  • Реле времени
  • Генератор
  • Реле сравнения

Алгебра

  • SIN
  • COS
  • TAN
  • ABS
  • MAX
  • MIN
  • SQ
  • SQRT
  • POW
  • RANDOM

Аналоговые блоки

  • Масштабирование
  • Математика
  • Счетчик
  • Аналоговый переключатель
  • Переключатель много к одному
  • Переключатель один ко многим
  • Аналоговый вход контроллера
  • Аналоговый выход контроллера
  • Вход аналогового соеденителя
  • Выход аналогового соеденителя
  • Скоростной счетчик

UART

  • Отправка в UART
  • Приём из UART
  • Отправка переменной в UART
  • Прием переменной из UART

Моторы

  • Сервомотор
  • Шаговый двигатель

Часы реального времени

  • Получить данные
  • Будильник
  • Установка времени

Дисплеи

  • Дисплей на чипе HD44780
  • Блок управления подсветкой дисплея на чипе HD4480 I2C
  • Блок декодирования семисегментного индикатора

Строки

  • Сложение строк
  • Сравнение строк
  • Длинна строки
  • Поиск подстроки
  • Получение подстроки
  • Получить символ из строки
  • Добавить Char к строке

Массивы

  • Запись элемента в массив
  • Получение элемента массива
  • Сумма элементов массива
  • Стек
  • Поиск элемента в массиве

Датчики

  • Ульразвуковой дальномер HC-SR04
  • Датчик температуры и влажности DHT11 (DHT21, DHT22)
  • Датчик температуры DS18x2x
  • IR Ressive
  • BMP-085
  • BH1750 Light Meter

SD карта

  • Запись переменной на SD карту
  • Выгрузка файла с SD карты

Конвертирование типов

  • Конвертация строк
  • Преобразование Float в Integer
  • -> Byte
  • -> Char

Микросхемы расширений

  • Расширитель выводов 74HC595
  • Драйвер светодиодов MAX7219

Операции с битами

  • Шифратор
  • Дешифратор
  • Чтение бита
  • Запись бита

Разное

  • Матричная клавиатура
  • Пьезо динамик
  • Сканирование шины OneWare

EEPROM

  • Запись в EEPROM
  • Чтение из EEPROM

Коммуникации

  • Блок отправки переменной через коммуникации
  • Прием переменной через коммуникации
  • Страница Web сервера
  • Web клиент

Готовые сервисы

  • Передача данных на narodmon.ru
  • Удалённое управление через RemoteXY

Предыдущая публикация | Следующая публикация Написать:

С Arduino вы можете легко программировать, не прибегая к собственно программированию. Это так просто, что справится даже ребенок. О том, как работают лучшие графические среды кодинга, вы узнаете из нашей заметки.

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

Visuino

Visuino — это бесплатная графическая среда, работающая на базе совместимых с Arduino промышленных контроллеров (ПЛК) Controllino. Она дает возможность создания сложных систем автоматизации и решений IoT (Internet of Things, интернета вещей), причем сделать это можно, просто перемещая и соединяя визуальные блоки. Программная среда автоматически генерирует код для промышленных контроллеров.

Итак, что надо сделать. Выбираем компоненты (модули) с панели компонентов и перемещаем их в область проектирования. Затем их необходимо соединить и настроить свойства. Это делается с помощью инспектора объектов.

К плюсам Visuino относится большой набор компонентов для математических и логических функций, сервоприводов, дисплеев, интернета и пр.

Когда ПЛК запрограммирован, графическая среда подсказывает доступный способ подключения к контроллеру. Это может быть последовательный порт, Ethernet, Wi-Fi или GSM.

Наконец ваш проект готов: все контроллеры прописаны, все работает. Теперь, нажав на логотип Arduino, расположенный на верхней панели, вы заставите Visuino создать коды для Arduino и открыть среду его разработки (Arduino IDE), через которую уже можно скомпилировать код и загрузить его в ПЛК.

Совет. Если установленная плата не соответствует вашему Arduino, вы можете изменить ее с помощью команды «Select Board» (Выбрать панель).

Scratch

Эта графическая среда программирования была создана в 2003 году, когда группа сотрудников MIT Media Lab решила разработать язык программирования, доступный абсолютно для всех. В итоге через некоторое время публике был представлен Scratch.

Больше всего, пожалуй, он похож на Lego. По крайней мере, принцип тот же: это объектно ориентированная среда, в которой программы собираются из деталей, разноцветных и ярких. Эти детали можно перемещать, видоизменять, заставлять взаимодействовать различным образом. Основа Scratch — блоки команд, таких как сенсоры, переменные, движение, звук, операторы, внешность, перо, контроль и пр. Встроенный графический редактор дает возможность нарисовать любой объект. Не прошло и пяти лет с момента создания Scratch, как возник проект Scratch для Arduino (сокращённо — S4A), позволяющая программировать ПЛК Arduino.

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

Совет. Для новичков в Scratch существует специальный ресурс: https://scratch-ru.info.

ArduBloсk

Когда человек уже полностью освоил Scratch, но еще не дорос до Wiring, на котором программируются Arduino-совместимые платы, самое время посоветовать ему написанный на Java инструмент ArduBloсk. Особенно хорош он для тех, кто увлекается робототехникой.

В чем же разница? Дело в том, что Scratch не умеет прошивать Arduino, он лишь управляет его ПЛК через USB. Таким образом, Arduino не может работать сам по себе, ведь он зависит от компьютера.

По сути, ArduBloсk — это промежуточный этап между детской Scratch и вполне профессиональной, хоть и доступной Visuino, поскольку так же, как последняя, обладает возможностью перепрошивки Arduino-совместимых контроллеров.

Совет. Не забудьте установить на свой ПК Java-машину. Это не займет много времени.

Итак, больше графических сред — хороших и разных. Да пребудет с вами Arduino.

Фото: компании-производители, pixabay.com

Читайте также:

Поделиться ссылкой Используя площадку команда программистов собрала деньги на разработку визуального языка программирования для , основанного на языке .name=”name” /> разрабатывался как среда для обучения школьников программированию. В этой среде можно создавать и играть с различными объектами, видоизменять их вид, перемещать их по экрану, устанавливать формы взаимодействия между ними. Это объектно-ориентированная среда, в основе которой лежит принцип конструктора и в которой программы собираются из разноцветных блоков-кирпичиков команд точно так же, как собираются из разноцветных кирпичиков конструкторы Лего. Для Scratch уже есть модуль (основанный на и протоколе ). Этот модуль позволяет использовать визуальную среду программирования Scratch для взаимодействия и управления Arduino. Подробнее об этом можно прочитать в (PDF), который предлагает использовать Arduino и Scratch для обучения программированию в школе! Новый же проект позволяет визуально писать программы для Arduino прямо в браузере. К сожалению, пока можно попробовать лишь по приглашению. О других инструментах визуального программирования для Arduino можно узнать . Ссылки: По теме:

Программирование Arduino в Visual Studio Code с Platform.io и расширением Arduino

Автор: Mike(admin) от 5-04-2019, 05:55

Arduino IDE – отличный инструмент программирования, он прост в использовании и, вероятно, содержит все ресурсы, которые понадобятся для создания проекта на Arduino, но, оценивая его как редактор кода, он не идеальный инструмент. В нем отсутствуют вспомогательные функции программирования, такие как IntelliSense, подсказки кода, инструменты автозаполнения, автокоррекции и отладки, которые облегчают разработку проектов с большой базой кода и заставляют разработчиков использовать редакторы, такие как Visual Studio Code и Atom. Вышеуказанная причина в сочетании с большой базой пользователей этих редакторов привела к разработке плагинов и расширений, которые позволили использовать некоторые из них для разработки кода для Arduino и других совместимых плат.

В этом уроке мы рассмотрим, как эти расширения можно использовать для программирования Arduino. Существует довольно много редакторов, и были разработаны различные варианты расширений, но для сегодняшнего урока мы сосредоточимся на Visual Studio Code (VScode) и рассмотрим его использование с расширениями Platform.io и Arduino. Dы узнаете, как разрабатывать код для Arduino и совместимых плат с использованием расширений Arduino и Platform.io на VScode.

Для практических примеров подойдут любые версии и варианты плат типа Arduino и NodeMCU, если они хорошо работают, когда вы программируете их с помощью Arduino IDE. В дополнение к вышеупомянутым компонентам вам потребуется последняя версия VScode (https://code.visualstudio.com/).

Arduino IDE для VScode (Visual Studio Code) был одним из первых разработанных расширений. Существует версия расширения, разработанная сообществом, в то время как есть другая версия, разработанная Microsoft. Любое из этих расширений может быть использовано. Для этого урока мы будем использовать версию Arduino от Microsoft.

Расширение Visual Studio Code Arduino сохраняет простоту использования, входящую в состав Arduino IDE, но также обеспечивает доступ к превосходным функциям, встроенным в код Visual Studio, что значительно упрощает программирование и отладку. Некоторые из функций и функциональных возможностей, как указано в описании расширения, включают в себя intelliSense и подсветку синтаксиса для скетча Arduino, менеджер списков встроенных библиотек, нтеграцию часто используемых команд и т.п.

Единственное требование – установить Arduino IDE из arduino.cc. Для расширения требуется версия IDE версии 1.6.x и выше. Однако старайтесь избегать версии 1.8.7, поскольку в ней есть проблемы, препятствующие установке и обновлению библиотек и плат.

Расширение Arduino можно установить из магазина расширений (market place) или через командную строку в VScode. Для установки из магазина запустите редактор VScode. Вы должны увидеть страницу приветствия, показанную ниже. Нажмите на значок расширения (выделенный на рисунке ниже), чтобы получить доступ к маркету.

Введите Arduino в строку поиска и выберите то расширение, которое разработано Microsoft. Нажмите на кнопку установки, как показано ниже, и перезапустите VScode после завершения установки.

После перезапуска расширение Arduino должно быть видно под вашими включенными расширениями. После завершения установки мы можем приступить к запуску примера с Arduino. Нажмите функциональную клавишу F1, чтобы открыть командную строку VScode. Как только командная строка станет видимой, введите Arduino. Он должен показать вам список команд, применимых к Arduino, как показано ниже.

С помощью этих команд вы можете установить новые библиотеки Arduino, установить новые платы, выбрать целевую плату для загрузки кода, выбрать программатор и практически все, что вы можете сделать с помощью Arduino IDE или даже больше. В качестве демонстрации мы будем использовать пример Blink (мерцания светодиода) для Arduino. Для начала нажмите F1 и выберите опцию «Arduino: Examples». Перейдите и выберите пример Blink.

Откроется папка со скетчем под панелью проводника в новом окне. Выберите файл .ino, если вы хотите внести какие-либо изменения в код.

Готовы загрузить код? Как и при работе с Arduino IDE, нажмите функциональную кнопку F1 и выберите опцию «Arduino: Board configuration», чтобы установить целевую плату, которая в нашем случае является Arduino Uno.

На этом этапе подключите вашу плату Arduino и выберите опцию « Arduino: select serial port» после нажатия клавиши F1. Появится список всех устройств, подключенных к последовательному порту. Выберите тот, к которому подключен ваш Arduino.

Затем выберите программатор, щелкнув «Arduino: Select programmer» в меню функций. Выберите любой, который вы хотите.

После этого мы готовы загрузить код. Если вы внесли какие-либо изменения в него и хотели бы проверить код перед загрузкой, вы можете использовать опцию «Arduino: Verify» после нажатия клавиши F1. Если код является удовлетворительным, и вы готовы к загрузке, нажмите F1 и нажмите «Arduino: upload function». Если вы тщательно выполните все шаги, процесс должен быть простым, и код должен успешно загрузиться, как показано ниже.

Теперь перейдем к расширению Platform.io. Platform.io – это платформа с открытым исходным кодом, разработанная для облегчения развертывания решений Интернета вещей (IoT). Она позволяет легко интегрировать специальные функции IoT, такие как удаленное обновление прошивки и тестирование. Платформа поддерживает несколько плат от Arduino, Espressif и их вариаций, а также TI MSP430, Tiva и другие. Она также поддерживает такие платформы, как Energia для плат TI и Mbed, что делает ее одним из наиболее всеобъемлющих кроссплатформенных средств разработки для IoT. Как и в случае с расширением Arduino для VScode, мы посмотрим, как можно использовать расширение platform.io для VScode для программирования плат Arduino.

Как и расширение Arduino, расширение platform.io для Visual Studio Code можно также установить через магазин расширений. Нажмите на значок менеджера расширений и пакетов, когда он откроется, введите platform.io в строку поиска и нажмите кнопку «Install». После установки перезагрузите VScode, чтобы установка вступила в силу.

После завершения перезагрузки значок platform.io будет отображаться на боковой панели, а панель инструментов platform.io будет добавлена в строку состояния VScode. Панель инструментов содержит кнопки для популярных команд. Это позволяет быстро создавать, загружать или выполнять любые команды без особой навигации.

Теперь выполним пример. Мы также здесь будем использовать пример Blink. Чтобы создать новый проект, нажмите на значок с домиком platform.io и нажмите кнопку «New Project». Должно открыться окно, подобное показанному ниже.

Это окно позволит вам выбрать плату, фреймворк и другие вещи для настройки IDE для использования с вашей целевой платой. Поскольку мы будем использовать Arduino Uno, мы выбираем его в качестве типа платы, а Arduino IDE – в качестве платформы. Если это будет NodeMCU, вам нужно будет выбрать nodemcu в качестве типа платы и Arduino или ESPressif 8266 в качестве фреймворка. После завершения настройки создается новая папка проекта. Откройте файл main.cpp в папке src, чтобы написать код для своего проекта. Поскольку мы используем пример blink, вы можете скопировать и вставить приведенный ниже код в редактор кода.

  #include "Arduino.h"  void setup()  {    pinMode(LED_BUILTIN, OUTPUT);  }  void loop()  {    digitalWrite(LED_BUILTIN, HIGH);    delay(1000);    digitalWrite(LED_BUILTIN, LOW);    delay(1000);  }  

Сделав это, используйте кнопку «Build» на панели инструментов, чтобы создать свой код, и кнопку «Upload», чтобы загрузить его на целевую плату Arduino. Если установка была выполнена правильно, вы должны получить сведения об успехе операции в окне консоли.

Два расширения, которые мы рассмотрели сегодня, достаточно мощные. Их можно использовать для разработки кода для всех видов плат, которые совместимы с Arduino IDE, и плат, которые не совместимы с Arduino, но поддерживаются IDE plaform.io (при использовании их расширения). Эти расширения обеспечивают большую гибкость и функции, которые облегчают разработку проектов с большой базой кода, гарантируя, что вы не будете повторять строки благодаря автовставке кода и intellisense. Они также гарантируют хранение всех файлов проекта в одной папке, что позволяет легко манипулировать ими и перемещать их. Это может быть удобно для вашего следующего мегапроекта.

В© digitrode.ru

Версия для печати &nbsp&nbsp&nbspБлагодарим Вас за интерес к информационному проекту digitrode.ru. &nbsp&nbsp&nbspЕсли Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы, &nbsp&nbsp&nbspВы можее поддержать наш проект, пожертвовав любую сумму на его развитие. –> Вернуться 17557–> В 

Категория: Микроконтроллеры и микропроцессоры, Статьи, Программирование

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий

С Новым Годом всех пользователей сайта www.samosdel.ru! После небольшого затишья продолжаю обучение программированию на Ардуино. Друг прислал ссылку на один довольно интересный ресурс по программированию Ардуино в оболочке которая используется при программировании производственных микроконтроллеров типа Fatek и им подобных. Это визуальное программирование и позволяет обойтись совершенно без написания кода! Т.е. берете блоки, соединяете их между собой, выставляете условия и заливаете в Ардуино! Все, скетч написан! Для получения информации рекомендую посетить сайт http://flprog.ru/ и скачать саму программу. На этом же сайте есть и подробные видеоуроки, я посмотрел всего лишь один, о подключении дисплея 1602 и часов точного времени. Что скажу- все великолепно за исключением нескольких НО. Но об этом попозже. Итак, мой первый опыт в написании первого урока- blink. Сразу хочу заметить, что хотя я и посмотрел видеоурок но запомнил не все и кое в чем приходилось доходить уже самому. Но об моих ошибках и изысканиях все изложу по ходу дела.

image
Интерфейс FLProg
После установки программы я, естественно, запустил её. Открылся вот такой интерфейс:
image
Выбор контроллера FLProg
Жмем меню Файл- Новый (можно также нажать пиктограмму чистого листа под меню Файл), открывается следующее окно где я должен выбрать свою плату:
image
Выбор контроллера в FLProg

Жмем кнопку с тремя точками и открывается окно с выбором типа контроллера где и выбираю имеющийся у меня Arduino Uno

Щелкаем Выбрать и Готово.

Наконец открывается главный интерфейс программы:

image
Программирование FLProg
Рабочий стол FLProg
Понадеявшись на свою память начал перебирать вкладки устройств справа внизу… Попробовал триггеры, счетчики и им же подобные… не то, неожиданно понял что мне нужен простой генератор! Открыл вкладку Таймеры, схватил объект Generator и бросил его в нижнее среднее окно, именно эта область в программе предназначена для комбинирования и соединения блоков. Дважды щелкнул по объекту и открылось следующее окно:
image
Генератор в FRProg

Пришлось немного потратить время на исследование данного объекта и вот что я выяснил: для подробного описания объекта достаточно перейти на вкладку Информация. Выбираем тип генератора. Тут представлены 3 типа:

Одновибратор- т.е. при поступлении разрешающего импульса на вход на выходе  появится импульс в соответствии с настройками ниже- т.е. его можно привязать к входному сигналу (выбрать Внешняя (вход)) или сделать независимую выдержку (Константа), при этом нужно ввести длительность импульса в выбранных ячейках.

image
Прямоугольные импульсы симметричного мультивибратора
Симметричный мультивибратор- означает что прямоугольный сигнал имеет одинаковую длительность импульса как по высокому уровню, так и по низкому. Т.е. имеет правильную прямоугольную форму:где длина верхней сигнальной площадке равна длине нижней сигнальной площадке, иначе говоря длительность высокого и низких уровней сигнала одинакова.
image
Прямоугольные импульсы несимметричного мультивибратора
Несимметричный мультивибратор- почти такой же как и симметричный, только длина высоких и низких импульсов различная: На данном рисунке предоставлен короткий верхний и длинный низкий уровни, но может быть и наоборот- длинный высокий и короткий низкий. Длительность импульсов задается во втором окне констант, расположенном под первым:
image
Окно несимметричного генератора FLProg
После выбора нужного генератора (симметричного или несимметричного) необходимо заполнить поля констант: при симметричном время горения светодиода будет равно времени паузы, при несимметричном- время горения и паузы разное, хотя можете поставить и одинаковое- получите симметричный мультивибратор
Пример настройки несимметричного мультивибратора
Я задал вот такие параметры. Т.е. светодиод будет гореть 0,5 сек и пауза между свечением- 1 сек. На этом настройка генератора завершена. Переходим к выбору выходного пина. Т.к. заморачиваться с подключением светодиодов не хотелось то решил обойтись светодиодом на 13 пине. Ну как и в стандартном blink.
Создание выхода FLProg
Для этого переходим в верхнее окно программы,
Настройка выхода FLProg

жмем дважды Добавить выход и в диалоговом окне выбираем такие данные.

Вы можете задать свои собственные имена  и описание. Жмем Готово и переходим собственно к самому «программированию».

Мультивибратор и выход FLProg
Перетаскиваем созданный порт в нижнюю часть интерфейса,
Проверка проекта в FLProg
затем подводим курсор к левой стороне блока Led_13, появится рыжая полоска сбоку как показано на рисунке, щелкаем на ней и не отпуская кнопки соединяем с выводом Q мультивибратора. Все, мы подключили выход мультивибратора к выходу 13 Arduino UNO! Теперь давайте проверим- все ли правильно мы сделали. Для этого жмем кнопку с зеленой галочкой под меню Настройки.
Ошибка проверки FLProg
Почему то вылетает вот такое сообщение.
Настройка запуска мультивибратора FLProg
Давайте разбираться. По идее все сделали правильно: сделали генератор, подключили к выводу светодиод и все должно работать. В радиолюбительстве все так и должно было бы получиться но в данном случае есть одно НО. В данной программе необходимо указать мультивибратору чтобы он начал работу (проще говоря подать питание) о чем и говорит ошибка на плате №1. Для этого подводим курсор к левой части мультивибратора, вывод EN (наверное Enable что означает Доступность), кликаем ПРАВОЙ кнопкой мыши, выбираем Вставить константу и выпрыгивает вот такое окно.
Открытие файла FLProg на моем компьютере

В нем указываем только один параметр- TRUE и жмем Готово. Проверяем еще раз проект.Наконец вылетает надпись что проект корректен! Сохраняем его. Почему то программа сохраняет проект в формате *FLP, что для тех кто пишет музыку на компьютере программой Frutti Loops несколько «нехорошо», т.к. эти программы используют одни и те же расширения. По крайней мере у меня попытка загрузки файла в FLProg выглядит вот так.

Но с этим можно смириться, тем более что я программу FLProg просто удалю после этого урока. Что ж, скетч «написан», осталось залить его в Ардуину.

Оболочка ARDUINO в FLProg
Подключаем ARDUINO Uno или ту плату которую вы указали при создании проекта. Жмем кнопку Компилировать проект которая находится рядом с кнопкой проверки проекта. Открывается такая же оболочка как и у ARDUINO, только стартовая заставка немного другая.

Теперь давайте посмотрим что же скомпилировала нам данная программа? Смотрим листинг:

Столько наворочала FLProg что разобраться «с лету» практически невозможно! Жмем Вгрузить (почему именно так написано- непонятно), скетч заливается и Arduino начинает бодренько мигать светодиодом по нашему скетчу!

Ну а теперь причины почему я все таки откажусь от этой визуально-ориентированной программы для Arduino:

Занимаемое место blink в FLProg
  1. Размер скетча. В данном виде скетч занял:Занимаемое место blink в FLProg1178 Байт +15 Байт под глобальные переменные. Итого 1192 Байта. Вроде небольшая разница по сравнению с обычным blink на delay (1082 Байта) и без delay (1018 Байт). Но просто помигать светодиодом да еще и с использованием глобальных переменных… это жирно я бы сказал. Что же будет с размером программы когда надо будет подключить что то более серьезное?
  2. Все таки непонятно что наворочала FLProg при компиляции проекта. Нет, все работает без слов, но чтобы что то исправить придется опять лезть в FLProg и менять условия уже там а не в Arduino IDE. Иначе просто запутаешься в условиях.
  3. Для самообразования вещь несомненно полезная, но только на начальных порах и если надо что то сделать ну очень быстро. Кстати я бы советовал не заморачиваться  с FLProg а начинать самостоятельно изучать Си- так и пользы больше и время сбережете. По любому потратите время на изучение FLProg, лучше начните с малого но понятного.
  4. Я хочу знать в коде где, что и как обрабатывается а не просто тупо смотреть на условия и гадать где поставить вывод в порт для отслеживания ошибки.
Удаление FLProg
Вобщем при всех своих достоинствах программа имеет свои плюхи. Поэтому… А будете вы ей пользоваться или нет- решать уже только Вам.

Спасибо за внимание.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий