Как начать работу с Arduino Uno: полное руководство для начинающих


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

Как начать работу с Arduino Uno: простейшая схема

Почему так актуальна эта платформа? Как начать работу с ней? Как она может улучшить ваш стиль жизни? Все эти вопросы будут рассмотрены в данной статье. Для этого мы познакомимся с установкой среды Arduino IDE на ваш компьютер и загрузим в нее небольшую программу, реализующую мигание светодиода, который мы подключим к Arduino с использованием макетной платы.

Что такое Arduino

К сожалению некоторые начинающие радиолюбители считают Arduino микроконтроллером, но это не совсем так. Давайте попробуем разобраться что же это.

Arduino представляет собой платформу разработки с открытым исходным кодом, которая состоит из простого в использовании оборудования и среды программирования. Наиболее распространенным типом оборудования является Arduino UNO, а среда программирования называется Arduino IDE. Кроме Arduino UNO существует еще достаточно много аналогичных плат - Arduino Mega, nano, mini, но в данной статье в целях обучения мы будем использовать именно Arduino UNO. А Arduino IDE – это как раз та программная среда, с помощью которой мы будем программировать плату Arduino UNO.

Установка Arduino IDE

Прежде чем начать работу с Arduino необходимо установить среду программирования Arduino IDE на ваш компьютер/ноутбук. Все описанные далее шаги по установке данной программной среды будут ориентированы на операционную систему Windows, для остальных операционных систем последовательность действий будет примерно такой же. Если возникнут проблемы с другими системами, то помощь можно найти по следующим ссылкам – для пользователей Mac и пользователей Linux. Перед началом установки Arduino IDE убедитесь что вы обладаете правами администратора на вашем компьютере – это облегчит установку.

Шаг 1. Загрузите Arduino IDE с официального сайта - https://www.arduino.cc/download_handler.php.

Шаг 2. Запустите скачанный exe файл.

Шаг 3. В открывшемся окне кликните на “I Agree” чтобы согласиться с условиями лицензии Arduino.

Шаг 4. В окне опций установки отметьте все галочки (см. рисунок).

Опции установки Arduino IDE

Шаг 5. На этом шаге необходимо выбрать место установки Arduino IDE. По умолчанию стоит путь установки в Program files на диске C – крайне рекомендуется оставить именно этот путь.

Выбор каталога для установки Arduino IDE

Шаг 6. На этом шаге вы можете наблюдать как Arduino IDE устанавливается на ваш компьютер (см. рисунок). После того как установка будет завершена нажмите кнопку “completed”.

Процесс установки Arduino IDE

Шаг 7. После завершения установки запустите на выполнение файл Arduino.exe. Откроется окно IDE с минимумом кода внутри него – см. рисунок.

Окно Arduino IDE с начальным кодом

Подключение вашей платы Arduino к компьютеру

После того как вы установили Arduino IDE на свой компьютер следующим логичным шагом будет подключение платы Arduino UNO к компьютеру. Чтобы сделать это просто используйте кабель для программирования (синего цвета) и соедините его с платой Arduino и USB портом вашего компьютера.

Синий кабель для программирования может выполнять следующие три функции:

  1. Он запитывает плату Arduino UNO, то есть чтобы обеспечить выполнение программ на ней необходимо просто запитать ее с помощью USB кабеля.
  2. Через него программируется микроконтроллер ATmega328, находящийся на плате Arduino UNO. То есть код программы пересылается из компьютера в микроконтроллер именно по этому кабелю.
  3. Он может функционировать в качестве кабеля для последовательной связи, то есть с его помощью можно передавать данные с Arduino UNO в компьютер – это полезно для целей отладки программы.

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

Поскольку вы подключаете плату Arduino в первый раз к компьютеру необходимо некоторое время чтобы драйвера для нее успешно установились. Чтобы проверить правильно ли все установилось и определилось откройте "Диспетчер устройств (Device manager)" на вашем компьютере.

Поиск диспетчера устройств на вашем компьютере

В диспетчере устройств откройте опцию "Порты" “Ports (COM & LPT)”, кликните на ней и посмотрите правильно ли отображается там ваша плата.

Поиск Arduino в диспетчере устройств

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

Если вы не можете в диспетчере устройств найти опцию “Ports (COM & LPT)”, то это означает, что ваша плата не корректно определилась компьютером. В большинстве случает это означает проблему с драйверами – по какой то причине они автоматически не установились для вашей платы. В этом случае вы должны будете вручную установить необходимые драйверы.

В некоторых случаях в указанной опции диспетчера устройств может отобразиться два COM порта для вашей платы и вы не будете знать какой из них правильный. В этой ситуации отключите и снова подключите плату Arduino к компьютеру – какой из COM портов при этом будет появляться и исчезать, значит тот и правильный порт.

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

Загрузка программы мигания светодиода

Теперь загрузим нашу первую программу в плату Arduino при помощи программной среды Arduino IDE, которую мы только недавно установили. Установленная Arduino IDE содержит несколько примеров программ, которые будут весьма полезны для начинающих. Давайте откроем один из этих примеров программ используя следующий путь File -> Examples -> Basics -> Blink (как показано на рисунке).

