набор ардуино что это такое
Что такое Arduino?
Содержание
Содержание
На сегодняшний день про платформу Arduino слышали многие, но что это и зачем? Arduino — это самая динамично развивающаяся и доступная платформа с низким порогом вхождения, которая доступна как для начинающих и делающих первые шаги в программировании, так и для профессионалов. А как она работает и почему так популярна — разбираемся.
Возможности
Платформа Arduino представляет собой комбинацию среды быстрой разработки Arduino IDE и модулей для прототипирования на базе микроконтроллеров. Фактически, Arduino это — простейший электронный конструктор для создания готовых устройств из отдельных модулей. Arduino пользуется огромной популярностью во всем мире из-за контроллеров, модулей и шилдов.
Arduino — это не просто универсальный микроконтроллер, который можно адаптировать под любой проект за минимальное время. Это простейшая и доступная для изучения среда разработки Arduino IDE, которая служит для вовлечения в программирование и робототехнику, а также для быстрой разработки проектов. На основе Arduino можно собрать 3D-принтер или станок с ЧПУ. Все это происходит благодаря тому, что у платформы Arduino одно из самых больших сообществ, а также доступно огромное количество примеров, руководств и готовых библиотек для разработки.
Модули Arduino
Модули базовых контроллеров Arduino получили широкое распространение благодаря своей универсальности. Популярные платы Arduino Uno и Leonardo имеют достаточный набор периферии, а платы Mega и Due — расширенный. Даже компактные модули типа Pro, Micro и Nano подойдут для собственного проекта. В последнее время появились модули Mega сразу с установленным SoC ESP8266 и беспроводной связью Wi-Fi на борту.
Модули Arduino представляют собой платы со встроенным процессором, памятью и периферией, которая позволяет реализовать базовый функционал посредством одной всего платы. Для расширения возможностей служат дополнительные модули-шилды, которые работают с двигателями и сенсорами различных типов, а также способны читать и писать на карты памяти и накопители, поддерживают USB Host, умеют работать с Ethernet, Bluetooth и Wi-Fi. Модули расширения уровня Industrial имеют гальваническую развязку, а модули для умного дома подойдут с целью прототипирования устройств IoT ( «интернета вещей»). Вы даже можете сделать свой собственный web-сервер на основе Arduino.
На сегодняшний день существует множество оригинальных разновидностей и популярных клонов, а также огромное количество совместимых модулей-шилдов. Обратите внимание на приведенную Arduino Nano — это компактный модуль с 8-битным контроллером, на борту которого размещается приличный набор периферии (аналого-цифровые преобразователи, ШИМ-генераторы и таймеры, последовательные интерфейсы и так далее).
Для прототипирования и обучения доступен огромный арсенал периферии. Это разнообразные сенсоры, большинство типов датчиков и исполнительных механизмов, различные дисплеи, буферные и усилительные модули, драйверы двигателей, модули для беспроводной связи и управления. Модули комбинируются с основной платой-контроллером и затем конфигурируются в среде Arduino IDE.
Для создания проектов не требуется специальных навыков, так как для создания скетчей-программ (прошивок) для микроконтроллеров Arduino, а также для подключения, загрузки кода и мониторинга обмена данными служит специальная программная оболочка Arduino IDE, которая постоянно обновляется сообществом. На сегодняшний день Arduino IDE имеет качественные дополнения и расширения, в том числе позволяющие программировать 32-битные микроконтроллеры. Для работы с платами Arduino не требуется специальный загрузчик-отладчик или программатор, вся основная работа осуществляется средствами платформы Arduino.
Робототехнические наборы электронного конструктора Arduino дают начальные представления о принципах работы и управления, обратной связи и об обработке сигналов с сенсоров — это идеальный вариант для первых шагов в робототехнике и обучению программированию простейших алгоритмов.
Базовый механизм можно создать, имея всего две серво-машинки и два аналоговых источника сигнала для управления. Для прототипа даже не понадобятся паяльные принадлежности — весь проект собирается на монтажных беспаечных платах Arduino.
Таким образом, Arduino может стать доступной платформой для первых шагов с целью изучения программирования: для детей и взрослых существует множество интересных наборов модулей и базовых проектов.
Что может быть лучше и интереснее, чем собрать за вечер управляемого робота или автомобиль? Одновременно, возможности среды Arduino позволяют профессионалам разрабатывать прикладные проекты для промышленной автоматики и для умного дома. Arduino — это открытая платформа, и вы тоже можете стать разработчиков, создать собственный проект и присоединиться к сообществу Arduino.
Аrduino для начинающих
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
Базовый набор ардуино для начинающих: | Купить |
Большой набор для обучения и первых проектов: | Купить |
Набор дополнительных датчиков и модулей: | Купить |
Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
Набор проводов с удобными коннекторами: | Купить |
Комплект светодиодов: | Купить |
Комплект резисторов: | Купить |
Кнопки: | Купить |
Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
Версия | Windows | Mac OS X | Linux | |||||||||
1.8.2 |
Макетная плата на 800 точек с 2 шинами питания, платой подачи питания и проводами: | Купить |
Большая макетная плата на 1600 точек с 4 шинами питания: | Купить |
Макетная плата на 800 точек с 2 шинами питания: | Купить |
Макетная плата на 400 точек с 2 шинами питания: | Купить |
Макетная плата на 170 точек: | Купить |
Соединительные провода 120 штук: | Купить |
Первый проект на Arduino
Давайте соберем первое устройство на базе Ардуино. Мы просто подключим тактовую кнопку и светодиод к ардуинке. Схема проекта выглядит так:
Управление яркостью светодиода
Обратите внимание на дополнительные резисторы в схеме. Один из них ограничивает ток для светодиода, а второй притягивает контакт кнопки к земле. Как это работает и зачем это нужно я объяснял в этом уроке.
Для того что бы все работало, нам надо написать скетч. Давайте сделаем так, что бы светодиод загорался после нажатия на кнопку, а после следующего нажатия гас. Вот наш первый скетч:
В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть целый урок на моем сайте. Обязательно ознакомьтесь с этим материалом.
ШИМ Arduino
Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:
Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.
В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.
Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:
Аналоговые входы Arduino
Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.
Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:
Подключение фоторезистора к Ардуино
В схеме присутствует стягивающий резистор на 10 КОм. Он нужен для того что бы избежать наводок и помех. Теперь посмотрим на скетч:
Вот так из двух простейших элементов и четырех строк кода мы сделали датчик освещенности. На базе этого устройства мы можем сделать умный светильник или ночник. Очень простое и полезное устройство.
Вот мы и рассмотрели основы работы с Arduino. Теперь вы можете сделать простейшие проекты. Что бы продолжить обучение и освоить все тонкости, я советую прочитать книги по ардуино и пройти бесплатный обучающий курс. После этого вы сможете делать самые сложные проекты, которые только сможете придумать.
19 комментариев
дело в том, что легче написать новую прошивку, чем разбираться в прошивке, а для этого надо понимать, как работает ваше устройство! т.е. надо работать вместе программист, и пользователь!
иначе никак!
илли 2 способ- изучите программирование, и пишите сами что вам надо!
поверьте- это не так сложно!
Хороший сайт. Спасибо.
Благодарен автору за полезное дело.
Помогать учиться, это самое лучшее занятие для человека.
Arduino. Что купить новичку?
ВИДЕО ВЕРСИЯ
Меня очень часто спрашивают, что заказать новичку для изучения Ардуино: готовый стартовый кит (набор) или выбрать что то самому? Для начала нужно понять, что вообще НУЖНО новичку. У данной статьи есть видео версия, где я разбираю несколько популярных наборов с AliExpress и составляю свой список лучшего набора компонентов для новичка. Данный список со всеми ссылками есть на сайте набора GyverKIT, который мы продаём в России совместно с Giant4.
ПЛАТА ARDUINO
Начнём с самой платы Ардуино. Бессмертной классикой считается UNO, потому что она появилась раньше всех. В чём её достоинства? Под UNO есть несколько плат расширения (shield – шилд), которые просто вставляются в UNO благодаря такой же форме. У UNO есть вход питания через стабилизатор, в виде штекера 5.5×2.1 мм. Но честно вам скажу, что я ни разу не использовал UNO для чего-то интересного. Да, несколько лет назад я заказал себе пару UNO и начал изучать. Общался через COM, мигал светодиодами, потом дело дошло до датчиков. У UNO один выход на 5 вольт, и чтобы подключить больше одного датчика, пришлось паять-колхозить себе разветвитель питания. После нескольких экспериментов и собранных схем я благополучно спалил плату, где то что-то замкнув. В чём мораль? UNO – хорошее решение только для «бутербродных» проектов, в которых шилд втыкается в шилд втыкается в шилд втыкается в …… (Поручик, молчите!) ….. втыкается в UNO.
Официальные дорогие шилды (которые в России покупать вообще бессмысленно) совместимы между собой, но не всегда, и всё равно местами придётся где то паять и переносить управление на пины. А что сказать про китайские шилды, к которым даже нет библиотек… лучше промолчим.
Вы скажете, но есть макетные платы! Да, есть. Но я не скажу, что удобно подключаться к UNO вот таким образом. «Все так делают», но это по привычке. Слишком много места всё это занимает, к тому же буквально висит на проводах.
Кстати! У китайцев есть вот такие шилды для удобного подключения кучи датчиков или аналоговых компонентов, и они в корне меняют дело. Левый – макетка шилд, на нём можно как разводить питание, так и собирать небольшие аналоговые схемы. Правый – я называю его семейный шилд, подходит и для UNO, и для NANO. Около каждого пина имеет свою собственную GND и питание. Невероятно удобная вещь!
Окей, вопрос с подключением решили. Остался вопрос цены. Когда я спалил вторую UNO по причине криворукости, я задумался. Ведь есть Arduino NANO, которая является аналогом модели UNO. В чём же их отличие?
Вывод: NANO ван лав, покупаем сразу 10 штук, ибо кривые руки никто не отменял, а цена ошибки в 2-3 раза меньше.
Что касается удобства подключения, то для нано есть шилд, который вы уже видели выше. Он добавляет GND и 5V около каждого цифрового и аналогового пина, то есть практически любой трёх проводной датчик просто берётся и подключается. Конец. А ещё, NANO замечательно вставляется в беспаечную макетку, и вот тут можно подключить что угодно в любых количествах, к слову именно так я и работаю, используя связку макетных джамперов папа-папа.
А ещё, а ещё, у китайцев есть одна свежая забавная разработка: плата на основе всё той же ATMEGA328P, у которой сразу выведены земля и питание у каждого пина. Плата называется Arduino Strong. Имеется несколько версий:
Резюмируем всё сказанное выше: мой выбор – NANO, несколько макетных breadboard и связка проводов папа-папа.
ДАТЧИКИ И МОДУЛИ
Теперь поговорим о датчиках, ведь зачем нам Ардуино без датчиков? (на самом деле можно придумать тысячу проектов, где датчики не используются). Всё, что подключается к Arduino, можно условно разбить на «рассыпуху» и «модули».
Рассыпуха: кнопки, резисторы, светодиоды, фотодиоды, фототранзисторы, фоторезисторы, потенциометры, ЛЮБЫЕ резистивные датчики, герконы, датчики холла, термисторы, и так далее. Все эти компоненты объединяет то, что они имеют «какие-то» выходы, которые никак не подписаны.
Модули: любой датчик, который распаян НА ПЛАТЕ и имеет подписанные пины питания и обмена данными. В то же время модули можно разбить на простые и сложные.
Простые модули это всё та же «рассыпуха», но распаянная на плате, которая имеет 3 выхода: два на питание и третий сигнальный. С сигнального тупо выходит сигнал 0 или 5 вольт при срабатывании датчика. На модуле стоит компаратор сигнала с возможностью настройки чувствительности, то есть данные модули подают сигнал высокого уровня при срабатывании по ручной настройке, всё! Слева направо: датчик звука, датчик температуры, датчик света, датчик препятствия, датчик холла, и это далеко не весь список. Есть стартовый кит «37 простых датчиков», и вот даже в нём чего-то не хватало, как мне показалось.
“Сложные” модули в основном имеют гораздо больше выходов для обмена данными. Основное отличие в том, что информация отправляется по различным протоколам связи с Ардуино, а не тупо 0 / 1, есть сигнал / нет сигнала, там всё гораздо интереснее. Для работы с такими модулями используются библиотеки. Или бубен и даташит, кому как больше нравится.
Модули понятное дело подключаются к питанию и к выводам Ардуино. Итак, что же нам в итоге нужно? Очевидно, что немного того, немного этого, и парочку вот таких… Конкретика? Конкретики не существует, она строго субъективна. С чем хочется научиться работать, то и покупаем. Либо можно подумать наперёд, какой проект хотелось бы попробовать сделать, и взять всё для него.
ГОТОВЫЕ НАБОРЫ
Вот самый крутой набор (ссылка), в нём есть всё я бы сказал самое интересное, «самый сок» из модулей и рассыпухи. Плата классически UNO, в комплекте большой breadboard и большая связка джамперов. Рассыпуха здесь вся самая нужная, даже RGB светодиод есть! Резисторы 10к и 220 – самые ходовые, всё остальное – реально самые интересные и полезные модули. Есть даже дистанционный ИК пульт, считыватель RFID меток, шаговый мотор….. Шикарно.
Что я бы докупил к этому набору:
Можете глянуть остальные киты у меня на сайте, и понять, какого набора вам будет достаточно.
ЧТО КУПИТЬ?
Я хочу дать некоторый «свой» список железа, который ОБЯЗАТЕЛЬНО должен быть у вас, если это хобби вам нравится и хочется много всего делать и изобретать. К этому списку докупаются любые модули и датчики со страницы с модулями, которые вам интересны, или которые нужны для проекта.
Основной список НЕОБХОДИМОГО ДЛЯ РАБОТЫ железа, которого обычно не хватает в китах. Полный список модулей со ссылками можно найти ЗДЕСЬ:
Рекомендую взять почти все «простые» модули, и сделать пару проектов «по условию» срабатывания, в самый раз для новичка. По возможности брать с аналоговым выходом (они 4х пиновые), так как они гораздо интереснее и позволят делать более интересные системы в будущем (оцифровка аналогового сигнала с датчика – штука очень интересная!).
Что касается механизмов, то очень часто используется сервопривод, как простой «всё-в-одном». Обычные моторчики (двухконтактные, коллекторные) из игрушек и принтеров подключаются через мосфет транзистор или драйвер. Драйвер позволяет помимо скорости управлять ещё и направлением вращения, что важно для машинок и роботов. Очень интересные вещи можно делать с шаговым мотором, для начала хватит дешёвого 28ybj-48 с драйвером (стоит как сервопривод, около 100р). На двух таких штуках уже можно спокойно сделать ЧПУ рисовалку или лазерный гравёр. Вообще без проблем.
Дистанционное управление. Проще всего конечно ИК пульт, так как сам пульт уже готов. Следующий по простоте – Bluetooth модуль, который может принимать команды с телефона, отправляемые одним из многочисленных приложений-джойстиков, либо конструкторов типа RemoyeXY или Blynk. Если нужно управлять на большом расстоянии, берём nrf24L01 и начинаем колхозить пульт управления.
Для готовых проектов люто рекомендую брать корпуса 60х100х25, очень удобные. Не мажоры используют коробки от губок для обуви и распределительные коробки для проводов. В готовом проекте может пригодиться обычная макетная плата с дырками, в которую модули запаиваются и соединяются проводами. В качестве источника питания годится любой БП на 5 вольт (зарядник от смартфона), либо аккумулятор с повышающим модулем. Также можно воткнуть 4 АА никелевых аккумулятора.
Итог. Рекомендую всё таки начать со стартового набора, и докупать к нему остальное по мере необходимости, как минимум у вас уже будет некоторая «база» интересного железа, которая сама будет подталкивать к изучению имеющихся модулей и датчиков, а также немного рассыпухи, которая продаётся отдельно только «мелким китайским оптом» от 50 штук. Не имея опыта работы и покупая по 2-3 железки, вы потратите кучу времени на ожидание посылок, так как будет постоянно не хватать какой-то мелочёвки, особенно с ростом опыта и появлением кучи идей. А покупать в России вас банально задушит жаба. И самое главное, что всё это (стартовый кит) придёт в одной коробочке, которую и подарить не стыдно.
На этом всё, надеюсь, статья была для вас полезна, и вы сможете выбрать себе всё самое интересное и необходимое, научиться прогать и собирать железо, и устроить своё собственное восстание машин. С блекджеком и распутными девками, разумеется!
- Что одеть на корпоратив 2021 женщине 40 лет
- манхва хулиган не может быть таким милым