====== Подключение и настройка контроллера ======

++++ Введение |

Для всех контроллеров линейки Smart (как и для основных контроллеров ардуино) дополнительная установка драйверов не требуется. (Если при [[main:info:arduinoide#Шаг_2._Установка|установке среды разработки]] вы оставили включенными все пункты по умолчанию).

Рассмотрим процесс подключения контроллера к компьютеру и настройки среды разработки под него. (На примере [[https://smartelements.ru/collection/kontrollery/product/kontroller-smart-uno|контроллера Smart Uno]] и  ОС Windows 10)

++++
===== Шаг 1. Подключение =====
С помощью USB кабеля подключите контроллер к компьютеру. 

Чтобы убедиться что контроллер подключен, зайдите в диспетчер устройств вашего компьютера (нажмите правой клавишей мыши на меню Пуск операционной системы)

{{ :главная:инфо:меню_дисп_устройств.jpg?nolink |}}

{{ :главная:инфо:start.jpg?nolink |}}

 и в разделе COM-портов вы должны увидеть название платы и присвоенный COM-порт. 

{{ :главная:инфо:диспетчер_устройств.jpg?nolink |}}

===== Шаг 2. Среда разработки Arduino IDE =====

Запустите Arduino IDE. Для тестирования работы контроллера мы выберем один из самых простых скетчей - Blink.

++++ Что такое скетч?| В ардуино, программы которые пишутся для контроллеров называются скетчами. Одним из самых простых скетчей - является  Blink. Он мигает встроенным в контроллер светодиодом (который фактически подключен к 13 выводу контроллера) с частотой раз в секунду (первую секунду светодиод горит, затем отключается, затем всё бесконечно повторяется). 
++++

Чтобы его открыть перейдите в меню Файл → Примеры → 01. Basics → Blink.

{{ :главная:инфо:blink_arduino.jpg?nolink |}}

===== Шаг 3. Настройки среды для контроллера =====

Теперь чтобы загрузить данный скетч на контроллер, необходимо настроить среду разработки в соответствии с подключенным контроллером: настроить COM-порт и тип контроллера.

Для этого перейдите в меню Инструменты → Порт и выберите порт, к которому подключен контроллер (узнали о нём в шаге № 1).

{{ :главная:инфо:com_порт_11.jpg?nolink |}}

В меню Инструменты → Плата выберите тип контроллера, который сейчас подключен к компьютеру (в нашем случае выбираем Arduino Uno, так как контроллер Smart Uno является 100% аналогом собранным в России).

{{ :главная:инфо:arduino_uno_menu.jpg?nolink |}}

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

{{ :главная:инфо:port_and_board.jpg?nolink |}}

===== Шаг 4. Проверка и сохранение скетча =====

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

Для проверки скетча воспользуйтесь меню Скетч → Проверить/Компилировать или кнопкой на верхней панели с соответствующей пиктограммой.

++++ Для чего нужна компиляция?| Проверка (компиляция) производится для контроля вашего когда на наличие ошибок. Если скетч не проходит стадию компиляции, в нижнем окне будут показаны сообщения об ошибках. Если их не исправить, программа не даст загрузить скетч на контроллер. ++++

{{ :главная:инфо:compile_scetch.jpg?nolink |}}

Для сохранения скетча воспользуйтесь меню Файл → Сохранить, либо используйте кнопку с соответствующей пиктограммой на верхней панели.

{{ :главная:инфо:save_scetch.jpg?nolink |}}

===== Шаг 5. Загрузка скетча =====

Если скетч проверен и сохранён, его можно загрузить на контроллер. Для этого воспользуйтесь меню Скетч → Загрузка либо соответствующей кнопкой на верхней панели.

{{ :главная:инфо:upload_scetch.jpg?nolink |}}

Перед загрузкой скетч ещё раз проверяется/компилируется. Текущее состояние и его прогресс будут видны на нижней панели программы.

{{ :главная:инфо:compilation.jpg?nolink |}}

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

{{ :главная:инфо:uploading.jpg?nolink |}}

По окончании процесса загрузки состояние изменится на "Загрузка завершена" и контроллер начнёт исполнять загруженную на него программу.

{{ :главная:инфо:uploading_done.jpg?nolink |}}