Загрузка программы управления миганием светодиода

При этом откроется программа Blink – ее цель состоит в том чтобы заставить мигать встроенный светодиод на плате Arduino. После открытия программы нам необходимо выбрать правильную плату Arduino – чтобы сделать это выберите пункт меню Tool -> Boards -> Arduino UNO/Genuino как показано на рисунке ниже.

Выбор платы Arduino UNO

Далее мы должны выбрать правильный порт для нашей платы. Ранее мы увидели, что для нашей платы был определен порт COM13. В вашем случае это может быть другой порт. Но для нашего рассматриваемого случая мы должны выбрать пункт меню Tools -> Port -> COM13.

Проверка того, видит ли Arduino IDE вашу плату Arduino

Если все сделано правильно, то вы должны заметить что номер порта (в нашем случае COM 13) появится внизу экрана. После этого вам необходимо нажать кнопку загрузки программы (подсвечена синим цветом) на плату Arduino как показано на рисунке ниже.

Загрузка программы в плату Arduino

После нажатия этой кнопки вы увидите надпись “Compiling sketch” и затем, если загрузка программы прошла успешно, вы увидите сообщение “Done Uploading” как показано на рисунке ниже.

Загрузка программы на плату Arduino прошла успешно

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

Теперь попробуем написать программу, которая будет зажигать светодиод при нажатии кнопки.

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Кабель для программирования.
  3. Светодиод (любого цвета).
  4. Кнопка.
  5. Резистор 1 кОм.
  6. Макетная плата.
  7. Соединительные провода.

Схема соединений

Представлена на следующем рисунке.

Простейшая схема на плате Arduino

Кнопку подсоединим ко второму контакту Arduino, то есть одним концом кнопка будет подсоединена ко второму контакту Arduino, а вторым – к земле. То есть всегда когда мы будем нажимать кнопку на второй контакт Arduino будет подаваться земля.

Светодиод подсоединен к контакту 3 через резистор 1 кОм. То есть катод светодиода подсоединен к земле, а анод – к контакту 3 Arduino через резистор.

Как начать работу с Arduino Uno: простейшая схема

Программирование Arduino

Теперь, когда необходимая нам схема собрана, мы можем начать программирование платы Arduino UNO. Полный текст программы будет приведен в конце статьи, в этом разделе будет дано объяснение некоторых участков кода этой программы.

В каждой программе для Arduino должны обязательно присутствовать две функции – это функции void setup () и void loop (), иногда их называют "абсолютным минимумом", необходимым для написания программы. Все операции, которые мы запишем внутри void setup (), исполнятся только один раз, а операции, которые мы запишем внутри void loop () – будут исполняться снова и снова. Пример этих функций показан в коде ниже – именно в таком виде они создаются когда вы выбираете пункт меню File -> New.

Начнем писать программу в функции setup (). Обычно в этой функции объявляются названия пинов (контактов). В нашей программе нам необходимо объявить всего два контакта: контакт 2 в качестве входного контакта и контакт 3 в качестве выходного контакта. Это можно сделать с помощью следующих строчек кода:

Но здесь необходимо внести небольшое изменение в программу – нам желательно чтобы контакт 2, который мы объявили в качестве входного контакта, никогда не был бы в "плавающем" состоянии. Это означает что входной контакт должен быть всегда подсоединен либо к +5 В, либо к земле. А в нашем случае при нажатии кнопки он будет подсоединен к земле, а при отжатой кнопке он будет находиться в плавающем состоянии. Чтобы исключить это нам необходимо задействовать внутренний подтягивающий резистор, который находится внутри микроконтроллера ATmega 328 (то есть снаружи мы этот резистор не видим). Для его задействования необходимо написать соответствующую строчку кода в программе.

С помощью этой строчки кода контакт 2 будет подключаться через подтягивающий резистор к напряжению +5 В всегда когда он не подсоединен к земле. То есть мы должны в одной из написанных нами строчек кода изменить слово INPUT на слово INPUT_PULLUP как показано ниже.

Теперь, когда мы закончили с функцией setup (), перейдем к функции loop (). В этой функции мы должны проверять не подсоединен ли контакт 2 к земле (то есть на его входе низкий уровень – LOW) и если он подсоединен в земле, то мы должны зажечь светодиод при помощи подачи на контакт 3 высокого уровня (HIGH). А если контакт 2 не подсоединен к земле (то есть кнопка не нажата), то мы должны держать светодиод в выключенном состоянии при помощи подачи на контакт 3 низкого уровня (LOW). В программе это будет выглядеть следующим образом:

В этих строчках кода оператор digitalRead() используется для проверки статуса (состояния) входного контакта. Если контакт подсоединен к земле, то оператор digitalRead() возвратит значение LOW, а если оператор подсоединен к +5 В, то оператор возвратит значение HIGH.

Аналогично, оператор digitalWrite() используется для установки состояния выходного контакта. Если мы установим контакт в состояние HIGH, то на его выходе будет напряжение +5 В, а если мы установим контакт в LOW, то на его выходе будет 0 В.

