Содержание


Меня очень часто спрашивают, что заказать новичку для изучения Ардуино: готовый стартовый кит (набор) или выбрать что то самому? Для начала нужно понять, что вообще НУЖНО новичку.

Начнём с самой платы Ардуино. Бессмертной классикой считается 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 является тот же самый микроконтроллер ATMEGA328P, что и на UNO. То есть с точки зрения совместимости ОБЕ ПЛАТЫ ПОЛНОСТЬЮ ИДЕНТИЧНЫ
- NANO тупо в несколько раз меньше UNO, потому что в ней используется SMD версия микроконтроллера ATMEGA328P (к слову, на некоторых новых UNO тоже стоит SMD версия микроконтроллера, из-за чего плата выглядит как полный трэш и ночной кошмар инженера – куча лишнего свободного места!)
- У NANO есть аналоговые пины А6 и А7, у UNO их просто нет. То есть NANO ещё и более функциональная, чем UNO (UNO – 28 пиновый МК, NANO – 32 пиновый)
- У NANO нет отдельного штекера для питания от напряжения выше 5 вольт. Сам вход есть, это пин Vin, питайте на здоровье
- NANO стоит в 2-3 раза дешевле UNO
- NANO просто вставляется в макетную плату (breadboard) и делайте с ней ВСЁ ЧТО ХОТИТЕ (об этом ниже)
- NANO имеет разъём mini USB, а некоторые свежие модели – micro USB. Лично у меня из компьютера всегда торчит несколько таких проводов, в отличие от USB type B. Кто вообще придумал поставить на UNO такой штекер? Нахрена.
Вывод: NANO ван лав, покупаем сразу 10 штук, ибо кривые руки никто не отменял, а цена ошибки в 2-3 раза меньше.
Что касается удобства подключения, то для нано есть шилд (ссылка), который вы уже видели выше. Он добавляет GND и 5V около каждого цифрового и аналогового пина, то есть практически любой трёх проводной датчик просто берётся и подключается. Конец. А ещё, NANO замечательно вставляется в беспаечную макетку (ссылка), и вот тут можно подключить что угодно в любых количествах, к слову именно так я и работаю, используя связку макетных джамперов папа-папа (ссылка).

А ещё, а ещё, у китайцев есть одна свежая забавная разработка: плата на основе всё той же ATMEGA328P, у которой сразу выведены земля и питание у каждого пина. Плата названия не имеет, так что ссылку просто оставлю. Имеется несколько версий:
- Без встроенного программатора (прошивать как Pro Mini через внешний программатор) – ссылка
- Со встроенным программатором CH340 и гнездом micro-USB – ссылка
- Есть версия с ATMEGA328P (это аналог NANO), и есть с ATMEGA16U2 (аналог LEONARDO/MICRO) – ссылка
Резюмируем всё сказанное выше: мой выбор – NANO, несколько макетных breadboard и связка проводов папа-папа.
Теперь поговорим о датчиках, ведь зачем нам Ардуино без датчиков? (на самом деле можно придумать тысячу проектов, где датчики не используются). Всё, что подключается к Arduino, можно условно разбить на «рассыпуху» и «модули».
Рассыпуха: кнопки, резисторы, светодиоды, фотодиоды, фототранзисторы, фоторезисторы, потенциометры, ЛЮБЫЕ резистивные датчики, герконы, датчики холла, термисторы, и так далее. Все эти компоненты объединяет то, что они имеют «какие-то» выходы, которые никак не подписаны.
Модули: любой датчик, который распаян НА ПЛАТЕ и имеет подписанные пины питания и обмена данными. В то же время модули можно разбить на простые и сложные.
Простые модули это всё та же «рассыпуха», но распаянная на плате, которая имеет 3 выхода: два на питание и третий сигнальный. С сигнального тупо выходит сигнал 0 или 5 вольт при срабатывании датчика. На модуле стоит компаратор сигнала с возможностью настройки чувствительности, то есть данные модули подают сигнал высокого уровня при срабатывании по ручной настройке, всё! Слева направо: датчик звука, датчик температуры, датчик света, датчик препятствия, датчик холла, и это далеко не весь список. Есть стартовый кит «37 простых датчиков», и вот даже в нём чего-то не хватало, как мне показалось.
Сложные модули в основном имеют гораздо больше выходов для обмена данными. Основное отличие в том, что информация отправляется по различным протоколам связи с Ардуино, а не тупо 0 / 1, есть сигнал / нет сигнала, там всё гораздо интереснее. Для работы с такими модулями используются библиотеки. Или бубен и даташит, кому как больше нравится.
Модули понятное дело подключаются к питанию и к выводам Ардуино. Итак, что же нам в итоге нужно? Очевидно, что немного того, немного этого, и парочку вот таких… Конкретика? Конкретики не существует, она строго субъективна. С чем хочется научиться работать, то и покупаем. Либо можно подумать наперёд, какой проект хотелось бы попробовать сделать, и взять всё для него.
![]() |
Но давайте вернёмся к стартовым наборам для новичков. |
Вот самый крутой набор (ссылка), в нём есть всё я бы сказал самое интересное, «самый сок» из модулей и рассыпухи. Плата классически UNO, в комплекте большой breadboard и большая связка джамперов. Рассыпуха здесь вся самая нужная, даже RGB светодиод есть! Резисторы 10к и 220 – самые ходовые, всё остальное – реально самые интересные и полезные модули. Есть даже дистанционный ИК пульт, считыватель RFID меток, шаговый мотор….. Шикарно.
Что я бы докупил к этому набору:
- Несколько NANO
- Парочку макетных breadboard’ов СРЕДНЕГО размера (дешевле взять большой и распилить его на 2-3 части) и провода к ним
- Пару мосфетов для управления яркостью светодиодных лент и скоростью моторчиков (любых обычных моторчиков из игрушек)
- Пачку потенциометров 10 кОм с колпачками
- I2C переходник для дисплея, а лучше ещё пару таких же дисплеев (1602 LCD) с переходниками.
Можете глянуть остальные киты у меня на сайте, и понять, какого набора вам будет достаточно.
Я хочу дать некоторый «свой» список железа, который ОБЯЗАТЕЛЬНО должен быть у вас, если это хобби вам нравится и хочется много всего делать и изобретать. К этому списку докупаются любые модули и датчики со страницы с модулями, которые вам интересны, или которые нужны для проекта.
Основной список НЕОБХОДИМОГО ДЛЯ РАБОТЫ железа, которого обычно не хватает в китах. Полный список модулей можно найти ЗДЕСЬ:
- Несколько Arduino NANO. Объясню:
- Можно работать одновременно с несколькими проектами (у меня в работе всегда не менее трёх)
- Нано компактная, готовый проект может смело переезжать в корпус
- NANO дешевле, её не так жалко спалить
- Pro Mini дешевле NANO! Да, но у NANO более удобная разводка пинов для втыкания в breadboard, ну и конечно, подключать штекер USB проще, чем программатор
Далее просто берём модули, с которыми интересно научиться работать (банально вывод показаний на дисплей: температура, влажность, время, напряжение, параметры работы системы…), и начинаем обучаться по информации из гугла. Также рекомендую открывать заголовочные (расширение .h) файлы библиотек и смотреть полный список методов, который эта библиотека предоставляет. Обычно в примерах раскрываются какие-то частные случаи, которые не позволяют видеть всю картину целиком.
Рекомендую взять почти все «простые» модули, и сделать пару проектов «по условию» срабатывания, в самый раз для новичка. По возможности брать с аналоговым выходом (они 4х пиновые), так как они гораздо интереснее и позволят делать более интересные системы в будущем (оцифровка аналогового сигнала с датчика – штука очень интересная!).
Что касается механизмов, то очень часто используется сервопривод, как простой «всё-в-одном». Обычные моторчики (двухконтактные, коллекторные) из игрушек и принтеров подключаются через мосфет транзистор или драйвер. Драйвер позволяет помимо скорости управлять ещё и направлением вращения, что важно для машинок и роботов. Очень интересные вещи можно делать с шаговым мотором, для начала хватит дешёвого 28ybj-48 с драйвером (стоит как сервопривод, около 100р). На двух таких штуках уже можно спокойно сделать ЧПУ рисовалку или лазерный гравёр. Вообще без проблем.
Дистанционное управление. Проще всего конечно ИК пульт, так как сам пульт уже готов. Следующий по простоте – Bluetooth модуль, который может принимать команды с телефона, отправляемые одним из многочисленных приложений-джойстиков, либо конструкторов типа RemoyeXY или Blynk. Если нужно управлять на большом расстоянии, берём nrf24L01 и начинаем колхозить пульт управления.
Для готовых проектов люто рекомендую брать корпуса 60х100х25, очень удобные. Не мажоры используют коробки от губок для обуви и распределительные коробки для проводов. В готовом проекте может пригодиться обычная макетная плата с дырками, в которую модули запаиваются и соединяются проводами. В качестве источника питания годится любой БП на 5 вольт (зарядник от смартфона), либо аккумулятор с повышающим модулем. Также можно воткнуть 4 АА никелевых аккумулятора.
Итог. Рекомендую всё таки начать со стартового набора, и докупать к нему остальное по мере необходимости, как минимум у вас уже будет некоторая «база» интересного железа, которая сама будет подталкивать к изучению имеющихся модулей и датчиков, а также немного рассыпухи, которая продаётся отдельно только «мелким китайским оптом» от 50 штук. Не имея опыта работы и покупая по 2-3 железки, вы потратите кучу времени на ожидание посылок, так как будет постоянно не хватать какой-то мелочёвки, особенно с ростом опыта и появлением кучи идей. А покупать в России вас банально задушит жаба. И самое главное, что всё это (стартовый кит) придёт в одной коробочке, которую и подарить не стыдно.
На этом всё, надеюсь, статья была для вас полезна, и вы сможете выбрать себе всё самое интересное и необходимое, научиться прогать и собирать железо, и устроить своё собственное восстание машин. С блекджеком и распутными девками, разумеется!
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
| Базовый набор ардуино для начинающих: | Купить |
| Большой набор для обучения и первых проектов: | Купить |
| Набор дополнительных датчиков и модулей: | Купить |
| Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
| Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
| Набор проводов с удобными коннекторами: | Купить |
| Комплект светодиодов: | Купить |
| Комплект резисторов: | Купить |
| Кнопки: | Купить |
| Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
| Версия | Windows | Mac OS X | Linux |
| 1.8.2 |
Язык программирования Ардуино
Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.
Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:
- После каждой инструкции необходимо ставить знак точки с запятой (;)
- Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
- Так же необходимо указывать тип данных перед объявлением переменной.
- Комментарии обозначаются: // Строчный и /* блочный */
Подробнее о типах данных, функциях, переменных, операторах и языковых конструкциях вы можете узнать на странице по программированию Arduino. Вам не нужно заучивать и запоминать всю эту информацию. Вы всегда можете зайти в справочник и посмотреть синтаксис той или иной функции.
Все прошивки для Arduino должны содержать минимум 2 функции. Это setup() и loop().
Функция setup
Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства. Обычно в этой функции декларируют режимы пинов, открывают необходимые протоколы связи, устанавливают соединения с дополнительными модулями и настраивают подключенные библиотеки. Если для вашей прошивки ничего подобного делать не нужно, то функция все равно должна быть объявлена. Вот стандартный пример функции setup():
● Конструктор ЛАБОРАТОРИЯ ЭЛЕКТРОНИКИ И ПРОГРАММИРОВАНИЯ выполнен в форме научно-исследовательского стенда. Все элементы конструктора закреплены на единой платформе.
● В качестве «мозга» конструктора используется модернизированная плата Arduino UNO R3 (с возможностью беспроводной передачи данных на базе Wi-Fi модуля ESP8266).
● В конструкторе представлено 77 экспериментов — ценнейшего теоретического и практического материала для обучения. Каждый эксперимент подразумевает поэтапное изучение программирования путем создания проектов на контроллере, совместимом со средой Arduino IDE. В рамках нашей программы обучения за одно занятие можно освоить и собрать полноценный проект, например, игру “Змейка”, домашнюю метеостанцию, web-опросник, бегущую строку, электронные часы с будильником, FM радио, электронный компас и многое другое!
● Для того, чтобы каждому учащемуся можно было доступно и понятно объяснить новый материал, автор использовал современные методики обучения. Тем не менее, преподаватель может на своё усмотрение отобрать проекты для своего учебного курса. Обо всём этом подробнее .
ОТ ПРОСТОГО К СЛОЖНОМУ. УРОКИ ARDUINO
Урок 16: Графический индикатор. Подключение дисплея Nokia 5110
В этом эксперименте мы рассмотрим работу графического дисплея Nokia 5110, который можно использовать в проектах Arduino для вывода графической информации. Подробнее .
Урок 19: Шаговый двигатель 4-фазный, с управлением на ULN2003 (L293)
В этом эксперименте мы рассмотрим подключение к Arduino шагового двигателя. Шаговые двигатели нашли широкое применение в области, где требуется высокая точность перемещений или скорости. Подробнее .
Урок 21: Датчик влажности и температуры DHT11
В этом эксперименте мы рассмотрим рассмотрим работу датчика для измерения относительной влажности воздуха и температуры DHT11 и создадим проект вывода показаний датчика на экран LCD1602. Подробнее .
Урок 23: Ультразвуковой датчик расстояния HC-SR04. Принцип работы, подключение, пример
В этом эксперименте мы рассмотрим работу ультразвукового датчика для измерения расстояния и создадим проект вывода показаний датчика на экран ЖКИ WH1602. Подробнее .
Урок 28: Считыватель RFID на примере RC522. Принцип работы, подключение
В этом эксперименте мы покажем, как плата Arduino получает доступ к данным RFID-карт и брелоков Mifare с помощью RFID-считывателя RC522C. Подробнее .
Урок 33: Модуль GPS. Принцип работы, подключение, примеры
А теперь экспериментируем с модулем GPS-приемника VK16E, позволяющего определять наше местоположение с помощью глобальной системы GPS, и подключение данного приемника к плате Arduino. Подробнее .
