Изучение микроконтроллеров кажется чем-то сложным и непонятным? До появления Арудино – это было действительно не легко и требовало определенный набор программаторов и прочего оборудования.
Что такое Arduino?
Это своего рода электронный конструктор. Изначальная задача проекта – это позволить людям легко обучаться программированию электронных устройств, при этом уделяя минимальное время электронной части.
Сборка сложнейших схем и соединение плат может осуществляться без паяльника, а с помощью перемычек с разъёмными соединениями «папа» и «мама». Так могут подключаться как навесные элементы, так и платы расширения, которые на лексиконе ардуинщиков зовут просто «Шилды» (shield).
Какую первую плату Arduino купить новичку?
Базовой и самой популярной платой считается Arduino Uno. Эта плата размером напоминает кредитную карту. Довольно крупная. Большинство шилдов которые есть в продаже идеально подходят к ней. На плате для подключения внешних устройств расположены гнезда.
В отечественных магазинах на 2017 год её цена порядка 4-5 долларов. На современных моделях её сердцем является Atmega328.
Изображение платы ардуино и расшифровка функций каждого вывода, Arduino UNO pinout
Микроконтроллер на данной плате это длинна микросхема в корпусе DIP28, что говорит о том, что у него 28 ножек.
Следующая по популярности плата, стоит почти в двое дешевле предыдущей – 2-3 доллара. Это плата Arduino Nano. Актуальные платы построены том же Atmega328, функционально они аналогичны с UNO, различия в размерах и решении согласования с USB, об этом позже подробнее. Еще одним отличием является то, что для подключения к плате устройств предусмотрены штекера, в виде иголок.
Количество пинов (ножек) этой платы совпадает, но вы можете наблюдать что микроконтроллер выполнен в более компактном корпусе TQFP32, в корпусе добавлены ADC6 и ADC7, другие две «лишних» ножки дублируют шину питания. Её размеры довольно компактные – примерно, как большой палец вашей руки.
Aruino Nano pinout
Третья по популярности плата – это Arduino Pro Mini, на ней нет USB порта для подключения к компьютеру, как осуществляется связь я расскажу немного позже.
Сравнение размеров Arduino Nano и Pro Mini
Это самая маленькая плата из всех рассмотренных, в остальном она аналогична предыдущим двум, а её сердцем является по-прежнему Atmega328. Другие платы рассматривать не будем, так как это статья для начинающих, да и сравнение плат – это тема отдельной статьи.
- Arduino Pro Mini pinout, в верхней части схема подключения USB-UART, пин «GRN» — разведен на цепь сброса микроконтроллера, может называться по иному, для чего это нужно вы узнаете далее.
- Итоги:
- Если UNO удобна для макетирования, то Nano и Pro Mini удобны для финальных версий вашего проекта, потому что занимают мало места.
Как подключить Arduino к компьютеру?
Arduino Uno и Nano подключаются к компьютеру по USB. При этом нет аппаратной поддержки USB порта, здесь применено схемное решение преобразования уровней, обычно называемое USB-to-Serial или USB-UART (rs-232). При этом в микроконтроллер прошит специальный Arduino загрузчик, который позволяет прошиваться по этим шинам.
В Arduino Uno реализована эта вязь на микроконтроллере с поддержкой USB – ATmega16U2 (AT16U2). Получается такая ситуация, что дополнительный микроконтроллер на плате нужен для прошивки основного микроконтроллера.
В Arduino Nano это реализовано микросхемой FT232R, или её аналогом CH340. Это не микроконтроллер — это преобразователь уровней, этот факт облегчает сборку Arduino Nano с нуля своими руками.
Обычно драйвера устанавливаются автоматически при подключении платы Arduino. Однако, когда я купил китайскую копию Arduino Nano, устройство было опознано, но оно не работало, на преобразователе была наклеена круглая наклейка с данными о дате выпуска, не знаю нарочно ли это было сделано, но отклеив её я увидел маркировку CH340.
До этого я не сталкивался с таким и думал, что все USB-UART преобразователи собраны на FT232, пришлось скачать драйвера, их очень легко найти по запросу «Arduino ch340 драйвера». После простой установки – всё заработало!
Через этот же USB порт может и питаться микроконтроллер, т.е. если вы подключите его к адаптеру от мобильного телефона – ваша система будет работать.
Что делать если на моей плате нет USB?
Плата Arduino Pro Mini имеет меньшие габариты. Это достигли тем что убрали USB разъём для прошивки и тот самый USB-UART преобразователь. Поэтому его нужно докупить отдельно. Простейший преобразователь на CH340 (самый дешевый), CPL2102 и FT232R, продаётся стоит от 1 доллара.
При покупке обратите внимание на какое напряжение рассчитан этот переходник. Pro mini бывает в версиях 3.3 и 5 В, на преобразователях часто расположен джампер для переключения напряжения питания.
При прошивке Pro Mini, непосредственно перед её началом необходимо нажимать на RESET, однако в преобразователях с DTR это делать не нужно, схема подключения на рисунке ниже.
Стыкуются они специальными клеммами «Мама-Мама» (female-female).
Собственно, все соединения можно сделать с помощью таких клемм (Dupont), они бывают как с двух сторон с гнездами, так и со штекерами, так и с одной стороны гнездо, а с другой штекер.
Как писать программы для Arduino?
Для работы со скетчами (название прошивки на языке ардуинщиков), есть специальная интегрированная среда для разработки Arduino IDE, скачать бесплатно её можно с официального сайта или с любого тематического ресурса, с установкой проблем обычно не возникает.
Так выглядит интерфейс программы. Писать программы можно на специально разработанном для ардуино упрощенном языке C AVR, по сути это набор библиотек, который называют Wiring, а также на чистом C AVR. Использование которого облегчает код и ускоряет его работу.
В верхней части окна присутствует привычное меню, где можно открыть файл, настройки, выбрать плату, с которой вы работаете (Uno, Nano и много-много других) а также открыть проекты с готовыми примерами кода. Ниже расположен набор кнопок для работы с прошивкой, назначение клавиш вы увидите на рисунке ниже.
- В нижней части окна – область для вывода информации о проекте, о состоянии кода, прошивки и наличии ошибок.
- Основы программирования в Arduino IDE
- В начале кода нужно объявить переменные и подключить дополнительные библиотеки, если они имеются, делается это следующим образом:
#include biblioteka.h; // подключаем библиотеку с названием “Biblioteka.h”
- #define peremennaya 1234; // Объявляем переменную со значением 1234
- Команда Define дают компилятору самому выбрать тип переменной, но вы можете его задать вручную, например, целочисленный int, или с плавающей точкой float.
- int led = 13; // создали переменную “led” и присвоили ей значение «13»
- Программа может определять состояние пина, как 1 или 0. 1 –это логическая единица, если пин 13 равен 1, то напряжение на его физической ножке будет равняться напряжению питания микроконтроллера (для ардуино UNO и Nano – 5 В)
- Запись цифрового сигнала осуществляется командой digitalWrite (пин, значение), например:
digitalWrite(led, high); //запись единицы в пин 13(мы его объявили выше) лог. Единицы.
- Как вы могли понять обращение к портам идёт по нумерации на плате, соответствующей цифрой. Вот пример аналогичного предыдущему коду:
- digitalWrite (13, high); // устанавливаем вывод 13 в едиицу
- Часто востребованная функция задержки времени вызывается командой delay(), значение которой задаётся в миллисекундах, микросекунды достигаются с помощью
- delayMicroseconds() Delay (1000); //микроконтроллер будет ждать 1000 мс (1 секунду)
- Настройки портов на вход и выход задаются в функции void setup{}, командой:
- void setup() {
- pinMode(NOMERPORTA, OUTPUT/INPUT); // аргументы – название переменной или номер порта, вход или выход на выбор
- }
- Void loop{}
- Понимаем первую программу «Blink»
- В качестве своеобразного «Hello, world» для микроконтроллеров является программа мигания светодиодом, давайте разберем её код:
В начале командой pinMode мы сказали микроконтроллеру назначить порт со светодиодом на выход.
Вы уже заметили, что в коде нет объявления переменной “LED_BUILTIN”, дело в том, что в платах Uno, Nano и других с завода к 13 выводу подключен встроенный светодиод и он распаян на плате.
Он может быть использован вами для индикации в ваших проектах или для простейшей проверки ваших программ-мигалок.
Далее мы установили вывод к которому подпаян светодиод в единицу (5 В), следующая строка заставляет МК подождать 1 секунду, а затем устанавливает пин LED_BUILTIN в значение нуля, ждет секунду и программа повторяется по кругу, таким образом, когда LED_BUILTIN равен 1 – светодиод(да и любая другая нагрузка подключенная к порту) включен, когда в 0 – выключен.
Всё работает и всё понятно? Тогда идём дальше!
Читаем значение с аналогового порта и используем прочитанные данные
Микроконтроллер AVR Atmega328 имеет встроенный 10 битный аналогово цифровой преобразователь. 10 битный АЦП позволяет считывать значение напряжение от 0 до 5 вольт, с шагом в 1/1024 от всего размаха амплитуды сигнала (5 В).
Чтобы было понятнее рассмотрим ситуацию, допустим значение напряжения на аналоговом входе 2.5 В, значит микроконтроллер прочитает значение с пина «512», если напряжение равно 0 – «0», а если 5 В – (1023). 1023 – потому что счёт идёт с 0, т.е. 0, 1, 2, 3 и т.д. до 1023 – всего 1024 значения.
- Вот как это выглядит в коде, на примере стандартного скетча «analogInput»
- int sensorPin = A0;
- int ledPin = 13;
- int sensorValue = 0;
- void setup() {
- pinMode(ledPin, OUTPUT);
- }
- void loop() {
- sensorValue = analogRead(sensorPin);
- digitalWrite(ledPin, HIGH);
- delay(sensorValue);
- digitalWrite(ledPin, LOW);
- delay(sensorValue);
- }
Схема подключения потенциометра к Arduino, по аналогии центральный вывод вы можете подключить к любому аналоговому входу.
Объявляем переменные:
- Ledpin – самостоятельно назначаем пин со встроенным светодиодом на выход и даём индивидуальное имя;
- sensorPin – аналоговый вход, задаётся соответственно маркировке на плате: A0, A1, A2 и т.д.;
- sensorValue – переменная для хранения целочисленного прочитанного значения и дальнейшей работы с ним.
Код работает так: sensorValue сохраняем прочитанное с sensorPin аналоговое значение (команда analogRead). – здесь работа с аналоговым сигналом заканчивается, дальше всё как в предыдущем примере.
Записываем единицу в ledPin, светодиод включается и ждем время равное значению sensorValue, т.е. от 0 до 1023 миллисекунд. Выключаем светодиод и снова ждем этот период времени, после чего код повторяется.
- Таким образом положением потенциометра мы задаем частоту миганий светодиода.
- Функция map для Арудино
- Не все функции для исполнительных механизмов (мне ни одной не известно) в качестве аргумента поддерживают «1023», например, сервопривод ограничен углом поворота, т.е на пол оборотоа (180 градуов) (пол оборота) сервомоторчика максимальный аргумент функции равен «180»
- Теперь о синтаксисе: map (значение которое мы переводим, минимальная величина входного, максимальная величина входного, минимальная выходного, максимальная выходного значения).
- В коде это выглядит так:
- (map(analogRead(pot), 0, 1023, 0, 180));
- Мы считываем значение с потенциометра (analogRead(pot))от 0 до 1023, а на выходе получаем числа от 0 до 180
- Значения карты величин:
- На практике применим это к работе коду того-же сервопривода, взгляните на код с Arduino IDE, если вы внимательно читали предыдущие разделы, то он пояснений не требует.
И схема подключения.
Выводы Ардуино – очень удобное средство для обучения работы с микроконтроллерами. А если использовать чистый C AVR, или как его иногда называют «Pure C» — вы значительно уменьшите вес кода, и его больше поместиться в память микроконтроллера, в результате вы получите отличную отладочную плату заводского исполнения с возможностью прошивки по USB.
Мнение автора:
Мне нравится ардуино. Жаль, что её многие опытные программисты микроконтроллеров безосновательно ругают, что она слишком упрощена. Упрощен, в принципе, только язык, но никто не заставляет пользоваться именно им, плюс вы можете прошить микроконтроллер через ICSP разъём, и залить туда тот код, который вам хочется, без всяких ненужных Вам бутлоадеров.
Для тех, кто хочет проиграться с электроникой, как продвинутый конструктор – отлично подойдёт, а для опытных программистов как плата, не требующая сборки, тоже станет полезной!
Еще больше информации про Ардуино и особенности его использования в различных схемах смотрите в электронной книге — Ардуино для чайников. Иллюстрированное практическое руководство.
Алексей Бартош
Курс "Arduino для начинающих"
Не знаете, с чего начать изучение Arduino? Проект «Занимательная робототехника» представляет учебный курс «Arduino для начинающих». Серия представлена 10 уроками, а также дополнительным материалом. Уроки включают текстовые инструкции, фотографии и обучающие видео. В каждом уроке вы найдете список необходимых компонентов, листинг программы и схему подключения. Изучив эти 10 базовых уроков, вы сможете приступить к более интересным моделям и сборке роботов на основе Arduino. Курс ориентирован на новичков, чтобы к нему приступить, не нужны никакие дополнительные сведения из электротехники или робототехники.
Краткие сведения об Arduino
Что такое Arduino?
Arduino (Ардуино) — аппаратная вычислительная платформа, основными компонентами которой являются плата ввода-вывода и среда разработки. Arduino может использоваться как для создания автономных интерактивных объектов, так и подключаться к программному обеспечению, выполняемому на компьютере. Arduino как и Raspberry Pi относится к одноплатным компьютерам.
Как связаны Arduino и роботы?
Ответ очень прост — Arduino часто используется как мозг робота.
Преимущество плат Arduino перед аналогичными платформами — относительно невысокая цена и практически массовое распространение среди любителей и профессионалов робототехники и электротехники. Занявшись Arduino, вы найдете поддержку на любом языке и единомышленников, которые ответят на вопросы и с которым можно обсудить ваши разработки.
Подробнее об Arduino читайте в нашей публикации «Arduino: 10 лет вместе».
Урок 1. Мигающий светодиод на Arduino
На первом уроке вы научитесь подключать светодиод к Arduino и управлять его мигать. Это самая простая и базовая модель.
Светодиод — полупроводниковый прибор, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении.
Текст и видео урока «Мигающий светодиод».
Урок 2. Подключение кнопки на Arduino
При нажатой кнопке светодиод будет гореть, при отжатой – не гореть. Это также базовая модель.
Текст и видео урока «Кнопка».
Урок 3. Подключение потенциометра на Arduino
Потенциометр — это резистор с регулируемым сопротивлением. Потенциометры используются как регуляторы различных параметров – громкости звука, мощности, напряжения и т.п. Это также одна из базовых схем. В нашей модели от поворота ручки потенциометра будет зависеть яркость светодиода.
Текст и видео урока «Потенциометр».
Урок 4. Управление сервоприводом на Arduino
- Сервопривод– это мотор, положением вала которого можно управлять, задавая угол поворота.
- Сервоприводы используются для моделирования различных механических движений роботов.
- Текст и видео урока «Сервопривод».
Урок 5. Трехцветный светодиод на Arduino
Трехцветный светодиод (rgb led) — это три светодиода разных цветов в одном корпусе. Они бывают как с небольшой печатной платой, на которой расположены резисторы, так и без встроенных резисторов. В уроке рассмотрены оба варианта.
Текст и видео урока «Трехцветный светодиод».
Урок 6. Пьезоэлемент на Arduino
Пьезоэлемент— электромеханический преобразователь, который переводит электричеcкое напряжение в колебание мембраны. Эти колебания и создают звук.
В нашей модели частоту звука можно регулировать, задавая соответствующие параметры в программе.
Текст и видео урока «Пьезоэлемент».
Урок 7. Фоторезистор на Arduino
- Фоторезистор — резистор, сопротивление которого зависит от яркости света, падающего на него.
- В нашей модели светодиод горит только если яркость света над фоторезистором меньше определенной, эту яркость можно регулировать в программе.
- Текст и видео урока «Фоторезистор».
Урок 8. Датчик движения (PIR) на Arduino. Автоматическая отправка E-mail
- На этом уроке нашего курса вы научитесь подключать датчик движения (PIR) к Arduino, а также организовывать автоматическую отправку e-mail.
- Датчик движения (PIR) — инфракрасный датчик для обнаружения движения или присутствия людей или животных.
- В нашей модели при получении с PIR-датчика сигнала о движении человека Arduino посылает компьютеру команду отправить E-mail и отправка письма происходит автоматически.
Текст урока «Датчик движения (PIR). Автоматическая отправка E-mail».
Урок 9. Подключение датчика температуры и влажности DHT11 или DHT22
- На этом уроке нашего вы научитесь подключать датчик температуры и влажности DHT11 или DHT22 к Arduino, а также познакомитесь с различиями в их характеристиках.
- Датчик температуры и влажности — это составной цифровой датчик, состоящий из емкостного датчика влажности и термистора для измерения температуры.
- В нашей модели Arduino считывает показания датчика и осуществляется вывод показаний на экран компьютера.
- Текст урока «Подключение датчика температуры и влажности DHT».
Урок 10. Подключение матричной клавиатуры
На этом уроке нашего курса вы научитесь подключать матричную клавиатуру к плате Arduino, а также познакомитесь с различными интересными схемами.
Матричная клавиатура придумана, чтобы упростить подключение большого числа кнопок. Такие устройства встречаются везде — в клавиатурах компьютеров, калькуляторах и так далее.
Текст и видео урока «Подключение матричной клавиатуры».
Урок 11. Подключение модуля часов реального времени DS3231
На последнем уроке нашего курса вы научитесь подключать модуль часов реального времени из семейства DS к плате Arduino, а также познакомитесь с различными интересными схемами.
Модуль часов реального времени — это электронная схема, предназначенная для учета хронометрических данных (текущее время, дата, день недели и др.), представляет собой систему из автономного источника питания и учитывающего устройства.
Текст и видео урока «Подключение модуля часов реального времени DS3231».
Приложение. Готовые каркасы и роботы Arduino
Начинать изучать Arduino можно не только с самой платы, но и с покупки готового полноценного робота на базе этой платы — робота-паука, робота-машинки, робота-черепахи и т.п. Такой способ подойдет и для тех, кого электрические схемы не особо привлекают.
Приобретая работающую модель робота, т.е. фактически готовую высокотехнологичную игрушку, можно разбудить интерес к самостоятельному проектированию и робототехнике. Открытость платформы Arduino позволяет из одних и тех же составных частей мастерить себе новые игрушки.
Обзор готовых игрушек-роботов Arduino.
Еще один обзор готовых ардуино-роботов.
Еще один вариант — покупка каркаса или корпуса робота: платформы на колесиках или гусенице, гуманоида, паука и т.п. В этом случае начинку робота придется делать самостоятельно.
Обзор каркасов для роботов Arduino и других плат.
Приложение. Мобильный справочник
“Справочник по Arduino” – помощник для разработчиков алгоритмов под платформу Arduino, цель которого дать конечному пользователю возможность иметь при себе мобильный набор команд (справочник).
Приложение состоит из 3-х основных разделов:
- Операторы;
- Данные;
- Функции.
Справочник по Arduino для Android.
Где купить Arduino
Наборы Arduinoможно купить на официальном сайте и в многочисленных интернет-магазинах.
Наиболее привлекательные цены, постоянные спецпредложения и бесплатная доставка на сайтах китайских магазинов AliExpress и DealExtreme. Если нет времени ждать посылку из Китая — рекомендуем интернет-магазин Амперка. Низкие цены и быструю доставку предлагает интернет-магазин ROBstore.
Будьте аккуратны при выборе – в продаже есть как оригинальные платы, так и более дешевые клоны. Впрочем аналоги не значительно отличаются от оригинала.
- Подробные инструкции по выбору и покупке Arduino для начинающих.
- Как купить Arduino дешевле 100 рублей.
- Список рекомендованных магазинов.
Уроки Ардуино – учебник для начинающих
Эта вводная статья для тех, кто уже успел распаковать со своим ребенком десяток-другой цветных коробок от конструкторов, построил сотни разнообразных конструкций и заполнил деталями от Лего все доступные емкости в чулане. Если вы готовы перейти на следующий уровень: с электроникой, микроконтроллерами, датчиками и умными устройствами – значит, пришло время для экспериментов с Ардуино!
В этой серии статей мы соберем самое главное, что нужно узнать об Ардуино, чтобы начать заниматься с детьми самостоятельно.
Даже если вы никогда не брали в руки паяльник и слова «контроллер» и «контроллёр» для вас имеют примерно схожий смысл, можете быть уверенными – у вас все равно все получится! Мир электроники и робототехники сегодня полон простых и очень удобных решений, позволяющих практически с нуля создавать очень интересные проекты. Наш учебник поможет вам быстро сориентироваться и сделать первые шаги.
Начало работы с Ардуино
- Говоря бытовым языком, Ардуино – это электронная плата, в которую можно воткнуть множество разных устройств и заставить их работать вместе с помощью программы, написанной на языке Ардуино в специальной среде программирования.
- Чаще всего плата выглядит вот так:
На рисунке показана одна из плат Ардуино – Arduino Uno. Мы изучим ее подробнее на следующих уроках.
В плату можно втыкать провода и подключать множество разных элементов. Чаще всего, для соединения используется макетная плата для монтажа без пайки.
Можно добавлять светодиоды, датчики, кнопки, двигатели, модули связи, реле и создавать сотни вариантов интересных проектов умных устройств.
Плата Ардуино – это умная розетка, которая будет включать и выключать все присоединенное в зависимости от того, как ее запрограммировали.
Вся работа над проектом разбивается на следующие этапы:
- Придумываем идею и проектируем.
- Собираем электрическую схему. Тут нам пригодится макетная плата, упрощающая монтаж элементов. Безусловно, понадобятся навыки работы с электронными приборами и умение пользоваться мультиметром.
- Подключаем плату Arduino к компьютеру через USB.
- Пишем программу и записываем ее в плату буквально нажатием одной кнопки на экране в специальной среде программирования Arduino.
- Отсоединяем от компьютера. Теперь устройство будет работать автономно – при включении питания оно будет управляться той программой, которую мы в него записали.
Программа и среда программирования выглядят вот так:
На экране показана программа (на сленге ардуинщиков текст программы называется “скетч”), которая будет мигать лампочкой, подсоединенной к 13 входу на плате Ардуино UNO. Как видим, программа вполне проста и состоит из понятных для знающих английский язык инструкций. В языке программирования Arduino используется свой диалект языка C++, но все возможности C++ поддерживаются.
Есть и другой вариант написания кода – визуальный редактор. Тут не нужно ничего писать – можно просто перемещать блоки и складывать из них нужный алгоритм. Программа загрузится в подключенную плату одним нажатием кнопки мыши!
Визуальную среду рекомендуется использовать школьникам младших классов, более старшим инженерам лучше сразу изучать “настоящий” Ардуино – это довольно просто, к тому же знания C++ никому не повредят.
В целом все выглядит довольно понятно, не так ли? Осталось разобраться в деталях.
Быстрый старт с Arduino
Для начала давайте поймем, с чем же и чем же мы собираемся заниматься. Что такое Ардуино и как его использовать? Если вы уже знакомы с темой – можете смело перескочить дальше. Если нет – давайте вместе выполним короткое погружение.
Ардуино – это…
Ардуино – это не бренд и не название поставщика конструкторов.
Это общее название для целого семейства различных технологий и открытой платформы, в которую входят как аппаратные устройства (платы контроллеров и совместимое оборудование), так и софт, предназначенный для управления железками.
По сути своей, Ардуино – это инфраструктура и среда, в которой можно собирать совместимые между собой электронные и механические компоненты в единое устройство, а потом через обычный компьютер за две минуты запрограммировать поведение этих самых железок так, как нам нужно.
Ардуино – это мостик из виртуального компьютерного мира в мир реальных вещей и устройств. Написав программу на обычном компьютере, мы управляем с ее помощью не виртуальными объектами, а вполне себе реальными датчиками, двигателями, экранами. Мы меняем мир вокруг себя – просто программируя на компьютере, используя бесплатный софт и множество уже готовых примеров библиотек.
Создателем Ардуино принято считать преподавателя института IDII итальянского города Ивреи Массимо Банци, который пытался создать удобную платформу для обучения студентов программированию.
Выбрав уже готовый микроконтроллер ATMEGA, он просто добавил на плату необходимую для удобной работы обвязку.
Собравшаяся затем великолепная команда из инженеров-электронщиков и разработчиков софта смогла создать продукт, который оказался крайне востребован рынком и быстро завоевал популярность. Более подробно об Ардуино можно почитать здесь и здесь.
Свое название технология получила, как это часто бывает, довольно случайно. Источником вдохновения послужил бар, в котором будущие создатели Ардуино любили выпить по кружечке чая.
Называлось заведение именно так – Arduino, по имени главной исторической личности города Ивреа, короля Ардуино.
Король какого-то яркого следа в истории не оставил и прослыл неудачником, но благодаря команде разработчиков новой платформы обрел новую популярность и сейчас известен миллионам людей по всему земному шару.
Почему Ардуино?
Вся прелесть Ардуино заключается в следующих простых преимуществах:
- Простота. Да, да – именно простота (хотя Лего и другие игрушки, без сомнения, привычнее, но мы сравниваем не с ними). Для юных разработчиков электроники Ардуино «прячет» огромное количество разнообразных технических вопросов. Многие достаточно сложные проекты можно создавать очень быстро, без длительного погружения в детали. А это ведь очень важно для ребенка – не утратить интерес до первого полученного своими руками результата.
- Популярность. Ардуино крайне популярна, вы сможете без труда найти ответы на любые вопросы на многочисленных форумах или сайтах. Сообщество Ардуино обширно и дружелюбно – там относительно мало прожженных жизнью снобов-инженеров и полно любителей и начинающих, с удовольствием делящихся своей радостью от найденного и узнанного. Это, конечно, откладывает отпечаток на качество советов, но как правило, даже самые сложные вопросы могут быть быстро решены с помощью форумов и сайтов.
- Доступность. И сама технология, и практически весь софт выпускаются под открытыми лицензиями и вы можете свободно использовать чужие наработки, библиотеки, схемы, причем во многих случаях даже для коммерческого использования. Это экономит много времени и позволяет двигаться большими шагами, опираясь на опыт предыдущих исследователей.
- Дешевизна. Комплект для первых занятий электроникой и программированием можно купить менее чем за 500 рублей. Полноценные курсы робототехники возможны при покупке оборудования на 3-5 тысяч рублей. Никакая другая технология не позволит вам так быстро и так эффективно войти в мир реальной учебной робототехники.
С чего начать?
- Если вы хотите заниматься робототехникой с использованием Ардуино, то вам понадобится такой вот джентельменский набор:
- В дальнейшем, если занятия действительно увлекут и будет желание продолжить эксперименты, то список оборудования будет расширяться:
- Если первые шаги дадут результат, со временем вы будете узнавать половину людей, стоящих в очереди на почте (если до сих пор вы их еще не знаете), а почтальоны при встрече будут узнавать вас в лицо и нервно перебегать на другую сторону дороги.
Как купить Ардуино?
Прежде чем узнать что-то полезное, надо сначала купить что-то полезное. Для экспериментов с электроникой вам понадобится та сама электроника в виде конструктора или отдельных плат. Рекомендуется купить не очень дорогой отечественный набор с основными компонентами и затем уже заказать себе с Алиэкспресса датчики, двигатели, контроллеры и другие сокровища.
Вот несколько наиболее интересных и привлекательных по цене вариантов для покупки платы и наборов для первых уроков:
Если вы все-таки захотите купить плату Arduino отдельно, то вот несколько интересных ссылок:
Полезные советы по выбору платы можно найти в инернете (не только на нашем сайте). Если вы живете в большом городе, то покупка всего необходимого займет максимум два дня. Найти нужный магазин легко в интернете. Ну и еще один совет. Вы можете самостоятельно найти подходящие варианты на алиэкспрессе – ищите их по словам «starter kit».
Как отличить оригинал от подделки?
Пару слов о платах Arduino. Сегодня их на совершенно легальных условиях может делать любой производитель: как крупный, такой как Intel, так и мелкие noname поставщики из Китая. Надежность и удобство «китайских» и «официальных» платы Ардуино в большинстве случаев одинаковые.
Поэтому незачем переплачивать – для своих учебных проектов можете смело покупать аналоги, которые легко найти в интернете.
Как отличить «оригинал» от «совместимой платы»:
- «Китайские» платы не имеют права ставить логотип Ардуино.
- «Китайские» платы стоят гораздо дешевле.
- «Китайские» часто используют другой чип для обслуживания соединения с компьютером, на который нужны специальные драйвера. Драйвера устанавливаются за секунду и практически никогда не вызывают каких-либо проблем.
Еще раз подчеркнем, использование не оригинальных плат совершенно легально. Ардуино – открытая архитектура и разработчики дают возможность собрать свою версию платы всем желающим.
Нет возможности купить?
Если вы живете в Антарктиде или у вас действительно не хватает средств даже на самые простые наборы, то не отчаивайтесь – можно начать изучение Ардуино на виртуальных тренажерах. Самый мощный, простой и популярный сегодня вариант – это онлайн сервис Tinkercad от известной компании Autodesk.
Вы сможете создавать электронные схемы, подключая множество разнообразных компонентов, а затем «включать» питание и измерять все электрические показатели. В библиотеке устройств есть и плата Ардуино, и даже встроенный редактор для программирования (включая визуальный!).
Вы можете найти на нашем сайте отдельную статью с подробной информацией о Tinkercad.
Подводим итоги урока
В этой короткой начальной статье мы с вами узнали, что такое Ардуино, почему эту технологию называют именно так, как выглядят типичные проекты с использованием контроллеров Arduino.
Начать создавать интересные технические проекты очень просто – для этого не обязательно быть электронщиком.
Просто возьмите плату ардуино, соберите с ее помощью нужную электронную схему (можно найти много готовых примеров в интернете), подключите контроллер к компьютеру и загрузите программу. Умное устройство готово!
В следующих уроках мы с вами узнаем, как работает контроллер, разберем устройство платы Arduino Uno и запустим свой первый проект.
Полезные ссылки на учебники и сайты по Ардуино
- Официальные сайты ардуино:
- Отличные сайты с большим объемом полезной информации
- И естественно, море полезной информации на Хабрхабре.
Arduino для начинающих: что такое, где купить
Arduino представляет собой небольшую плату, которая служит для создания различных устройств, интересных гаджетов и даже для вычислительных платформ.
Данную плату называют микроконтроллером, которая распространяется с открытыми исходными кодами и с которой можно использовать множество приложений. Вы можете посмотреть уроки Ардуино в нашем большом разделе.
Содержание
Это наиболее простой и недорогой вариант для начинающих, любителей и профессионалов. Процесс программирования проходит на языке Processing/Wiring, который осваивается быстро и легко и в основе которого лежит язык C++, а благодаря программной среде Adruino IDE это сделать очень легко. Давайте рассмотрим, что такое Arduino, чем полезна для начинающих, её возможности и особенности.
Что такое вообще Ардуино?
Arduino является вычислительной платформой или платой, которая будет служить мозгом для ваших новых устройств или гаджетов. На ее основе вы сможете создавать как устройства с простыми схемами, так и сложные трудоемкие проекты, например, роботов или дронов.
Основой конструктора служит плата ввода-вывода (аппаратная часть), а также программная часть. Программное обеспечение конструктора на основе Ардуино представлено интегрированной средой разработки Arduino IDE.
Внешне сама среда выглядит так:
Программная часть Ардуино разработана таким образом, чтобы справиться с ней мог даже начинающий пользователь, не имеющий представления о программировании. Дополнительным фактором успеха в использовании микроконтроллера стала возможность работать с макетной платой, когда к контроллеру подключаются необходимые детали (резисторы, диоды, транзисторы и т.п.) без необходимости в пайке.
Большая часть плат Arduino имеют подключение через USB кабель. Подобное соединение позволяет обеспечить плату питанием и загрузить скетчи, т.е. мини-программы. Процесс программирования так же является предельно простым. Вначале пользователь использует редактор кода IDE для создания необходимой программы, затем она загружается при помощи одного клика в Ардуино.
Как купить Arduino?
Плата и многие детали Ардуино производится в Италии, поэтому оригинальные составляющие отличаются достаточно высокой стоимостью. Но существуют отдельные компоненты конструктора или наборы, так называемые кит-наборы, которые выпускается по итальянской аналогии, однако по более доступным ценам.
Купить аналог можно на отечественном рынке или, к примеру, заказать из Китая. Многие знают про сайт АлиЭкспресс, например.
Но начинающим свое знакомство с Ардуино лучше свою первую плату заказать в российском интернет-магазине. Со временем можно перейти на покупку плат и деталей в Китае.
Срок доставки из этой страны составит от двух недель до месяца, а, например, стоимость большого кит-набора будет не более 60-70 долларов.
Стандартные наборы включают в себя как правило следующие детали:
- макетная плата;
- светодиоды;
- резисторы;
- батареи 9В;
- регуляторы напряжения;
- кнопки;
- перемычки;
- матричная клавиатура;
- платы расширения;
- конденсаторы.
Нужно ли знать программирование?
Первые шаги по работе с платой Arduino начинаются с программирования платы. Программа, которая уже готова к работе с платой, называют скетчем. Переживать о том, что вы не знаете программирование не нужно. Процесс создания программ довольно несложный, а примеров скетчей очень много в интернете, так как сообщество Ардуинщиков очень большое.
После того как программа составлена она загружается (прошивается) на плату. Ардуино в этом случае имеет неоспоримое преимущество – для программирования в большинстве случаев используется USB-кабель. Сразу после загрузки программа готова выполнять различные команды.
Начинающим работать с Arduino нужно знать две ключевые функции:
- setup() – используется один раз при включении платы, применяется для инициализации настроек;
- loop() – используется постоянно, является завершающим этапом настройки setup.
Пример записи функции setup():
void setup() {
Serial.begin(9600); // Открываем serial соединение
pinMode(9, INPUT); // Назначаем 9 пин входом
pinMode(13, OUTPUT); // Назначаем 13 пин выходом
}
Функция setup() выполняется в самом начале и только 1 раз сразу после включения или перезагрузки вашего устройства.
Функция loop() выполняется после функции setup(). Loop переводится как петля, или цикл. Функция будет выполняться снова и снова. Так микроконтроллер ATmega328 (большинстве плат Arduino содержат именно его), будет выполнять функцию loop около 10 000 раз в секунду.
Также вы будете сталкиваться с дополнительными функциями:
- pinMode – режим ввода и вывода информации;
- analogRead – позволяет считывать возникающее аналоговое напряжение на выводе;
- analogWrite – запись аналогового напряжения в выходной вывод;
- digitalRead – позволяет считывать значение цифрового вывода;
- digitalWrite – позволяет задавать значение цифрового вывода на низком или высоком уровне;
- Serial.print – переводит данные о проекте в удобно читаемый текст.
Помимо этого Ардуино начинающим понравится то, что для плат существует множество библиотек, которые представляют собой коллекции функций, позволяющих управлять платой или дополнительными модулями. К числу наиболее популярных относятся:
- чтение и запись в хранилище,
- подключение к интернету,
- чтение SD карт,
- управление шаговыми двигателями,
- отрисовка текста
- и т. д.
Как настроить Ардуино?
Одним из главных преимуществ конструктора является его безопасность относительно настроек пользователя. Ключевые настройки, потенциально опасные для Arduino, являются защищенными и будут недоступны.
Поэтому даже неопытный программист может смело экспериментировать и менять различные опции, добиваясь нужного результата. Но на всякий случай очень рекомендуем прочитать три важных материала по тому как не испортить плату:
Алгоритм классической настройки программы Arduino выглядит так:
- установка IDE, которую можно загрузить ниже или здесь или с сайта производителя;
- установка программного обеспечения на используемый ПК;
- запуск файла Arduino;
- вписывание в окно кода разработанную программу и перенос ее на плату (используется USB кабель);
- в разделе IDE необходимо выбрать тип конструктора, который будет использоваться. Сделать это можно в окне «инструменты» — «платы»;
- проверяете код и жмете «Дальше», после чего начнется загрузка в Arduino.
Набиваем руку
Для того чтобы уверенно реализовывать сложные задумки, пользоваться программной средой и Ардуино начинающим необходимо «набить руку». Для этого рекомендуется для начала освоить более легкие задачи и проекты.
Самый простой проект, который вы можете сделать — заставить светодиод, который расположен на плате Ардуино напротив порта, мигал каждую секунду.
Для этого необходимо:
- подключить конструктор к ПК,
- открыть программу, в разделе «сервис» ищем блок «последовательный порт»
- выбираем необходимый интервал
- после чего необходимо добавить код, который есть в Arduino IDE в разделе «Примеры».
Первыми проектами в Ардуино для начинающих могут стать:
- мигающий светодиод;
- подключение и управление датчиком температуры;
- подключение и управление датчиком движения;
- подключение фоторезистора;
- управление сервоприводом.
Первый проект
Вот мы и дошли до нашего первого проекта. Давайте соединим Ардуино, светодиод и кнопку. Этот проект отлично подойдет начинающим.
- Схема у нас будет такая:
- Светодиод загорится после нажатия на кнопку, а после следующего нажатия погаснет. Сам скетч или программа для Ардуино будет такой:
// пины подключенных устройств
int switchPin = 8;
int ledPin = 11;
// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
// функция для подавления дребезга
boolean debounse(boolean last) {
boolean current = digitalRead(switchPin);
if(last != current) {
delay(5);
current = digitalRead(switchPin);
}
return current;
}
void loop() {
currentButton = debounse(lastButton);
if(lastButton == LOW && currentButton == HIGH) {
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(ledPin, ledOn);
}
Вы могли заметить функцию debounse, о которой мы еще не писали. Она нужна для подавления дребезга контактов.
После того, как Вы разберетесь с начальными навыками работы с платой можно приступать к реализации более сложных и многогранных задач. Конструктор позволяет создать RC-машинку, управляемый вертолет, создать свой телефон, управляемый катер, создать систему «умный дом» и т.д.
Для ускорения освоения работы с платой Ардуино рекомендуем вам начать делать устройства из нашей рубрики Уроки, где по шагам описаны процессы создания самых интересных устройств и гаджетов.
Наверх ↑
← Аналог Arduino: Iskra JS микроконтроллер из России → Никола Тесла: великий серб, который открыл электричество
Аrduino для начинающих
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части.
Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования.
Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами.
Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
Базовый набор ардуино для начинающих: | Купить |
Большой набор для обучения и первых проектов: | Купить |
Набор дополнительных датчиков и модулей: | Купить |
Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
Набор проводов с удобными коннекторами: | Купить |
Комплект светодиодов: | Купить |
Комплект резисторов: | Купить |
Кнопки: | Купить |
Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
Версия | Windows | Mac OS X | Linux |
1.8.2 | ZipInstaller | Installer |
|
Язык программирования Ардуино
Когда у вас есть на руках плата микроконтроллера и на компьютере установлена среда разработки, вы можете приступать к написанию своих первых скетчей (прошивок). Для этого необходимо ознакомиться с языком программирования.
Для программирования Arduino используется упрощенная версия языка C++ с предопределенными функциями. Как и в других Cи-подобных языках программирования есть ряд правил написания кода. Вот самые базовые из них:
- После каждой инструкции необходимо ставить знак точки с запятой (;)
- Перед объявлением функции необходимо указать тип данных, возвращаемый функцией или void если функция не возвращает значение.
- Так же необходимо указывать тип данных перед объявлением переменной.