Различия

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

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

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