Мигаем светодиодом ардуино нано

Мигаем светодиодом ардуино нано

Содержание

Мигание светодиодом на Arduino – первое, что делают на этой платформе начинающие ардуинщики. Проекты, связанные со светодиодами – самые популярные уроки, с которых начинается большинство учебников. В этой статье мы с вами узнаем, как сделать своими руками маячок и мигалку на Ардуино. Для работы вам потребуется плата Arduino Uno, Nano, Pro Mini или Mega, а также установленная на компьютер программа Arduino IDE.

Мигаем встроенным светодиодом

Самый первый проект всегда лучше делать как можно более простым и понятным. Лучше всего сначала просто сообщить миру о том, что программа работает. В других языках программирования это достигается выводом текста на экран фразы «Hello, World» , которая стала по-настоящему культовой. С ее помощью новые программы приветствуют мир уже на протяжении половины столетия.

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

Встроенный светодиод в Ардуино Uno, Nano и Mega

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

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

Вам понадобится: ничего, кроме платы ардуино. Сложность: простой проект.

Читайте также:  Куда использовать прокисшее молоко

Что мы узнаем:

  • Как мигает светодиод.
  • Что такое скетч и как написать программу.
  • Как включить и зажечь светодиод.
  • Как выключить светодиод.
  • Как сделать задержку в программе.

Вопросы, на которые вы уже должны знать ответы:

Алгоритм программы очень прост.

  1. Мы должны подать напряжение на светодиод (на тот пин, к которому подсоединен светодиод, в нашем случае, 13).
  2. Затем ждем некоторое время. Например, секунду.
  3. После чего убираем напряжение.
  4. И опять немного ждем, чтобы глаз мог заметить, что света нет.
  5. Начинаем все с первого пункта

На русском все выглядит очень просто. Осталось только перевести на язык, понятный Ардуино. Мы заменяем каждую строчку нашего алгоритма командой.

  1. Включить – команда digitalWrite
  2. Подождать – команда delay
  3. Выключить – команда digitalWrite
  4. Подождать – команда delay

Для того, чтобы записать все эти команды, а потом перевести их в машинопонятный язык и загрузить в микроконтроллер мы используем программу Arduio IDE. В ней мы пишем наш код (или вставляем готовый из примера), в ней же нажмем несколько кнопок для проверки, трансляции и загрузки программы в Ардуино.

Давайте соберем все, что нужно, вместе в одной инструкции.

