Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:aruno:info [2020/05/16 11:56] alexnikproducts:aruno:info [2020/11/05 11:47] (текущий) – [Arduino IDE] alexnik
Строка 1: Строка 1:
 ====== Что такое Arduino? ====== ====== Что такое Arduino? ======
  
-Arduino — это комбинация //**аппаратной**// и //**программной**// частей для простой разработки электроники. +Arduino — это комбинация //**аппаратной**// и //**программной**// частей для простой разработки электротехнических устройств
  
-Аппаратная часть включает в себя большое количество видов плат Arduino со встроенными программируемыми микроконтроллерами, а так же дополнительные модули. +Аппаратная часть включает в себя большое количество видов плат Arduino со встроенными программируемыми микроконтроллерами, а так же дополнительные модули с различными датчиками и исполнительными устройствами. 
  
 Программная часть состоит из среды разработки (программы для написания скетчей и прошивки микроконтроллеров Ардуино), упрощенного языка программирования, огромного множества готовых функций и библиотек.  Программная часть состоит из среды разработки (программы для написания скетчей и прошивки микроконтроллеров Ардуино), упрощенного языка программирования, огромного множества готовых функций и библиотек. 
  
-Ардуино умеет принимать и отправлять сигналы в соответствии с инструкциями в прошивке. Звучит весьма скромно, но на практике это позволяет получать и обрабатывать информацию с сенсоров и передавать команды исполнительным механизмам или другим устройствам. +Микроконтроллер Ардуино умеет принимать и отправлять сигналы в соответствии с инструкциями в прошивке.  
 +Звучит весьма скромно, но на практике это позволяет получать и обрабатывать информацию с сенсоров и передавать команды исполнительным механизмам или другим устройствам. 
 Например: микроконтроллер может получать данные с датчиков температуры, давления, влажности и выводить сводную информацию на дисплей. Например: микроконтроллер может получать данные с датчиков температуры, давления, влажности и выводить сводную информацию на дисплей.
-Этих возможностей хватает для реализации сложных устройств, таких как беспилотные летательные аппараты, 3D-принтеры, роботизированные манипуляторы, радиоуправляемые машинки, лодки, вездеходы и т. д. Возможности Ардуино ограничены только воображением.+Этих возможностей хватает для реализации сложных устройств, таких как беспилотные летательные аппараты, 3D-принтеры, роботизированные манипуляторы, радиоуправляемые машинки, лодки, вездеходы и т. д.  
 +Возможности Ардуино ограничены только воображением.
  
-===== Программируемая плата ===== +===== Электронная программируемая плата ===== 
-Основой любого проекта является плата на которой установлен Ардуино - совместимый контроллер(далее по тексту контроллер). Он выполняет роль миниатюрного компьютера, в который загружается написанная пользователем программа. Основные компоненты установленные на плате представлены на рисунке 1. Рассмотрим их назначение: + 
-{{ :products:ardu:pinlab_board_info.png?300 |}}+Основой любого проекта является плата на которой установлен Ардуино - совместимый программируемый микроконтроллер(далее по тексту контроллер). Он выполняет роль миниатюрного компьютера, в который загружается написанная пользователем программа. Основные компоненты установленные на плате представлены на рисунке 1. Рассмотрим их назначение: 
 + 
 +{{ :products:ardu:pinlab_board_info.png?nolink&400 |}} 
 +//Рисунок 1: Основные элементы платы - контроллера//
  
   * Микроконтроллер — микросхема семейства ATmega - «вычислительный мозг» платы.   * Микроконтроллер — микросхема семейства ATmega - «вычислительный мозг» платы.
-  * Порты ввода\вывода — предназначены для подключения к плате различных устройств.+  * Порты ввода\вывода — предназначены для подключения к плате различных устройств. На плате контроллера выделены две группы портов ввода\вывода: 
 +     * **цифровые** (Digital) пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. 
 +     * **аналоговые** (Analog in) пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала.\\
   * Порты питания — служат для подачи питания на подключаемые устройства.   * Порты питания — служат для подачи питания на подключаемые устройства.
   * Кнопка Reset — кнопка перезагрузки.   * Кнопка Reset — кнопка перезагрузки.
Строка 27: Строка 34:
  
 ===== Arduino IDE ===== ===== Arduino IDE =====
-Для написания программ и загрузки их в **контроллер** нам понадобится специальное программное обеспечение. Это среда для разработки прошивок **Arduino IDE**. В среде разработки уже предустановленно большое количество примеров и дополнительных библиотек.  
-На официальном сайте разработчика можно скачать последнюю версию Arduino IDE всех популярных операционных систем (Windows, Mac OS и Linux)***ссылка*** 
  
