Содержание
Эта вводная статья для тех, кто уже успел распаковать со своим ребенком десяток-другой цветных коробок от конструкторов, построил сотни разнообразных конструкций и заполнил деталями от Лего все доступные емкости в чулане. Если вы готовы перейти на следующий уровень: с электроникой, микроконтроллерами, датчиками и умными устройствами – значит, пришло время для экспериментов с Ардуино!
В этой серии статей мы соберем самое главное, что нужно узнать об Ардуино, чтобы начать заниматься с детьми самостоятельно. Даже если вы никогда не брали в руки паяльник и слова «контроллер» и «контроллёр» для вас имеют примерно схожий смысл, можете быть уверенными – у вас все равно все получится! Мир электроники и робототехники сегодня полон простых и очень удобных решений, позволяющих практически с нуля создавать очень интересные проекты. Наш учебник поможет вам быстро сориентироваться и сделать первые шаги.
Начало работы с Ардуино
Говоря бытовым языком, Ардуино – это электронная плата, в которую можно воткнуть множество разных устройств и заставить их работать вместе с помощью программы, написанной на языке Ардуино в специальной среде программирования.
Чаще всего плата выглядит вот так:
На рисунке показана одна из плат Ардуино – Arduino Uno. Мы изучим ее подробнее на следующих уроках.
В плату можно втыкать провода и подключать множество разных элементов. Чаще всего, для соединения используется макетная плата для монтажа без пайки. Можно добавлять светодиоды, датчики, кнопки, двигатели, модули связи, реле и создавать сотни вариантов интересных проектов умных устройств. Плата Ардуино – это умная розетка, которая будет включать и выключать все присоединенное в зависимости от того, как ее запрограммировали.
Вся работа над проектом разбивается на следующие этапы:
- Придумываем идею и проектируем.
- Собираем электрическую схему. Тут нам пригодится макетная плата, упрощающая монтаж элементов. Безусловно, понадобятся навыки работы с электронными приборами и умение пользоваться мультиметром.
- Подключаем плату Arduino к компьютеру через USB.
- Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
- Отсоединяем от компьютера. Теперь устройство будет работать автономно – при включении питания оно будет управляться той программой, которую мы в него записали.
Программа и среда программирования выглядят вот так:
На экране показана программа (на сленге ардуинщиков текст программы называется “скетч”), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.
Есть и другой вариант написания кода – визуальный редактор. Тут не нужно ничего писать – можно просто перемещать блоки и складывать из них нужный алгоритм. Программа загрузится в подключенную плату одним нажатием кнопки мыши!
Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать “настоящий” Ардуино – это довольно просто, к тому же знания C++ никому не повредят.
В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.
Быстрый старт с Arduino
Для начала давайте поймем, с чем же и чем же мы собираемся заниматься. Что такое Ардуино и как его использовать? Если вы уже знакомы с темой – можете смело перескочить дальше. Если нет – давайте вместе выполним короткое погружение.
Ардуино – это…
Ардуино – это не бренд и не название поставщика конструкторов. Это общее название для целого семейства различных технологий и открытой платформы, в которую входят как аппаратные устройства (платы контроллеров и совместимое оборудование), так и софт, предназначенный для управления железками. По сути своей, Ардуино – это инфраструктура и среда, в которой можно собирать совместимые между собой электронные и механические компоненты в единое устройство, а потом через обычный компьютер за две минуты запрограммировать поведение этих самых железок так, как нам нужно.
Ардуино – это мостик из виртуального компьютерного мира в мир реальных вещей и устройств. Написав программу на обычном компьютере, мы управляем с ее помощью не виртуальными объектами, а вполне себе реальными датчиками, двигателями, экранами. Мы меняем мир вокруг себя – просто программируя на компьютере, используя бесплатный софт и множество уже готовых примеров библиотек.
Создателем Ардуино принято считать преподавателя института IDII итальянского города Ивреи Массимо Банци, который пытался создать удобную платформу для обучения студентов программированию. Выбрав уже готовый микроконтроллер ATMEGA, он просто добавил на плату необходимую для удобной работы обвязку. Собравшаяся затем великолепная команда из инженеров-электронщиков и разработчиков софта смогла создать продукт, который оказался крайне востребован рынком и быстро завоевал популярность. Более подробно об Ардуино можно почитать здесь и здесь.
Свое название технология получила, как это часто бывает, довольно случайно. Источником вдохновения послужил бар, в котором будущие создатели Ардуино любили выпить по кружечке чая. Называлось заведение именно так – Arduino, по имени главной исторической личности города Ивреа, короля Ардуино. Король какого-то яркого следа в истории не оставил и прослыл неудачником, но благодаря команде разработчиков новой платформы обрел новую популярность и сейчас известен миллионам людей по всему земному шару.
Почему Ардуино?
Вся прелесть Ардуино заключается в следующих простых преимуществах:
- Простота. Да, да – именно простота (хотя Лего и другие игрушки, без сомнения, привычнее, но мы сравниваем не с ними). Для юных разработчиков электроники Ардуино «прячет» огромное количество разнообразных технических вопросов. Многие достаточно сложные проекты можно создавать очень быстро, без длительного погружения в детали. А это ведь очень важно для ребенка – не утратить интерес до первого полученного своими руками результата.
- Популярность. Ардуино крайне популярна, вы сможете без труда найти ответы на любые вопросы на многочисленных форумах или сайтах. Сообщество Ардуино обширно и дружелюбно – там относительно мало прожженных жизнью снобов-инженеров и полно любителей и начинающих, с удовольствием делящихся своей радостью от найденного и узнанного. Это, конечно, откладывает отпечаток на качество советов, но как правило, даже самые сложные вопросы могут быть быстро решены с помощью форумов и сайтов.
- Доступность. И сама технология, и практически весь софт выпускаются под открытыми лицензиями и вы можете свободно использовать чужие наработки, библиотеки, схемы, причем во многих случаях даже для коммерческого использования. Это экономит много времени и позволяет двигаться большими шагами, опираясь на опыт предыдущих исследователей.
- Дешевизна. Комплект для первых занятий электроникой и программированием можно купить менее чем за 500 рублей. Полноценные курсы робототехники возможны при покупке оборудования на 3-5 тысяч рублей. Никакая другая технология не позволит вам так быстро и так эффективно войти в мир реальной учебной робототехники.
С чего начать?
Если вы хотите заниматься робототехникой с использованием Ардуино, то вам понадобится такой вот джентельменский набор:
- Плата Ардуино с USB кабелем для подключения к компьютеру.
- Макетная монтажная плата и провода.
- Комплект базовых электронных компонентов и переходник для батарейки типа крона.
- Установленная на компьютер среда программирования Arduino IDE
В дальнейшем, если занятия действительно увлекут и будет желание продолжить эксперименты, то список оборудования будет расширяться:
- Датчики
- Экраны и индикаторы.
- Двигатели и сервоприводы, реле и драйверы двигателей.
- Модули связи.
- Разнообразные дополнительные модули и платы расширения (шилды)
Если первые шаги дадут результат, со временем вы будете узнавать половину людей, стоящих в очереди на почте (если до сих пор вы их еще не знаете), а почтальоны при встрече будут узнавать вас в лицо и нервно перебегать на другую сторону дороги.
Как купить Ардуино?
Прежде чем узнать что-то полезное, надо сначала купить что-то полезное. Для экспериментов с электроникой вам понадобится та сама электроника в виде конструктора или отдельных плат. Рекомендуется купить не очень дорогой отечественный набор с основными компонентами и затем уже заказать себе с Алиэкспресса датчики, двигатели, контроллеры и другие сокровища.
Вот несколько наиболее интересных и привлекательных по цене вариантов для покупки платы и наборов для первых уроков:
Если вы все-таки захотите купить плату Arduino отдельно, то вот несколько интересных ссылок:
Полезные советы по выбору платы можно найти в инернете (не только на нашем сайте). Если вы живете в большом городе, то покупка всего необходимого займет максимум два дня. Найти нужный магазин легко в интернете. Ну и еще один совет. Вы можете самостоятельно найти подходящие варианты на алиэкспрессе – ищите их по словам «starter kit».
Как отличить оригинал от подделки?
Пару слов о платах Arduino. Сегодня их на совершенно легальных условиях может делать любой производитель: как крупный, такой как Intel, так и мелкие noname поставщики из Китая. Надежность и удобство «китайских» и «официальных» платы Ардуино в большинстве случаев одинаковые. Поэтому незачем переплачивать – для своих учебных проектов можете смело покупать аналоги, которые легко найти в интернете.
Как отличить «оригинал» от «совместимой платы»:
- «Китайские» платы не имеют права ставить логотип Ардуино.
- «Китайские» платы стоят гораздо дешевле.
- «Китайские» часто используют другой чип для обслуживания соединения с компьютером, на который нужны специальные драйвера. Драйвера устанавливаются за секунду и практически никогда не вызывают каких-либо проблем.
Еще раз подчеркнем, использование не оригинальных плат совершенно легально. Ардуино – открытая архитектура и разработчики дают возможность собрать свою версию платы всем желающим.
Нет возможности купить?
Если вы живете в Антарктиде или у вас действительно не хватает средств даже на самые простые наборы, то не отчаивайтесь – можно начать изучение Ардуино на виртуальных тренажерах. Самый мощный, простой и популярный сегодня вариант – это онлайн сервис Tinkercad от известной компании Autodesk. Вы сможете создавать электронные схемы, подключая множество разнообразных компонентов, а затем «включать» питание и измерять все электрические показатели. В библиотеке устройств есть и плата Ардуино, и даже встроенный редактор для программирования (включая визуальный!). Вы можете найти на нашем сайте отдельную статью с подробной информацией о Tinkercad.
Подводим итоги урока
В этой короткой начальной статье мы с вами узнали, что такое Ардуино, почему эту технологию называют именно так, как выглядят типичные проекты с использованием контроллеров Arduino. Начать создавать интересные технические проекты очень просто – для этого не обязательно быть электронщиком. Просто возьмите плату ардуино, соберите с ее помощью нужную электронную схему (можно найти много готовых примеров в интернете), подключите контроллер к компьютеру и загрузите программу. Умное устройство готово!
В следующих уроках мы с вами узнаем, как работает контроллер, разберем устройство платы Arduino Uno и запустим свой первый проект.
Полезные ссылки на учебники и сайты по Ардуино
Официальные сайты ардуино:
Отличные сайты с большим объемом полезной информации
И естественно, море полезной информации на Хабрхабре.
Не знаете, с чего начать изучение Arduino? Проект «Занимательная робототехника» представляет учебный курс «Arduino для начинающих». Серия представлена 10 уроками, а также дополнительным материалом. Уроки включают текстовые инструкции, фотографии и обучающие видео. В каждом уроке вы найдете список необходимых компонентов, листинг программы и схему подключения. Изучив эти 10 базовых уроков, вы сможете приступить к более интересным моделям и сборке роботов на основе Arduino. Курс ориентирован на новичков, чтобы к нему приступить, не нужны никакие дополнительные сведения из электротехники или робототехники.
Краткие сведения об Arduino
Что такое Arduino?
Arduino (Ардуино) — аппаратная вычислительная платформа, основными компонентами которой являются плата ввода-вывода и среда разработки. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере. Arduino как и Raspberry Pi относится к одноплатным компьютерам.
Как связаны Arduino и роботы?
Ответ очень прост — Arduino часто используется как мозг робота.
Преимущество плат Arduino перед аналогичными платформами — относительно невысокая цена и практически массовое распространение среди любителей и профессионалов робототехники и электротехники. Занявшись Arduino, вы найдете поддержку на любом языке и единомышленников, которые ответят на вопросы и с которым можно обсудить ваши разработки.
Подробнее об Arduino читайте в нашей публикации «Arduino: 10 лет вместе».
Урок 1. Мигающий светодиод на Arduino
На первом уроке вы научитесь подключать светодиод к Arduino и управлять его мигать. Это самая простая и базовая модель.
Светодиод — полупроводниковый прибор, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении.
Текст и видео урока «Мигающий светодиод».
Урок 2. Подключение кнопки на Arduino
На этом уроке вы научитесь подключать кнопку и светодиод к Arduino.
При нажатой кнопке светодиод будет гореть, при отжатой – не гореть. Это также базовая модель.
Урок 3. Подключение потенциометра на Arduino
В этом уроке вы научитесь подключать потенциометр к Arduino.
Потенциометр — это резистор с регулируемым сопротивлением. Потенциометры используются как регуляторы различных параметров – громкости звука, мощности, напряжения и т.п. Это также одна из базовых схем. В нашей модели от поворота ручки потенциометра будет зависеть яркость светодиода.
Текст и видео урока «Потенциометр».
Урок 4. Управление сервоприводом на Arduino
На этом уроке вы научитесь подключать сервопривод к Arduino.
Сервопривод – это мотор, положением вала которого можно управлять, задавая угол поворота.
Сервоприводы используются для моделирования различных механических движений роботов.
Текст и видео урока «Сервопривод».
Урок 5. Трехцветный светодиод на Arduino
На этом уроке вы научитесь подключать трехцветный светодиод к Arduino.
Трехцветный светодиод (rgb led) — это три светодиода разных цветов в одном корпусе. Они бывают как с небольшой печатной платой, на которой расположены резисторы, так и без встроенных резисторов. В уроке рассмотрены оба варианта.
Текст и видео урока «Трехцветный светодиод».
Урок 6. Пьезоэлемент на Arduino
На этом уроке вы научитесь подключать пьезоэлемент к Arduino.
Пьезоэлемент — электромеханический преобразователь, который переводит электричеcкое напряжение в колебание мембраны. Эти колебания и создают звук.
В нашей модели частоту звука можно регулировать, задавая соответствующие параметры в программе.
Текст и видео урока «Пьезоэлемент».
Урок 7. Фоторезистор на Arduino
На этом уроке нашего курса вы научитесь подключать фоторезистор к Arduino.
Фоторезистор — резистор, сопротивление которого зависит от яркости света, падающего на него.
В нашей модели светодиод горит только если яркость света над фоторезистором меньше определенной, эту яркость можно регулировать в программе.
Текст и видео урока «Фоторезистор».
Урок 8. Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail
На этом уроке нашего курса вы научитесь подключать датчик движения (PIR) к Arduino, а также организовывать автоматическую отправку e-mail.
Датчик движения (PIR) — инфракрасный датчик для обнаружения движения или присутствия людей или животных.
В нашей модели при получении с PIR-датчика сигнала о движении человека Arduino посылает компьютеру команду отправить E-mail и отправка письма происходит автоматически.
Урок 9. Подключение датчика температуры и влажности DHT11 или DHT22
На этом уроке нашего вы научитесь подключать датчик температуры и влажности DHT11 или DHT22 к Arduino, а также познакомитесь с различиями в их характеристиках.
Датчик температуры и влажности — это составной цифровой датчик, состоящий из емкостного датчика влажности и термистора для измерения температуры.
В нашей модели Arduino считывает показания датчика и осуществляется вывод показаний на экран компьютера.
Урок 10. Подключение матричной клавиатуры
На этом уроке нашего курса вы научитесь подключать матричную клавиатуру к плате Arduino, а также познакомитесь с различными интересными схемами.
Матричная клавиатура придумана, чтобы упростить подключение большого числа кнопок. Такие устройства встречаются везде — в клавиатурах компьютеров, калькуляторах и так далее.
Урок 11. Подключение модуля часов реального времени DS3231
На последнем уроке нашего курса вы научитесь подключать модуль часов реального времени из семейства DS к плате Arduino, а также познакомитесь с различными интересными схемами.
Модуль часов реального времени — это электронная схема, предназначенная для учета хронометрических данных (текущее время, дата, день недели и др.), представляет собой систему из автономного источника питания и учитывающего устройства.
Приложение. Готовые каркасы и роботы Arduino
Начинать изучать Arduino можно не только с самой платы, но и с покупки готового полноценного робота на базе этой платы — робота-паука, робота-машинки, робота-черепахи и т.п. Такой способ подойдет и для тех, кого электрические схемы не особо привлекают.
Приобретая работающую модель робота, т.е. фактически готовую высокотехнологичную игрушку, можно разбудить интерес к самостоятельному проектированию и робототехнике. Открытость платформы Arduino позволяет из одних и тех же составных частей мастерить себе новые игрушки.
Еще один вариант — покупка каркаса или корпуса робота: платформы на колесиках или гусенице, гуманоида, паука и т.п. В этом случае начинку робота придется делать самостоятельно.
Приложение. Мобильный справочник
“Справочник по Arduino” – помощник для разработчиков алгоритмов под платформу Arduino, цель которого дать конечному пользователю возможность иметь при себе мобильный набор команд (справочник).
Приложение состоит из 3-х основных разделов:
Где купить Arduino
Наборы Arduino можно купить на официальном сайте и в многочисленных интернет-магазинах.
Наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах китайских магазинов AliExpress и DealExtreme . Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин Амперка. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore.
Будьте аккуратны при выборе – в продаже есть как оригинальные платы, так и более дешевые клоны. Впрочем аналоги не значительно отличаются от оригинала.
Курс будет пополняться дополнительными уроками. Подпишитесь на нас ВКонтакте или Facebook, чтобы быть в курсе обновлений.
Если вам понравился курс «Arduino для начинающих» или наш проект в целом, то вы можете поддержать нас:
Возможно, вас также заинтересует наш курс «Raspberry Pi: первое знакомство«
31 комментарий к статье “Курс «Arduino для начинающих»”
Спасибо за отличный курс по ардуино, для новичков самое то. Понравилось, что все кратко, без лишних деталей. Хотелось бы продолжения для более продвинутого уровня.
Отличные понятные видео, спасибо! Давайте продолжение
Мы организовали мини домашний кружок по ардуино (я и трое детей. Купили два набора для начинающих + у меня была всякая мелочевка. Я посмотрел несколько видео курсов, остановился на вашем. В итоге мы смотрели вместе урок и делали. Получилось не все, но в целом доволен результатами. Дети осилили. С сентября хотим продолжить. Надеюсь, ученики не разбегутся :)
А я недавно взял вот такой ардуино кит http://ali.pub/1p8hk учить — не мое это … Буду умный дом себе воять. Раньше думал, что микроконтроллеры — это очень сложно
Теперь понял, что элементарно )
vsjo klassno no ne hvataet primerov. vot byl odin migajushij svetodiod — eto klassno. a primera kak sdelatj dva i bolshe ne napisali dazhe. sam dolgo sidel i eksperementiroval.. v itoge polu4ilosj
#define led7 7
#define led8 8
void setup()
<
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
>
void loop()
<
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(190);
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(190);
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(550);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led8, LOW);
delay(300);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led8, LOW);
delay(300);
digitalWrite(led8, HIGH);
delay(500);
digitalWrite(led8, LOW);
delay(550);
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(190);
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(190);
digitalWrite(led7, HIGH);
delay(70);
digitalWrite(led7, LOW);
delay(1500);
digitalWrite(led8, HIGH);
digitalWrite(led7, HIGH);
delay(30);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
delay(50);
digitalWrite(led8, HIGH);
digitalWrite(led7, HIGH);
delay(30);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
delay(50);
digitalWrite(led8, HIGH);
digitalWrite(led7, HIGH);
delay(30);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
delay(50);
digitalWrite(led8, HIGH);
digitalWrite(led7, HIGH);
delay(30);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
delay(1500);
>
При выполнении процедуры delay( ) контроллер приостанавливает свою работу на заданное количество миллисекунд. Но иногда требуется, чтобы он постоянно что-то делал, например, опрашивал входы, к которым могут быть подключены какие-нибудь датчики. Можно ли в предыдущем примере организовать переключение светодиодов по прерыванию от таймера контроллера Ардуино?
15.01.2019 конспект был обновлён: поправлено оформление и добавлена информация!
Добро пожаловать в цикл “Уроки Ардуино с нуля, для чайников и школьников”, это официальная страница проекта “Заметки Ардуинщика“. Цикл охватывает все стандартные операторы и функции Ардуино и построен таким образом, что от выпуска к выпуску у зрителя идёт плавное формирование “базы”, каждый последующий урок (видео урок) содержит в себе информацию из предыдущих, то есть уроки усложняются и становятся комплексными.
Урок #0 – что такое Arduino? Возможности
Урок #0.5 – первые шаги, подключение и настройка
Урок #1 – структура скетча и типы данных
Урок #1.1 – операции с переменными и константами
Урок #2 – работа с последовательным портом
Урок #3 – условный оператор и оператор выбора
Урок #4 – функции времени: задержки и таймеры
Урок #5 – цифровые порты и подключение кнопки
Урок #6 – флажки и расширенное управление кнопкой
Урок #7 – правильное подключение светодиодов
Урок #8 – подключение и управление реле
Урок #9 – подключение и управление мосфетом
Урок #10 – оцифровка аналогового сигнала
Урок #11 – ШИМ сигнал, плавное регулирование
Урок #12 – работа с циклами