Таким образом в нашей программе когда мы нажимаем кнопку на контакт 2 будет подана земля и, соответственно, на контакт 3 мы подаем высокий уровень +5 В (HIGH) чтобы зажечь светодиод. Если условие не выполняется – то есть на контакт 2 не подана земля, то мы на контакт 3 подаем низкий уровень 0 В (LOW) чтобы выключить светодиод.

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

Проверка работы схемы

После того как мы загрузили программу на нашу плату Arduino самое время проверить корректность ее работы. Схема соединений представлена выше. Чтобы проверить корректность работы программы необходимо нажать кнопку и проверить загорится ли при этом светодиод. Затем, когда мы отпустим кнопку (прекратим ее нажимать), светодиод должен погаснуть.

Проверка работы схемы

Если программа не работает или у вас есть какие-нибудь вопросы по представленному в этой статье материалу, то вы можете задать их в комментариях к данной статье. Будем надеяться, что ваш первый шаг в освоении Arduino будет все же успешным.

Полный текст программы выглядит следующим образом:

(2 голосов, оценка: 5,00 из 5)
Загрузка...
43 768 просмотров

Комментарии

Как начать работу с Arduino Uno: полное руководство для начинающих — 34 комментария

  1. Понял,спасибо.Для полного счастья ещё бы проверенный скетч для метеостанции. LCD 16x2 i2c, dht11.
    Мне 70 лет и я только учусь.Хорощо бы на рабочих примерах с целью экономии времени. Несколько нетовских скетчей не компилируются.Спасибо и извините за отнятое время.

  2. схемы соединений для UNO и NANO.Есть схема для NANO,как подключить к UNO? Часы,метеостанция и т.п.Спасибо.

    • По аналогии, аналоговые контакты NANO заменяете на аналоговые контакты UNO, цифровые контакты NANO заменяете на цифровые контакты UNO.

  3. А у меня просто горит светодиод и все, хоть как верти кнопку

    • Значит, у вас либо с кнопкой, либо с ее подключением что то не так. Если вы загружаете в плату простую программу мигания светодиодом (без кнопки) он у вас мигает?

  4. если у кого диод горит и не гаснет на схеме кнопка не той стороной воткнута))

  5. Здравствуйте. Получилось, но не сразу. Опечатки пишутся в "ошибках", но незнание слов приводит к затруднениям. Не сразу разобрался в фигурных скобках, каждая должна быть на своём месте и правильно ориентирована. Кнопку пришлось установить по другому, для удобства, не как на вашем рисунке. Действительно всё просто, если всё точно скопируешь. Спасибо. Для начинающих урок полезный. Буду рад, если мой опыт кому то пригодится.

  6. avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_recv(): programmer is not responding
    avr_read(): error reading address 0x0000
    read operation not supported for memory "flash"
    avrdude: failed to read all of flash memory, rc=-2
    avrdude: stk500_recv(): programmer is not responding
    выбранный последовательный порт avrdude: failed to read all of flash memory, rc=-2
    не существует или плата не подключена к нему

    • Тамара, в этой статье не рассматривается работа с программой avrdude. Вы к какой то другой статье хотели свой комментарий написать?

      • Извините, я скачала программу с сайта по-шагово, как у Вас описано, а потом мне выдает вот такую красноту и не могу запустить первую программу для мигания светодиода, что я не так сделала?

        • Наверное, вы неправильно выбрали COM порт или он у вас не работает по какой то причине (причины могут быть разные, как со стороны компьютера, так и его неисправность в плате Ардуино - хотя это встречается все же достаточно редко). У вас в диспетчере устройств Windows видно к какому COM порту у вас подключена плата Ардуино как показано на скрине в статье? Попробуйте подключить плату Ардуино к другому USB разъему вашего компьютера или к другому компьютеру если это не поможет.

          • Спасибо, попробую. Меняла USB разъемы и показывало COM порт 3 и 4 и я их выбирала.

            • Если разберетесь в чем у вас была ошибка просьба отпишитесь здесь - этим вы поможете другим людям, у которых будет возникать данная проблема. Если не получается, то можете спрашивать еще, чем смогу помогу

            • я все удалила, перезагрузила комп и закачала Arduino IDE 2.0.4, подключила схему с кнопкой, залила программку, светодиод зажегся, но нажимая на кнопку он не выключается, но я горящему светодиоду рада))

              От админа: мы рады что у вас это получилось. Надеемся, что в дальнейшем вы добьетесь еще больших успехов в изучении Ардуино ))

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

  8. Подскажите пожалуйста, первый раз с ардуино занялся ,опыта ноль, схему правильно вроде собрал, код переписал как указан, но диод всегда светится, кнопка не срабатывает, в чем ошибка, код дописать надо? то что добавить?

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

      • Был косяк у меня такой тоже.В последней строке digitalWrite(3,LOW); написал HIGH.

        • Ну что поделать, при написании программ мы часто допускаем опечатки ))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *