Книги Arduino
Для получения навыков разработки проектов на микроконтроллере (далее просто МК) Ардуино не обойтись без специальной литературы. Книги Arduino позволят освоить азы работы с МК за считанные часы. Предотвратят большое количество ошибок, которые так часто совершают начинающие. Сократят время на «до хождение своим умом».
Конечно, каждый вправе сам решать, каким путем идти. Сейчас можно обойтись одной лишь информацией из сети Интернет, которой там предостаточно по данной тематике, однако стоит помнить, что в учебниках всегда все разложено по полочкам и структурировано.
Всю литературу можно разделить на две основные категории:
- для начинающих
- для профессионалов
Категорию справочников и им подобных в счет не берем.
Серия для начинающих содержит основные знания по электронике, электротехнике, программировании, а также подключению модулей и устройств к МК.
Arduino книги на русском для профессионалов помимо азов, как правило, содержат в себе поэтапную разработку простых и сложных проектов. Ну и конечно же основы.
В конце статьи будет представлен список литературы, чтением которой рекомендую заняться после. Список постепенно будет пополняться все новыми и новыми книгами.
Книга Arduino для начинающих на русском языке
Из всего разнообразия хочется выделить одну замечательную работу, которая понравится большому кругу читателей. А главное, поможет освоить работу с МК в короткие сроки.
Название — Arduino блокнот программиста (английское название Arduino Programming Notebook).Автор — Brian W. Evans. Количество страниц – 40.
Несмотря на объем страниц, издание, является полноценным руководством для старта начинающего разработчика. Также может выполнять роль справочника.
Книга Arduino для продвинутых на русском языке
Arduino книги на русском – это большая редкость. Найти их в сети довольно проблематично, т.к. большая часть литературы написана и находится в сети на английском языке. Единицы из них переведены на русский. А та небольшая часть книг arduino на русском для начинающих не содержит в себе нужного объема информации в достаточной степени.
https://youtube.com/watch?v=10g1DZkgcJY
Однако следует отметить интересную работу, к прочтению которой стоит приступать после получения азов работы с МК.
Название — Проекты с использованием контроллера Arduino. Автор — Петин В.А. Количество страниц – 400.
Дорогой читатель, если у тебя возникли проблемы с поиском книги, напиши мне, я постараюсь помочь в решении твоей проблемы.
Книги Ардуино рекомендуемые к прочтению:
- C чего начинаются роботы. О проекте Arduino для школьников. Автор — В.Н. Гололобов.
- Arduino Cookbook, второе издание, автор — Michael Margolis
- Arduino, датчики и сети для связи устройств, автор — Сергей Таранушенко
Начало работы с Ардуино
Говоря бытовым языком, Ардуино – это электронная плата, в которую можно воткнуть множество разных устройств и заставить их работать вместе с помощью программы, написанной на языке Ардуино в специальной среде программирования.
Чаще всего плата выглядит вот так:
На рисунке показана одна из плат Ардуино – Arduino Uno. Мы изучим ее подробнее на следующих уроках.
В плату можно втыкать провода и подключать множество разных элементов. Чаще всего, для соединения используется макетная плата для монтажа без пайки. Можно добавлять светодиоды, датчики, кнопки, двигатели, модули связи, реле и создавать сотни вариантов интересных проектов умных устройств. Плата Ардуино – это умная розетка, которая будет включать и выключать все присоединенное в зависимости от того, как ее запрограммировали.
Вся работа над проектом разбивается на следующие этапы:
- Придумываем идею и проектируем.
- Собираем электрическую схему. Тут нам пригодится макетная плата, упрощающая монтаж элементов. Безусловно, понадобятся навыки работы с электронными приборами и умение пользоваться мультиметром.
- Подключаем плату Arduino к компьютеру через USB.
- Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
- Отсоединяем от компьютера. Теперь устройство будет работать автономно – при включении питания оно будет управляться той программой, которую мы в него записали.
Программа и среда программирования выглядят вот так:
На экране показана программа (на сленге ардуинщиков текст программы называется “скетч”), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.
Есть и другой вариант написания кода – визуальный редактор. Тут не нужно ничего писать – можно просто перемещать блоки и складывать из них нужный алгоритм. Программа загрузится в подключенную плату одним нажатием кнопки мыши!
Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать “настоящий” Ардуино – это довольно просто, к тому же знания C++ никому не повредят.
В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.
Codim
Arduino позволяет детям и взрослым выйти за рамки виртуального компьютерного мира в физический и взаимодействовать с ним. Устройства на базе Arduino могут получать информацию об окружающей среде посредством различных датчиков, а также могут управлять различными устройствами.
На курсе учащийся научится:
- Основам электроники
- Самостоятельно собирать электрические схемы
- Программировать на языке Си++
- Самостоятельно собирать и программировать роботов
- Создавать устройства интернета вещей
- Управлять роботом и устройствами интернета вещей с помощью смартфона
- Воплощать свои самые фантастические идеи в жизнь
- Технической грамотности
- Разовьет образное мышление
- Раскроет свой творческий потенциал.
Проекты Arduino для начинающих
Если посмотреть на все проекты ардуино, информация о которых доступна в интернете, то можно их разделить на несколько основных групп:
Начальные учебные проекты, не претендующие на какое-то важное практическое использование, но помогающие разобраться в разных аспектах платформы.Мигающие светодиоды – маячок, мигалка, светофор и другие.
Проекты с датчиками: от простейших аналоговых до цифровых, использующих разнообразные протоколы для обмена данными.
Устройства регистрации и отображения информации.
Машины и устройства с сервоприводами и шаговыми двигателями.
Устройства с использованием различных беспроводных видов связи и GPS.
Проекты для автоматизации жилья – умные дома на Arduino, а также отдельные элементы управления домашней инфраструктурой.
Разнообразные автономные машины и роботы.
Проекты для исследования природы и автоматизации сельского хозяйства
Необычные и креативные – как правило, развлекательные проекты.
По каждой из этих групп можно найти множество самых разнообразных материалов в книгах и на сайтах. В этой статье мы начнем знакомство с описанием наиболее простых проектов, с которых рекомендуется стартовать начинающим.
Как создавать проект на ардуино
Проект Ардуино – это всегда сочетание электронной схемы, некоторых связанных друг с другом аппаратных и механических устройств, системы питания и программного обеспечения, управляющего всем этим хаосом. Поэтому приступая к работе, вы должны твердо понимать, что создавая устройство в одиночестве, вы должны будете стать и программистом, и электронщиком, и конструктором.
Если речь идет не об учебном проекте, то вы обязательно столкнетесь со следующими этапами реализации с такими вот задачами:
- Придумать что-то, что будет полезно и (или) интересно для окружающих. Даже самый простой проект несет какую-то пользу – как минимум, он помогает изучать новые технологии.
- Собрать схему, подключить модули друг к другу и к контроллеру.
- Написать скетч (программу) в специальной среде и загрузить ее в контроллер.
- Проверить, как все работает вместе, и исправить ошибки.
- После тестирования – готовиться к созданию готового устройства. Это означает, нужно собрать устройство в каком-то пригодном для эксплуатации корпусе, предусмотреть систему питания, связи с окружающей средой.
- Если вы собираетесь распространять созданные вами устройства, то придется также заняться дизайном, системой транспортировки, задуматься о безопасности использования необученными пользователями и обучением этих самых пользователей.
- Если ваше устройство работает, оно протестировано и обладает какими-то преимуществами перед другими решениями, то можно попытаться сделать из вашего инженерного уже бизнес-проект, попробовать привлечь инвестиции.
Каждый из этих этапов создания проекта достоин отдельной статьи
Но мы уделим главное внимание этапам сборки электронных схем (основы электроники) и программирования контроллера
Электронные схемы
Электронные схемы обычно собираются с применением макетных плат, скрепляющих элементы друг с другом без пайки и скрутки. О том, как работают модули и схемы подключения можно узнать на нашем сайте. Обычно в описании проекта указаны способы монтажа деталей. Но для большинства популярных модулей есть уже десятки готовых схем и примеров в интернете.
Программирование
Создание и прошивка скетчей производится в специальной программе – среде программирования. Наиболее популярной версией такой среды является Arduino IDE. На нашем сайте вы сможете найти информацию о том, как скачать, установить и настроить эту программу.
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
Базовый набор ардуино для начинающих: |
Большой набор для обучения и первых проектов: |
Набор дополнительных датчиков и модулей: |
Ардуино Уно самая базовая и удобная модель из линейки: |
Беспаечная макетная плата для удобного обучения и прототипирования: |
Набор проводов с удобными коннекторами: |
Комплект светодиодов: |
Комплект резисторов: |
Кнопки: |
Потенциометры: |
Аналоговые входы Arduino
Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.
Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:
Подключение фоторезистора к Ардуино
В схеме присутствует стягивающий резистор на 10 КОм. Он нужен для того что бы избежать наводок и помех. Теперь посмотрим на скетч:
Вот так из двух простейших элементов и четырех строк кода мы сделали датчик освещенности. На базе этого устройства мы можем сделать умный светильник или ночник. Очень простое и полезное устройство.
Вот мы и рассмотрели основы работы с Arduino. Теперь вы можете сделать простейшие проекты. Что бы продолжить обучение и освоить все тонкости, я советую прочитать книги по ардуино и пройти бесплатный обучающий курс. После этого вы сможете делать самые сложные проекты, которые только сможете придумать.
Этапы создания
Следует сказать, что этапы создания системы «умного дома» с привлечением специалистов или же своими руками будут одинаковыми. Правда, в последнем случае готовый вариант в целом обойдется существенно дешевле, чем если привлекать специалистов, которых на рынке и так не хватает. По этой причине зарплаты у них будут соответствующими, а значит, если вы не хотите тратить лишние средства, то можно обойтись собственными силами. Итак, начнем с комплектующих для этой системы, если вы решили все-таки создавать ее самостоятельно.
Комплектация
Если говорить о комплектации системы, то технология будет включать в себя следующий набор компонентов:
- датчик движения;
- датчик температуры и влажности;
- датчик освещенности;
- пара температурных датчиков с маркировкой DS18B20;
- Ethernet-модуль марки ENC28J60;
- микрофон;
- переключатель язычкового типа;
- реле;
- кабель типа «витая пара»;
- кабель категории Ethernet;
- резистор, имеющий сопротивление 4,7 килоома;
- микропроцессорная плата Arduino.
Алгоритм подключения
Следует сказать, что умный дом должен быть оснащен исключительно светодиодными лампочками, так как обычные варианты просто могут не выдержать большого напряжения. Когда проект будет готов, а все нужные запчасти уже приобретены, следует начать подключение датчиков и контроллеров. Делать это необходимо исключительно по схеме, созданной ранее. Контакты необходимо полностью заизолировать.
Если говорить кратко, то поэтапно алгоритм подключения будет выглядеть таким образом:
- установка кода;
- настройка приложения для ПК или мобильного;
- портовая переадресация;
- осуществление тестирования ПО и датчиков;
- устранение неисправностей, если они были выявлены при тестировании.
Итак, начнем с установки кода.
Сначала пользователю следует написать ПО в Arduino IDE. В нем представлены:
- текстовый редактор;
- создатель проектов;
- программа для компиляции;
- препроцессор;
- инструмент для загрузки ПО в мини-процессор Arduino.
Следует сказать, что существуют версии ПО для основных компьютерных ОС – Windows, Linux, Mac OS X. Если говорить об используемом языке программирования, то речь идет о C++ с рядом упрощений. Программы, написанные пользователями для Arduino, обычно называют скетчами. Ряд функций система создает автоматически и пользователю не нужно разбираться в их написании, прописывая список обычных действий. Также нет необходимости вносить файлы заголовочного типа обычных библиотек. Но пользовательские вставлять необходимо.
Добавлять библиотеки в проектный IDE-менеджер можно различными методами. В виде исходников, прописанных на С++, идет добавление в отдельную директорию на рабочей директории IDE-оболочки. Теперь имена необходимых библиотек появляются в определенном IDE-меню. Те, что вы отметите, войдут в компиляционный список. В IDE существует малое количество настроек, а задавать тонкости компилятора вообще нет возможности. Это сделано для того, чтобы несведущий человек не натворил каких-либо ошибок.
Если вы скачали библиотеку, то ее необходимо распаковать и просто вставить в IDE. В программном тексте есть комментарии, которые поясняют принцип ее работы. Следует отметить, что все приложения на Arduino работают по одной технологии: пользователь шлет запрос на процессор, а он, в свою очередь, осуществляет загрузку нужного кода на экран устройства. Когда человек нажимает клавишу Refresh, то микроконтроллер отсылает информацию. С каждой из страниц с определенным обозначением идет программный код, что будет отображаться на экране.
Следующий комплекс действий заключается в установке клиента на персональный компьютер или смартфон. Скачать его можно в интернете, в Google Play Market или из другого источника. Для того чтобы сделать это, необходимо открыть файл на телефоне, который вы скачали, после чего щелкнуть по нему и в появившемся окне нажать на клавишу «Установить». При этом следует знать, что для этого должна быть активирована опция, позволяющая осуществлять установку программ не из сервиса Google Play. Чтобы включить эту опцию, необходимо войти в раздел настроек и выбрать там пункт «Безопасность». Именно так и необходимо активировать соответствующую опцию. Когда установка завершится, то можно будет осуществить активацию приложения и настроить его.
Начало использования Arduino
Если вы никогда ранее не программировали, и это ваш первый опыт, то программирование микроконтроллеров Arduino пойдёт куда проще, если вы начнёте с основ.
Конечно, когда в планах у вас нет никаких сложных проектов, можете работать на готовых библиотеках и параллельно разбирать, из чего состоят их функции. Это один из хороших способов обучения, но тогда стоит искать наборы функций, которые писались профессионалами, чтобы быть уверенным в их правильности.
Иначе вы можете увидеть неправильное решение задачи и, в результате, применять те в своих проектах.
Но куда лучше начать с основ и посвятить хотя бы неделю освоению алгоритмизации и научиться разбивать свои проекты на блоки, а те – уже на конкретные шаги. Подобное построение блок-схем вам не раз пригодится в будущем.
Когда вы изучите весь базис, можно переходить к практике и самообучению на С++, подойдут любые простейшие проекты или заготовленные в интернете задачи.
На этом этапе вашей целью станет понять основные парадигмы и научиться их использовать, а также изучить возможности языка, чтобы вы чётко знали, что он может, и могли здраво оценить реализуемость ваших проектов.
Coursera
Курс по Arduino состоит из серии практических задач про создание вещей, которые работают сами: изучают мир, принимают решения и действуют – двигаются, обмениваются данными друг с другом и с человеком, управляют другими устройствами.
Пройдя этот курс, вы сможете создавать устройства, которые считывают данные о внешнем мире с разнообразных датчиков, обрабатывают информацию, получают и отправляют данные на ПК, в Интернет, на мобильные устройства, управляют индикацией и движением.
Создание устройств будет включать проектирование, изучение компонентов, сборку схем, написание программ, диагностику. Попутно с созданием самих устройств вы сделаете визуализацию на ПК, создадите веб-страницу, которую будет демонстрировать одно из ваших устройств, а также разберетесь с устройством и работой FDM 3D-принтера.
Курс не требует специальных знаний у слушателей, доступен даже ученикам старших классов средней школы. Плюсом будут навыки программирования и владение английским языком на уровне чтения технической документации, однако обязательным это не является.
Весь курс посвящен практике и самым лучшим решением для вас будет раздобыть электронику, повторять показанные примеры и экспериментировать самостоятельно.
Установка Arduino IDE
Если вы скачали архив, то просто распакуйте его и запустите Arduino.exe.
Если вы скачали установочный файл то вам необходимо выполнить стандартную установку. Процесс установки очень прост и не займет много времени, но для полноты статьи я распишу его подробно.
Запускаем установочный файл. Соглашаемся с условиями лицензионного соглашения (естественно после прочтения).
Соглашаемся с условиями
Выбираем необходимые модули программы. Первые два должны быть отмечены обязательно. Остальные на ваше усмотрение.
Выбор компонентов Arduino ide
Далее указываем папку в которую хотим установить программу. Желательно, что бы путь к этой папке не содержал кириллических символов.
Выбор пути установки программы
Во время установки может появиться окно с предложением установки драйвера USB-to-serial. Соглашаемся и ждем окончания установки. На этом весь процесс завершен. Осталось настроить среду разработки и можно творить.
Скачать популярные библиотеки Arduino IDE на русском
Пользовательские библиотеки создаются разработчиками модулей и плат расширений для Ардуино. Большинство популярных библиотек Ардуино скачать можно на сайте GitHub. Это сервис для совместной разработки IT-проектов, где можно отследить историю изменений исходного кода. Чтобы пройти уроки Ардуино для начинающих, все необходимые для занятий библиотеки Arduino UNO можно скачать здесь:
Список пользовательских библиотек Arduino:
TroykaCurrent — перевод аналоговых значений в Амперы (скачать TroykaCurrent.h)
RotaryEncoder — работа с модулем энкодера (скачать RotaryEncoder.h)
Adafruit NeoPixel — работа с адресной лентой (скачать Adafruit_NeoPixel.h)
Fast LED — работа с адресной лентой ws2812b (скачать FastLED.h)
TroykaMQ — работа с датчиками газа MQ (скачать TroykaMQ.h)
MQ-2 sensor — работа с датчиком газа MQ2 (скачать MQ2.h)
LCD 1602 I2C — библиотека для дисплея 1602 I2C (скачать LiquidCrystal_I2C.h)
LCD 1602 I2C RUS — русификация дисплея 1602 I2C (скачать LCD_1602_RUS.h)
OLED I2C — библиотека для OLED дисплея (русифицированная) (скачать OLED_I2C.h)
SFE_BMP180 — библиотека для датчика давления BMP180 (скачать SFE_BMP180.h)
SD.h — библиотека для работы с sd картой памяти (скачать SD.h)
Что такое Arduino Nano?
Arduino Это уже классика в мире бесплатного оборудования и в мире производителей. С его разработкой и программным обеспечением вы можете создавать множество проектов, предел которых — ваше воображение и ну … конечно, некоторые технические ограничения. Но они позволяют изучать электронику, программирование, а также творить настоящие чудеса.
Даже профессиональные проекты основаны на этих досках для разработки. В случае Arduino Nano, это уменьшенная версия de Arduino UNO. Это сводит к минимуму потребление энергии, а также означает, что для размещения тюка требуется меньше места, что делает его идеальным для проектов, где важен размер.
Это не тарелка Arduino UNO точно в миниатюре, как вы увидите, есть некоторые важные технические отличия. И это не альтернатива LilyPad. Но он разделяет другие характеристики и суть, которые присутствуют во всех проектах Arduino. Конечно, его можно запрограммировать таким же Arduino IDE как и остальные.
технические характеристики
Плата Arduino Nano имеет некоторые технические характеристики, которые вы должны знать, прежде чем начинать с нее, в дополнение к оцените, действительно ли это то, что вам нужно для вашего проекта или не соответствует вашим ожиданиям.
те технические характеристики являются:
- Это небольшая, гибкая и простая в использовании плата микроконтроллера.
- Он основан на микроконтроллере Atmel ATmega328p или MCU в версиях 3.x и на ATmega168 в предыдущих версиях. В любом случае он работает на частоте 16 МГц.
- Память состоит из 16 или 32 КБ флэш-памяти в зависимости от версии (2 КБ используется для загрузчика), с 1 или 2 КБ памяти SRAM и 512 байт или 1 КБ EEPROM в зависимости от MCU.
- Он имеет напряжение питания 5 В, но входное напряжение может варьироваться от 7 до 12 В.
- Он имеет 14 цифровых контактов, 8 аналоговых контактов, 2 контакта сброса и 6 контактов питания (Vcc и GND). Из аналоговых и цифровых выводов им назначено несколько дополнительных функций, таких как pinMode () и digitalWrite () и analogRead () для аналогов. В случае аналогов они допускают 10-битное разрешение от 0 до 5 В. На цифровых устройствах 22 могут использоваться как выходы. ШИМ.
- Он не включает розетку постоянного тока.
- Он использует стандартный miniUSB для подключения к компьютеру для программирования или питания.
- Его потребляемая мощность составляет 19 мА.
- Размер печатной платы 18×45 мм, вес всего 7 грамм.
Распиновка и таблица данных
На этом изображении, любезно предоставленном Arduino, вы можете увидеть распиновка или предрасположенность контактов и соединений, которые вы можете найти на этой плате разработки. Как видите, у Arduino Nano не так много контактов ввода-вывода, как у его сестер, но для большинства проектов их достаточно.
Если вы хотите увидеть более подробную информацию, вы можете получить доступ таблицы данных которые существуют для этой версии Arduino Nano:
- Технический паспорт в PDF
- Файлы Eagle
- Электронная схема Arduino Nano
- Скачать распиновку в PDF
Отличия от других плат Arduino Mini и Micro
В официальный Arduinos Вы можете найти те версии, о которых мы говорили в этом блоге, такие как UNO, Mega и т. Д. Еще один — это Arduino Nano, который имеет следующие отличия, которые вы видели в предыдущих разделах.
Однако делать краткое изложение наиболее выдающихся, они являются наиболее важными по сравнению с другими официальными пластинами небольшого размера:
- Он был разработан с той же целью, что и Arduino Mini, только у Nano есть порт miniUSB запрограммировать и подпитать энергией.
- Su цена он находится между Arduino Mini и Arduino Micro.
- Остальные характеристики можно увидеть в следующих таблица:
Характеристики |
Ардуино Мини |
Ардуино Микро |
Ардуино Нано |
Микроконтроллер |
Atmega328P |
ATmega32U4 |
ATmega168 / ATmega328P |
Рабочее напряжение |
5 V |
5 V |
5 V |
Напряжение питания |
7 9-V |
7 12-V |
7 9-V |
Рабочая частота |
16 МГц |
16 МГц |
16 МГц |
Аналоговые входы / выходы |
8/0 |
12/0 |
8/0 |
Цифровые входы / выходы |
14/14 |
20/20 |
14/14 |
ШИМ |
6 |
7 |
6 |
EEPROM (кБ) |
1 |
1 |
0.512 / 0 |
SRAM (кБ) |
2 |
2.5 |
1 / 2 |
Flash (КБ) |
32 |
32 |
16 / 32 |
Основной порт питания и программирования |
Через карту FTDI или кабель |
MicroUSB |
MiniUSB |
UART |
1 |
1 |
1 |
размеры | 3 х 1.8 см | 4.8 х 1.77 см | 4.5 х 1.8 см |
совместимость
Плата Arduino Nano — это совместим со всеми видами электронных компонентов как и остальные тарелки. Нет никаких ограничений, кроме поддерживаемых максимальных ограничений по току и напряжению. Но в противном случае вы можете использовать любой компонент, который хотите все видели в HwLibre.