Аrduino для начинающих
В этой статье я решал собрать полное пошаговое руководство для начинающих Arduino. Мы разберем что такое ардуино, что нужно для начала изучения, где скачать и как установить и настроить среду программирования, как устроен и как пользоваться языком программирования и многое другое, что необходимо для создания полноценных сложных устройств на базе семейства этих микроконтроллеров.
Тут я постараюсь дать сжатый минимум для того, что бы вы понимали принципы работы с Arduino. Для более полного погружения в мир программируемых микроконтроллеров обратите внимание на другие разделы и статьи этого сайта. Я буду оставлять ссылки на другие материалы этого сайта для более подробного изучения некоторых аспектов.
Что такое Arduino и для чего оно нужно?
Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
проекты на Arduino
Стартовый набор Arduino
Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:
Базовый набор ардуино для начинающих: | Купить |
Большой набор для обучения и первых проектов: | Купить |
Набор дополнительных датчиков и модулей: | Купить |
Ардуино Уно самая базовая и удобная модель из линейки: | Купить |
Беспаечная макетная плата для удобного обучения и прототипирования: | Купить |
Набор проводов с удобными коннекторами: | Купить |
Комплект светодиодов: | Купить |
Комплект резисторов: | Купить |
Кнопки: | Купить |
Потенциометры: | Купить |
Среда разработки Arduino IDE
Для написания, отладки и загрузки прошивок необходимо скачать и установить Arduino IDE. Это очень простая и удобная программа. На моем сайте я уже описывал процесс загрузки, установки и настройки среды разработки. Поэтому здесь я просто оставлю ссылки на последнюю версию программы и на статью с подробной инструкцией.
Версия | Windows | Mac OS X | Linux | |||||||||
1.8.2 |
Макетная плата на 800 точек с 2 шинами питания, платой подачи питания и проводами: | Купить |
Большая макетная плата на 1600 точек с 4 шинами питания: | Купить |
Макетная плата на 800 точек с 2 шинами питания: | Купить |
Макетная плата на 400 точек с 2 шинами питания: | Купить |
Макетная плата на 170 точек: | Купить |
Соединительные провода 120 штук: | Купить |
Первый проект на Arduino
Давайте соберем первое устройство на базе Ардуино. Мы просто подключим тактовую кнопку и светодиод к ардуинке. Схема проекта выглядит так:
Управление яркостью светодиода
Обратите внимание на дополнительные резисторы в схеме. Один из них ограничивает ток для светодиода, а второй притягивает контакт кнопки к земле. Как это работает и зачем это нужно я объяснял в этом уроке.
Для того что бы все работало, нам надо написать скетч. Давайте сделаем так, что бы светодиод загорался после нажатия на кнопку, а после следующего нажатия гас. Вот наш первый скетч:
В этом скетче я создал дополнительную функцию debounse для подавления дребезга контактов. О дребезге контактов есть целый урок на моем сайте. Обязательно ознакомьтесь с этим материалом.
ШИМ Arduino
Широтно-импульсная модуляция (ШИМ) — это процесс управления напряжением за счет скважности сигнала. То есть используя ШИМ мы можем плавно управлять нагрузкой. Например можно плавно изменять яркость светодиода, но это изменение яркости получается не за счет уменьшения напряжения, а за счет увеличения интервалов низкого сигнала. Принцип действия ШИМ показан на этой схеме:
ШИМ ардуино
Когда мы подаем ШИМ на светодиод, то он начинает быстро зажигаться и гаснуть. Человеческий глаз не способен увидеть это, так как частота слишком высока. Но при съемке на видео вы скорее всего увидите моменты когда светодиод не горит. Это случится при условии что частота кадров камеры не будет кратна частоте ШИМ.
В Arduino есть встроенный широтно-импульсный модулятор. Использовать ШИМ можно только на тех пинах, которые поддерживаются микроконтроллером. Например Arduino Uno и Nano имеют по 6 ШИМ выводов: это пины D3, D5, D6, D9, D10 и D11. В других платах пины могут отличаться. Вы можете найти описание интересующей вас платы в этом разделе.
Для использования ШИМ в Arduino есть функция analogWrite(). Она принимает в качестве аргументов номер пина и значение ШИМ от 0 до 255. 0 — это 0% заполнения высоким сигналом, а 255 это 100%. Давайте для примера напишем простой скетч. Сделаем так, что бы светодиод плавно загорался, ждал одну секунду и так же плавно угасал и так до бесконечности. Вот пример использования этой функции:
Аналоговые входы Arduino
Как мы уже знаем, цифровые пины могут быть как входом так и выходом и принимать/отдавать только 2 значения: HIGH и LOW. Аналоговые пины могут только принимать сигнал. И в отличии от цифровых входов аналоговые измеряют напряжение поступающего сигнала. В большинстве плат ардуино стоит 10 битный аналогово-цифровой преобразователь. Это значит что 0 считывается как 0 а 5 В считываются как значение 1023. То есть аналоговые входы измеряют, подаваемое на них напряжение, с точностью до 0,005 вольт. Благодаря этому мы можем подключать разнообразные датчики и резисторы (терморезисторы, фоторезисторы) и считывать аналоговый сигнал с них.
Для этих целей в Ардуино есть функция analogRead(). Для примера подключим фоторезистор к ардуино и напишем простейший скетч, в котором мы будем считывать показания и отправлять их в монитор порта. Вот так выглядит наше устройство:
Подключение фоторезистора к Ардуино
В схеме присутствует стягивающий резистор на 10 КОм. Он нужен для того что бы избежать наводок и помех. Теперь посмотрим на скетч:
Вот так из двух простейших элементов и четырех строк кода мы сделали датчик освещенности. На базе этого устройства мы можем сделать умный светильник или ночник. Очень простое и полезное устройство.
Вот мы и рассмотрели основы работы с Arduino. Теперь вы можете сделать простейшие проекты. Что бы продолжить обучение и освоить все тонкости, я советую прочитать книги по ардуино и пройти бесплатный обучающий курс. После этого вы сможете делать самые сложные проекты, которые только сможете придумать.
19 комментариев
Добрый день, господа!
Очень интересный сайт. Много полезной информации и подача материала спокойная.
Мне нравиться.
Вопрос у меня. Чую попал на грамотных спецов.
Приобрел я на Али китайскую чудо технику — лазерный гравировщик-выжигатель (2 Ватт.).
Плата управления Arduino Nano, драйвера на двигатели на красных платках.
Как водится описание слабое, информация. да все по-китайски. Начал разбираться.
Собрал, заработала машина, задымила. Поправил конфигурацию, на одной оси сделал инверсию.
Самое отвратительное — это ПО. Только зайчиков выжигать. Решил сменить.
Залил GRBL v1.1, программу взял LaserGRBL (версия из последних).
Программа увидела девайс, подключилась на СОМ, ожила, тут бы обрадоваться, да нет.
G-код готовится правильно, но команды включения М3 и выключения М5 лазера, которые прописаны в коде, не выполняются.
Лазер включается при включении девайса, и находится включенным все время, даже в остановленном состоянии (G-код еще не запущен, передвижения нет). При быстром передвижении лазера по рисунку он не выключается и все время жгет, рисуя за собой прожженную черту.
Подскажите, пожалуйста, как заставить лазер отключаться согласно G-коду? Как заставить девайс выполнять команды G-кода М3 и М5? Пробовал в конфигурации ставить и $32=1, и $32=0 — никак не реагирует. Жгет без остановки. Перепрошивал v1.1 — бесполезно.
Мне уже 65 отроду. Некогда досконально изучать Arduino. Говорят, что не поступают команды на лазер.
Да тут и ежику понятно. Как это можно исправить? В настройках галочку с ШИМ снял.
Подскажите, пожалуйста.
С уважением Владимир
дело в том, что легче написать новую прошивку, чем разбираться в прошивке, а для этого надо понимать, как работает ваше устройство! т.е. надо работать вместе программист, и пользователь!
иначе никак!
илли 2 способ- изучите программирование, и пишите сами что вам надо!
поверьте- это не так сложно!
Хороший сайт. Спасибо.
Благодарен автору за полезное дело.
Помогать учиться, это самое лучшее занятие для человека.
Всё об Ардуино: что это, области применения и полезные компоненты
Сегодняшняя статья будет посвящена Ардуино. В двух словах – это семейство электронных конструкторов, предназначенных для создания простых систем автоматики. Каждый из них состоит из печатной платы с микроконтроллером и из периферийных блоков – всевозможных датчиков, индикаторов, шаговых моторов и всего остального. А теперь обо всем по порядку.
Что такое Ардуино – давайте рассмотрим поближе
Несмотря на то, что в Ардуино имеется микроконтроллер, он рассчитан на непрофессиональных пользователей. Это позволяет освоить его и взрослым, далеким от основ электроники, и детям школьного возраста. У оболочки для программирования достаточно низкий порог вхождения. Программирование очень простое и интуитивно понятное. Оно не требуют каких-то особых знаний, не предполагает вникание в работу регистров микропроцессора и в прочую «черную магию».
Но при всей простоте Arduino богатый набор его периферии позволяет построить на нем достаточно интересные решения, которые можно использовать в робототехнике, всевозможных штуковинах системы «умный дом», да и просто для развлечения.
Где можно применить Arduino
Помимо простоты использования есть еще один важный момент. Комплектующие Arduino стоят очень дешево, поэтому конструктор стал достаточно популярным. Он часто используется в клубах юных техников для занятий с детьми, для проведения студенческих лабораторных работ. А для многих вполне зрелых и состоявшихся людей программирование Arduino стало хобби.
Заказал целый набор компонентов
Из-за этой массовости в сети появилось большое количество уроков и подробно описанных примеров, поэтому любой желающий, только получив в руки плату, может сразу же начать с ней работу и получить видимый результат. Для детей Ардуино это очень важно. Они видят, что у них все получается, что на их действие сразу же есть реакция. Можно просто включить-выключить светодиод, можно сделать это в определенной последовательности, можно что-нибудь написать или изобразить на дисплее.
Практически мгновенный результат приводит в восторг, поэтому занятия с Arduino быстро становятся не просто приятным времяпровождением, а полноценным хобби, которое развивает интерес к электронике. Кто знает, но дальнейшем такое хобби вполне может превратиться в интересную работу.
Весь рабочий софт можно скачать на официальном сайте Arduino. Там же можно воспользоваться онлайн-компилятором . Там же можно найти и готовые скетчи для программирования комплектующих.
Комплектов Arduino достаточно много. Это и оригинальные конструкторы Arduino, и совместимые с семейством китайские клоны. Все они различного размера, комплектации и, соответственно, возможностей. Рассмотрим некоторые из них. Кстати, по качеству не уступает оригиналам.
Комплект для начинающих Ардуино UNO R3
Если нужно все и сразу, но без излишеств, то, наверное, это самый подходящий вариант. В набор входит плата с микроконтроллером, макетная плата типа Breadboard с комплектом проводов, позволяющая производить соединения без пайки, 4-разрядный семисегментный индикатор, LCD-дисплей, кнопочная панель, матрица светодиодов 8×8 элементов, джойстик, сервопривод с драйвером, реле, ИК-пульт и комплект светодиодов, кнопок, конденсаторов и резисторов россыпью.
Также в набор входят отдельные платки с датчиками:
- звука;
- уровня воды;
- температуры и влажности;
- RFID-считыватель c RFID-метками в виде ключа-таблетки и карточки;
- цифровой часовой модуль.
Комплект позволяет поочередно освоить работу микропроцессора, его взаимодействие с индикаторами и с датчиками. Позволяет на своей основе построить такие интересные проекты, как дубликатор ключей от домофона, систему управления освещением, сделать игрушечный светофор или анимированную рекламную доску, организовать систему полива комнатных растений и многое другое.
Продвинутый набор Arduino UNO R3
Этот комплект отличается от предыдущего наличием дополнительных модулей расширения. Среди них ультразвуковой датчик расстояния, электронный гироскоп, электродвигатель постоянного тока вместе с микросхемой-драйвером, шаговый мотор и дополнительная макетная плата. Эти датчики могут оказаться полезными в качестве дополнения при управлении простыми роботами.
Еще одной особенностью этого набора является наличие большего числа «рассыпухи». Например, в комплекте можно найти сотню резисторов различных номиналов от 10 Ом до 1 МОм, диоды, пять видов транзисторов и несколько конденсаторов различных номиналов. Это дополнение предназначено для использования уже опытными людьми, освоившими базовые навыки построения электронных модулей и умеющих читать принципиальные схемы.
Обучающий набор Ардуино для детей и взрослых
Комплект-конкурент предыдущему набору. Внешний вид платы контроллера и плат датчиков несколько отличается, но их функциональность остается идентичной. Число составных элементов несколько большее. Например, имеется даже держатель для пальчиковых батареек.
Также имеются дополнительные датчики:
- датчик влажности почвы;
- газовый датчик;
- пироэлектрический датчик, реагирующий на движение.
Дополнительные датчики позволяют построить с помощью конструктора некое подобие охранной сигнализации и продемонстрировать ее работу. На прилагающемся диске имеется руководство пользователя на английском языке и примеры проектов.
Оригинальный Arduino UNO R3
Это даже не набор, а просто одна плата UNO R3 с микроконтроллером, плюс USB-кабель и коробочка. Плата та же самая, какая использовалась в описанных выше комплектах.
Ее приобретение будет логичным, если в дополнительных датчиках и элементах россыпью необходимости нет. Например, если используются детали от других наборов, причем не обязательно Arduino.
Или если предполагается использовать платку в составе какой-то отдельной штуки со своей периферией. В общем, если нужен отдельно контроллер, то такая возможность тоже есть.
Самый дешёвый Arduino Nano
В случае, когда плата Ардуино UNO R3 избыточна, например, если не нужны лишние светодиоды, и элементы питания, или, если плата с контроллером должна быть меньших размеров, то решением может быть плата Nano. В отличие от UNO размером 69×54 мм, Nano занимает площадь всего в 19×42 мм. Кстати, стоит она тоже примерно в два-три раза дешевле.
Нюансом является то, что у используемого на плате Nano микропроцессора вдвое меньший объем флеш-памяти и оперативной памяти по сравнению с микропроцессором на UNO R3. Хотя, для большинства проектов, особенно, если это касается проектов начинающих, это не важно. Также в комплект не входит USB-кабель.
Комплект проводов для работы плат Ардуино
Опытные пользователи могут обратить внимание, что для реализации нескольких проектов одновременно на одной плате имеющихся в базовых наборов проводников может не хватать. Особенно это касается длинных проводов.
Но, что называется, трагедии нет – провода вполне достаются отдельно, причем именно те, которые нужны. Например, в этот набор на выбор можно скомплектовать проводники длинной 10 см, 20 см или 30 см. Доступны провода со штыревым и с гнездовым соединениями.
Сервоприводы
В базовые наборы Arduino входит по одному сервоприводу. Если одной штуки оказывается недостаточно, то недостающие гаджеты вполне можно скомплектовать отдельно. На выбор имеются как базовые SG90, так и более мощные MG90S.
Последняя модель отличается тем, что у нее редуктор сделан не из пластмассы, как у SG90, а с использованием металлических шестеренок. Это позволяет использовать механизм в системах, где предполагается большее усилие, а, значит, и большие нагрузки. Управление же и тем и другим сервоприводом одинаковое.
Модуль для беспроводного управления 433 МГц
Стандартный набор состоит из приемника и передатчика на 433 МГц, либо только из приемника или только из передатчика – на выбор. Штука оказывается полезной для организации беспроводной связи между разными платами. Например, одна может управлять другой, или передавать по радио данные с датчиков.
На основе этого модуля вполне можно организовать радиоуправление простенькой игрушкой. На одну плату ставится джойстик и передатчик, на другую двигатели и приемник. Можно организовать работу и по-другому, все зависит только личной от фантазии.
Wi-Fi модуль
Управление платой Arduino можно организовать и с помощью смартфона. Для этого понадобится расширение в виде Wi-Fi приемопередатчика. Платка-расширение очень простая и компактная.
Занимает всего 14×25 мм. А необходимые библиотеки для взаимодействия с ней главной платы Arduino вместе с примерами доступны в интернете, поэтому ее подключение также не составляет труда.
Модули реле
Для построения систем «умный дом» или для использования Arduino в составе автомобильной электросети важным элементом является реле. Этот элемент позволяет управлять системами с напряжением, большим, чем напряжение питания Arduino и сильноточными электрическими цепями без вреда плате. Без этого элемента не обойтись при управлении мощными электродвигателями или освещением.
На выбор доступны несколько модулей. С одним реле, точно таким же, какой входит в базовые комплекты UNO R3, с одним реле и индикационными светодиодами, с двумя реле, с четырьмя или с восемью. Каждое из них управляется сигналами напряжением 5 вольт, но рассчитано на коммутацию электрических цепей напряжением до 250 вольт при токе 10 ампер или до 125 вольт при токе 15 ампер.
AdblockДрузья, если вам понравилась статья, то ставьте лайк 👍 и добро пожаловать на наш Техно-Блог !
detector