-<WRAP center round important 60%> +Для написания программ и загрузки их в **контроллер** нам понадобится специальное программное обеспечение. Это среда для разработки прошивок **Arduino IDE**. В среде разработки уже предустановленно большое количество примеров и дополнительных библиотек. 
-Микроконтроллер ATmega не умеет «напрямую» обмениваться данными с компьютером через USB порт, для этого на плате присутствует специальная микросхема (CH340 или CP2104PL2303 и тд.), для данных чипов может потребоваться установка драйвера ***ссылка*** + 
-</WRAP>+Рассмотрим интерфейс Arduino IDE подробнее. 
 + 
 +{{ :products:ardu:png02.png?direct&400 |}} 
 + 
 +В окне программы вы можете найти четыре главных функциональных элемента: 
 +  * меню программы; 
 +  * панель быстрого доступа к наиболее важным функциям; 
 +  * редактор (для размещения кода программы); 
 +  * панель сообщений и статуса программы. 
 + 
 +Меню программы позволяет осуществлять управление проектом, например, создание нового проекта, сохранение текущего, распечатать на принтере исходный код. 
 + 
 +Интересной особенностью программы является встроенный набор примеров программ. Это очень удобно, так как примеры программ можно сразу проверить, загрузив их в микроконтроллер. При необходимости вы можете сохранить пример и изменить его в соответствии с вашими потребностями. 
 + 
 +Меню «//Файл//» и «//Правка//» содержат стандартные параметры. 
 + 
 +Меню «//Скетч//» содержит параметры для компиляции проекта и импорта необходимых библиотек.  
 + 
 +Интересным и полезным элементом IDE является меню «Инструменты», которое включает в себя функции автоматического форматирования кода, архивирования проекта, включение монитора последовательного порта (USB в контроллере рассматривается как обычный последовательный порт).  
 + 
 +Наиболее важным элементом меню «Инструменты» является возможность выбора соответствующей платы. 
 + 
 +В меню «//Инструменты//» вы также можете установить порт, к которому подключен контроллер. Пакет Arduino IDE сам определяет порт, но иногда требуется вручную установить номер порта в настройках. 
 + 
 +С помощью Arduino IDE можно также загрузить, то есть запрограммировать Bootloader (загрузчик) для нового, чистого микроконтроллера Atmega. 
 + 
 +Для обычной работы с Arduino IDE используется панель быстрого доступа, которая оснащена наиболее важными кнопками. Это решение, облегчающее работу с пакетом IDE, дает нам прямой доступ к практически всем необходимым параметрам при написании и тестировании программы. 
 +  - Проверить: кнопка компиляции и проверки корректности кода 
 +  - Загрузка: кнопка загрузки скетча (программы) в контроллер  
 +  - Новый: открывает новое окно редактирования кода 
 +  - Открыть: позволяет открыть для редактирования ранее созданный скетч, хранящийся на диске 
 +  - Сохранить: сохраняет текущие изменения 
 +  - Монитор порта: открывает окно, отображающее информацию об обмене данными с контроллером 
 + 
 +Все опции, расположенные на панели быстрого доступа, продублированы в меню программы. 
 + 
 +Дополнительным полезным элементомнаходящимся под кнопкой включения монитора последовательного порта — это меню для управления вкладками (7). Вкладки в Arduino IDE упрощают написание сложных проектов, а так же позволяют работать с несколькими проектами одновременно. 
 + 
 +Самая большая часть окна программы предназначена для написания непосредственно самого кода программы.  
 +Редактор в Arduino IDE не слишком продвинутый, но имеет самые важные элементы, позволяющие облегчить написание простых программ. К таким элементам можно отнести подсветка синтаксиса и блоков (скобки).  
 +Это не много, но достаточно для простых проектов. 
 + 
 +Последним элементом программы является окно сообщений и статуса. Отображаемая там информация позволяет пользователю найти ошибки в программном коде и получить подтверждение о завершении компиляции и загрузки программы в контроллер. 
 + 
 +===== Язык программирования Ардуино ===== 
 + 
 +Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями.  
 +Функция — это просто блок кода с заданным именем, начало блока кода обозначается левой фигурной скобкой `{`  , его конец — правой фигурной скобкой `}`. 
 + 
 +2 функции с именами setup() и loop() обязательные в любой программе на C++ для Arduino. Они могут ничего и не делать, но должны быть написаны. Иначе на стадии компиляции вы получите ошибку.  
 +Подробную справочную информацию о ясыке программирования C++ для Arduino можно найти на множестве ресурсов интернет пространства, к примеру [[http://arduino.ru/Reference|arduino.ru]] или [[https://all-arduino.ru/programmirovanie-arduino/|all-arduino.ru]]