Пошаговая инструкция

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

  1. Берем плату Arduino UNO. Убеждаемся, что на ней есть встроенный светодиод.
  2. Подключаем плату Arduino к компьютеру через USB-кабель. В результате должны загореться лампочки.
  3. Открываем на компьютере программу Arduino IDE (вы уже должны знать, как это делается или прочитайте статьи на нашем сайте по ссылкам выше).
  4. Проверяем, что ардуино подключился: найдите в меню «Инструменты», подменю «Порт». Оно должно быть активным. Нажмите на этот пункт и посмотрите список портов. Один из них должен быть отмечен галочкой. Если этого не произошло, выберите порт с самым большим номером и отметьте его. Если это не помогло – смотрите раздел с описанием типичных проблем чуть ниже.

    Проверка порта Ардуино
  • Открываем меню Файл. В нем находим подменю «Примеры», и в нем подменю Basics. Находим в открывшемся списке меню строчку Blink и нажимаем на нее. Должно открыться отдельное окно Arduino с текстом программы (в самом верху будет серый текст). Открываем пример Blink в Ардуино IDE
  • Найдите в меню кнопку “загрузить скетч” (со стрелочкой) и нажмите ее. Начнется процесс проверки (компиляции) скетча и загрузки в плату.
  • После того, как скетч загружен и в статусном окне внизу появится надпись «Загрузка завершена», можно проверять результат. Посмотрите на плату – вы должны увидеть мигающий огонек. Значит, мы сделали это!
  • Проверьте, что программа работает как надо – замерьте паузы между включением и выключением.
  • Поздравляем! У вас получилось реализовать ваш первый проект на Ардуино. Если все мигает так, как надо. Теперь можем переходить к анализу программы и сбору электронной схемы с отдельным светодиодом. Если же что-то не получилось, давайте разберемся, почему.

    Если что-то пошло не так

    • У вас нет платы контролера Ардуино. Это большая проблема, т.к. без платы освоить адуино практически невозможно. Проблему можно решить, купив контроллер в одном из интернет-магазинов. Другим вариантом может стать один из сервисов, имитирующих работу ардуино. Например, Tinkercad.
    • Плата не находится. Эта проблема может возникнуть, если у вас нет USB драйвера для платы. Посмотрите эту статью с описанием того, что можно сделать. В ряде случаев также помогает отключение антивирусов. Если ничего не помогает, попробуйте поменять плату, а затем и компьютер (подключить ардуино к другому компьютеру). Гораздо меньше проблемы возникает при работе с ардуино в среде Windows.
    • Нет программы. Ситуация практически невероятная, ведь примеры всегда идут вместе с программой Arduino >Программа и скетч мигающего светодиода

    Давайте теперь рассмотрим программу, которую мы загрузили из примеров и проанализируем.

    Пример программы мигалки Blink

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

    Программа Blink без комментариев

    У нас осталась часть кода и сразу обратите внимание на два блока со словами setup и loop. Это две функции, которые вызываются всегда, когда запускается наш скетч. Блоки ограничены фигурными скобками – все, что внутри них, принадлежит блоку. Более подробно о них написано в статье по ссылке.

    Если вы обратите внимание на блок loop, то именно в нем и сосредоточены наши команды, управляющие светодиодом:

    Функции setup и loop в коде программы Blink

    digitalWrite – это название функции, которая отвечает за подачу напряжения на пин. Подробнее о ней можно прочитать в отдельной статье о digitalWrite.

    LED_BUILDIN – это название внутреннего светодиода. В большинстве плат за этим названием прячется цифра 13. Для плат Uno, Nano можно смело писать 13 вместо LED_BUILDIN.

    HIGH – условное название высокого уровня сигнала. Включает светодиод. Можно заменить цифрой 1.

    LOW – условное обозначение низкого уровня сигнала. Выключает светодиод. Можно заменить цифрой 0.

    delay – функция, которая останавливает выполнение скетча на определенное время. Крайне нежелательно использовать ее в реальных проектах, но в нашем простом примере она отработает замечательно. В скобках мы указываем цифру – это количество микросекунд, которые нужно ждать. 1000 – это 1 секунда. Подробнее можно прочитать в нашем материале о delay() .

    Как только программа дойдет до конца, контроллер перейдет в начало блока loop и будет выполнять все команды заново. И так раз за разом, целую вечность (пока есть свет). Наш светодиод мигает без остановки.

    Проект “Маячок” с мигающим светодиодом

    В этом проекте мы с вами практически повторим предыдущий, но при этом добавим самую настоящую схему. Подключим светодиод и токоограничивающий резистор. Чтобы не повторяться, отправим вас за подробным описанием в статью о правильном подключении светодиода к плате Ардуино.

    • Плата Arduino Uno или Nano
    • Макетная плата для монтажа без пайки
    • Резистор номиналом 220 Ом
    • Светодиод
    • Провода для соединения

    Сложность: простой проект.

    • Как подключить светодиод к ардуино.
    • Повторим процедуру загрузки скетча в микроконтроллер.

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

    Соедините все элементы согласно следующей схемы для Arduino UNO. Для Arduino Nano светодиод подключается по той же схеме – к пину 13.

    Схема подключения мигающего светодиода к Ардуино

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

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

    Проект “Мигалка”

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

    • Плата Arduino Uno или Nano
    • Макетная плата
    • Два резистора 220 Ом
    • Два светодиода. Если есть возможность, лучше взять синий и красный.
    • Провода для соединения.

    Сложность: простой проект.

    • Как подключить светодиод к ардуино.
    • Как изменить стандартную программу мигалки.
    • Повторим процедуру загрузки скетча в микроконтроллер.

    Принцип подключения при этом не меняется. Мы используем два пина платы контроллера для соединения со светодиодами – 13 и 12. Можно использовать следующую схему:

    Схема подключения светодиодов проекта Мигалка

    Положительные контакты светодиода соединяем с цифровыми пинами, отрицательные – с GND.

    Программирование мигалки

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

    • Включаем синий светодиод
    • Ждем какое-то время (1 секунду)
    • Выключаем синий светодиод и одновременно включаем красный
    • Ждем какое-то время (1 секунду)
    • Повторяем еще раз

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

    В этой программе нам опять встречается блок команд loop. В нем мы выполняем включение и выключение пинов с помощью digitalWrite. Никаких сложностей это вызвать не должно.

    Давайте поговорим более подробно о блоке setup. Мы видели его и в прошлом примере. Внутри setup обычно располагаются команды инициализации, которые запускаются только один раз, в момент подключения контроллера к питанию.

    В примерах с мигалками мы устанавливаем пины в нужный режим – OUTPUT. В этом режиме мы работаем с внешними устройствами, получающими питание с данного пина ардуино. Например, наш светодиод ничего не передает в плату, он использует пин 13 для того, чтобы включиться. Поэтому мы устанавливаем режим OUTPUT – “на выход”. По умолчанию все пины находятся в режиме INPUT, оптимальном для подключения датсиков. Более подробную информацию вы можете найти в описании функции pinMode.

    Надеемся, процедура проверки скетча и прошивки контроллера не вызвала каких-то трудностей. Запустите программу и вы увидите, как весело перемигиваются светодиоды на плате. Поздравляем с написанием своих первых проектов на Ардуино!

    Заключение

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

    Мы также научились собирать электрическую схему со светодиодом на основе макетной платы и Arduino Uno. В схеме обязательно использование токоограничивающих резисторов. Все примеры и схемы подключения актуальны и для более миниатюрного аналога Uno – платы Arduino Nano.

    Надеемся, все у вас получилось и вы готовы к новым проектам со светодиодами – светофору и гирлянде!

    5 шт. паяльная паста

    Печать деталей пластиком PLA и ABS на 3D принтере.

    Светильник напечатанный на 3D принтере.

    На плату Arduino UNO (Nano, Mega, micro и пр.) установлен светодиод который соединен с 13 pin платы. На плате он обозначается буквой L.

    Для того чтобы заставить мигать встроенный светодиод на плату Arduino. Достаточно загрузить не большую программу.

    Для урока нам понадобиться:

    Функция setup() вызывается, когда стартует скетч. Используется для инициализации переменных, определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup запускает только один раз, после каждой подачи питания или сброса платы Arduino.

    pinMode(13, OUTPUT); Инициализируем цифровой вход/выход в режиме выхода. Этого можно не делать так как цифровые выходы Ардуины по умолчанию настроенные на режим выход.

    После вызова функции setup(), которая инициализирует и устанавливает первоначальные значения, функция loop() делает точь-в-точь то, что означает её название, и крутится в цикле, позволяя вашей программе совершать вычисления и реагировать на них. Использовать её нужно для активного управления платой Arduino.

    DigitalWrite() — Так как у нас пин настроен как выход (pinMode(13, OUTPUT);), то для значение HIGH напряжение на соответствующем вход/выходе (pin) будет 5В (3.3В для 3.3V плат), и 0В(земля) для LOW.

    Т.е. digitalWrite(13, HIGH); — На пин 13 подается 5 вольт.

    digitalWrite(13, LOW); — На пин 13 подается 0В.

    delay() — Останавливает выполнение программы на заданное в параметре количество миллисекунд (1000 миллисекунд в 1 секунде).

    Многие читатели просили нас создать подробный мастер-класс о том как научиться создавать устройства на Arduino Nano с самого нуля. Обычно используют Ардуино Нано там, где нужна компактность итогового устройства, но функционала Arduino Mini не хватает.

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

    1. Покупаем Ардуино

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

    Остановимся на стоимости платы для нашего мастер-класса. Данная плата очень миниатюрная и является полноценным аналогом многим другим платам и именно поэтому мы выбрали Nano для данного мастер-класса.

    Купить Нано можно во многих интернет-магазинах. Так, для примера, стоимость Arduino Nano 3.0 на конец марта 2018 года в разных магазинах составила:

    • iarduino.ru — 525 рублей
    • amperka.ru — 1490 рублей
    • duino.ru — 325 рублей
    • smartelements.ru — 590 рублей

    Но даже это не предел, стоимость полноценных аналогов на всем известном aliexpress.com может быть в диапазоне 150-200 рублей. Для тех кто решил совершить покупку на АлиЭкспресс может ознакомиться с нашей небольшой пошаговой инструкцией.

    2. Дополнительные детали

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

    • сама плата ардуино nano
    • резисторы (220 Ом и других емкостей)
    • светодиоды
    • макетная плата (иногда называют макетками)
    • провода-перемычки

    Таким образом, у вас должен получиться примерно такой комплект:

    3. Готовим программное обеспечение

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

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

    3.1 Скачиваем и устанавливаем ПО

    Скачать ПО можно на официальном сайте по ссылке — https://www.arduino.cc/en/main/software. Заходим на сайт по ссылке:

    Выбираем нужную версию, жмем "Just Download" и скачиваем:

    После того как скачали ПО — запускам установку, открыв скачанный .EXE файл:

    Дальше мы проходим все обычные шаги установки, как при установке любого другого приложения — соглашаемся с "лицензионным соглашением", ставим галочки, выбираем папку для установки и жмем ОК:

    3.2 Запускам ПО и включаем русский язык

    После того как мы прошли процесс установки мы увидим на рабочем столе иконку нашей Arduino IDE:

    Нажимаем на иконку и видим процесс загрузки программы:

    В итоге мы увидим такое окно:

    Включаем русский язык.

    Для включения русскоязычного интерфейса Arduino IDE нам нужно перейти в нужную вкладку и выбрать русский язык в списке:

    FilePreferencesLanguage

    Да, теперь, на этом шаге, у нас уже есть все комплектующие и установлено нужное программное обеспечение.

    4. Соединяем макет и Нано

    Первым делом мы соединяем Arduino Nano к макетной плате.

    Поэтому слегка нажмите на середину платы, а затем постепенно нажимайте с каждой стороны, пока плата не будет полностью вставлена, как показано на рисунке.

    Также убедитесь, что USB-соединение обращено наружу, как показано на рисунке выше. Будет намного легче работать с макетом и будет меньше пересечения проводов.

    5. Рисуем схему устройства

    В самом начале любых устройств мы должны составить правильную схему всех соединений. Сейчас для большинства радиолюбителей появилось много удобных инструментов для этих целей.

    Основным для многих электронщиков является бесплатный инструмент от fritzing.org. Скачать ПО вы можете с сайта — http://fritzing.org/download/.

    Этот инструмент предоставлен бесплатно, но вы можете пожертвовать добровольно часть средств создателям данного ПО, — просто перед скачиванием выберите сумму, которую вы готовы перечислить. Но если вы хотите воспользоваться программой бесплатно — нажмите "No Donation".

    После того как мы скачали и установили программу мы готовы нарисовать схему для нашего мастер-класса. Итоговый результат у нас выглядит так:

    На всякий случай, мы заранее рекомендуем ознакомиться с тем как уберечь плату от неправильных действий в нашей статье. Но если вы все-таки смогли испортить плату — можно попробовать восстановить её — для этого прочитайте наш материал "Как починить сгоревший Arduino Nano / Uno / Mega".

    6. Соединяем все детали

    На данном этапе у нас:

    • куплены все детали;
    • установлены все нужные программы (Arduino IDE и Fritzing при необходимости);
    • нарисована схема устройства.

    Теперь мы начинаем собирать всё вместе. Не забываем заранее подготовить все провода-перемычки и все детали. Внимательно следуйте инструкциям и не спешите, чтобы убедиться, что все соединения выполнены правильно.

    Если вы еще не вставили Arduino Nano к макетке — самое время это сделать:

    Теперь подключаем наше сопротивление:

    И наконец вставляем светодиод:

    И последнее на данном шаге — вставляем наш USB-кабель, который при покупке часто идет в комплекте с микроконтроллером:

    7. Настройка программы Arduino IDE

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

    Сначала выбираем правильную плату с которой будем работать. Переходим в нужное меню и выбираем из списка нашу плату:

    Tools → Board → Arduino Nano

    Дальше мы обязательно должны выбрать на каком чипе сделана наша плата, т.к. Arduino Nano может идти в двух вариантах — с чипом ATmega168 и ATmega 328 (в нашем случае).

    Tools → Processor → ATmega328

    После мы убеждаемся, что правильно выбран серийный порт (Serial Port).

    Tools → Port → COM8

    И последнее — проверяем наш программер:

    8. Создаем скетч для Arduino Nano

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

    Если мы идем по первому пути — мы должны добавить следующий код в наше приложение:

    Второй вариант — это выбор уже готового проекта в нашей IDE. Для этого нужно сделать следующее.

    File → Examples → 01. Basics → Blink
    (Файл → Примеры → 01. Основы → Моргание)

    После чего мы увидим код в нашем окне программы:

    И здесь важный момент — нужно нажать стрелку сверху, чтобы скомпилировать скетч. После чего вы увидите надпись "Компиляция скетча" (Compiling sketch. ) слева и справа процентную шкалу. В свою очередь стрелка запуска сверху поменяет свой цвет:

    После этого светодиод начнет мигать.

    9. Что еще можно сделать?

    Мы создали одно из простейших устройств, но возможности по работе с Ардуино и другими микроконтроллерами, на самом деле, безграничны. С помощью разных дополнительных сенсоров можно реализовать много всяких устройств:

    • Анемометр — стационарный прибор для измерения скорости ветра;
    • Акселерометр — сенсор, позволяющий определять ускорение и ориентацию в пространстве;
    • Аналоговый термометр — аналоговый сенсор для измерения температуры;
    • Барометр — сенсор, позволяющий определять атмосферное давление и температуру;
    • Датчик влажности почвы — сенсор, позволяющий узнать о пересыхании земли
    • Датчик водорода — датчик для обнаружения водорода;
    • Датчик тока — аналоговый сенсор для измерения силы тока;
    • Датчик уровня воды — цифровой датчик уровня воды в ёмкости;
    • Датчик температуры и влажности — сенсор, предоставляющий информацию об окружающей температуре и влажности в виде цифрового сигнала;
    • Датчик пульса — аналоговый датчик для измерения частоты сердечных сокращений
    • Гироскоп — сенсор, позволяющий определять собственную угловую скорость.

    Это лишь малая часть датчиков и сенсоров, которые вы можете использовать для создания своих устройств. Мы уже много интересного сделали и в планах еще много всего интересного сделать 🙂

    Желаем вам отличных проектов. Подписывайтесь на нашу группу ВКонтакте.

    Оценить статью
    Добавить комментарий