Ардуинщик – Уроки Ардуино — учимся программировать Arduino

Содержание

Arduino сайт на русском для начинающих мастеров ардуино

Ардуино для начинающих

Arduino – это возможность делать сложные и умные вещи просто. Идеальный вариант для первых шагов начинающих технических гениев. Вы можете легко собрать электронные схемы из готовых конструкторов и наборов, загрузить готовую программу, которую можно скачать совершенно бесплатно и начать использовать умное электронное устройство.

Arduino – это электронные платы, к которым можно подсоединять различные датчики, двигатели, экраны и много других электронных компонентов. Плата Ардуино будет управлять этими компонентами с помощью программы, который вы в нее загрузите. Самые популярные платы для начинающих – это Arduino Uno, Arduino Mega, Arduino Nano и Arduino Leonardo. Кроме этого есть множество других вариантов, подходящих для конкретных случаев.

Arduino – это еще и совершенно бесплатная среда программирования Arduino IDE, в которой можно писать программы (скетчи) для контроллера. Программа прошивается в микроконтроллер буквально одним нажатием на кнопку. Никаких особых знаний не требуется! Вы можете даже не писать программу – просто найти и скачать готовый скетч, который просто откроете в Arduino IDE.

Arduino – это сообщество инженеров, всегда готовых помочь советом. Это огромное количество сайтов с документацией, примерами и схемами. Начать можно с официального сайта, но кроме него сегодня появилось огромное количество сайтов на русском с форумом русскоязычных инженеров.

Arduino для детей

Принято считать, что Arduino довольно сложен для детей средней школы, но это не так! Сегодня есть огромное количество инструментов и технологий, позволяющих без проблем преподавать ардуино на кружках робототехники даже самых маленьких! На нашем сайте вы можете найти уроки Ардуино, помогающие сделать первые шаги в электронике, программировании и робототехнике.

Arduino – это целый мир, в котором можно почувствовать себя волшебником. Лучший инструмент для приобщения детей к технологиям и вдохновленного инженерного творчества! Для обучения детей электронике вы можете использовать как отдельные контроллеры Arduino Uno, Mega или Nano, а также наборы и конструкторы ардуино российских и китайских производителей. Обучение детей программированию Ардуино возможно с использованием среды программирования Arduino IDE или же в визуальных средах ArduBlock, S4A, mBlock, основанных на Scratch.

Уроки Arduino. О платформе | AlexGyver Technologies

О платформе

Что же такое Arduino? Формально это – торговая марка, под которой выпускаются официальные платы и софт. Название Ардуино идёт от одноименного названия рюмочной в Италии, где создатели платформы любили пропустить по рюмочке. Предлагаемая Arduino платформа включает в себя железо (сами платы) и софт (среда разработки).

Семейство Ардуино – несколько моделей так называемых отладочных плат. Отладочная плата представляет собой как ни странно печатную плату, в сердце которой стоит микроконтроллер – та самая штука, которую мы будем программировать. Микроконтроллер это микросхема, содержащая в себе микропроцессор, интерфейсы ввода-вывода, память (оперативную и постоянную), таймеры и другие штуки. Да, микропроцессор – это другое, микропроцессор по сути может только выполнять вычисления (как процессор в компьютере), а микроконтроллер – это практически полноценный компьютер, размещенный в одном кристалле микросхемы. В большинстве плат Arduino используются микроконтроллеры серии ATmega от производителя AVR.

Запомнили сразу важную мысль – Ардуино – не микроконтроллер, не процессор, Ардуино – платформа. Плата ардуино это отладочная плата с микроконтроллером.

Железо

Помимо микроконтроллера на отладочной плате стоит обвязка, необходимая для его работы: это кварцевый генератор, задающий частоту работы процессора, и “рассыпуха” – конденсаторы и резисторы, выполняющие фильтрующие и подтягивающие функции.

Arduino “на минималках”: кварц, конденсаторы и прочее

Давайте так: что нужно сделать для того, чтобы собрать устройство на микроконтроллере? Нужно подключить к выходам микроконтроллера необходимые устройства (далее – “железо”), загрузить на микроконтроллер прошивку, которая будет управлять этим железом, и обеспечить всё это дело стабильным питанием. Цель разработчиков ардуино была совместить вышеуказанное с простотой и удобством работы и модульностью, тем самым превратив разработку электронных устройств в мощный универсальный конструктор. Эта цель была достигнута так: на плате, вместе с микроконтроллером, разместили “программатор” для загрузки прошивки, usb порт и стабилизатор питания, позволяющий питать плату от широкого диапазона постоянных напряжений: 5-19 вольт. Микроконтроллеру нужно 5 вольт, что стабилизатор ему и обеспечивает.

Загрузка прошивки

USBasp – ISP программатор для AVR (в том числе Arduino)

Что касается так называемого программатора: изначально способом загрузки прошивки в микроконтроллер является загрузка посредством ISP (in-system programming) программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он дороже и не такой универсальный как тот, который используется в Ардуино. Работает это так: вместо ISP программатора на плате стоит USB-TTL преобразователь, который позволяет Ардуино (на её стороне TTL – транзистор-транзистор логика) буквально общаться с компьютером (на его стороне – USB) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же

  • Загрузчик сидит во Flash памяти и занимает место (около 6%, что довольно-таки много)
  • При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера в течение какого-то времени (пару секунд), прежде чем передать управление имеющейся в памяти программе.

Оба этих минуса решаются частично или полностью:

  • Можно прошить неофициальный загрузчик, который занимает меньше места в памяти и быстрее стартует
  • Можно загружать скетчи напрямую через ISP, в этом случае вообще не будет потери места и задержек при запуске, так как загрузчика вообще не будет в памяти

Возвращаясь к USB-TTL преобразователю: почему именно такой способ загрузки прошивки выбрали разработчики Arduino? Да всё очень просто: микросхема USB-TTL преобразователя стоит дешевле микросхем, могущих в ISP (роль оных обычно выполняют микроконтроллеры), что прилично удешевляет платформу. Но самое главное – использование USB-TTL преобразователя добавляет нам возможность общаться с платой при помощи компьютера (смартфона, планшета) без использования дополнительного железа, т.е. мы можем как управлять какими-то устройствами (если это заложено в коде прошивки), так и получать от Ардуино данные, например показания с датчиков. Но самое-самое главное – это позволяет отлаживать код, вручную, но все таки отлаживать.

Что касается программной части, предоставленной Arduino, то это Arduino IDE (Integrated Development Environment – интегрированная среда разработки), включающая в себя редактор кода, компилятор и всё остальное необходимое для загрузки прошивки в плату. Подробнее о ней поговорим в отдельном уроке.

Модели Ардуино

Платы Arduino

Вот мы и добрались до самих плат Ардуино, которых на данный момент появилось великое множество благодаря открытости платформы: все схемы и исходные коды находятся в открытом доступе, и вы можете сделать свою версию платы и продавать её, чем активно занимаются китайцы. Единственный пункт: слово Arduino – зарегистрированная торговая марка, и свою плату вам придется назвать как-то по-другому, отсюда и появились всякие Искры, Бузины и прочие так называемые Arduino совместимые платы.
Разновидностей плат очень много, но используют они одни и те же модели микроконтроллеров. От модели микроконтроллера зависит объем памяти и количество ног, ну и есть некоторые специальные фишки. На большинстве моделей Arduino стоят 8-битные МК от AVR с кварцевым генератором на 16 МГц (либо ниже), то есть по производительности платы на ATmega не отличаются, отличаются только объемом памяти, количеством ног и интерфейсов/таймеров. Модели Ардуино с МК от производителя ARM, например Arduino DUE, в разы мощнее своих собратьев за счёт 32-битного процессора, но это совсем другая история.

Таким образом вы должны сразу понять, что, например, Ардуино Уно=Нано=Про Мини=Лилипад по своим возможностям и взаимозаменяемости. Или Леонардо=Про Микро. Ссылки на недорогие китайские Ардуины вы можете найти у меня на сайте. Точно там же вы найдёте ссылки на кучу датчиков, модулей и другого железа, которое можно подключить к Arduino. О возможностях ардуино по работе с другими железками поговорим в одном из следующих уроках.

Программирование

Код. Ничего лишнего

Ардуино программируется на языке программирования C (C++) с соответствующим ему синтаксисом. Встроенный сборщик, препроцессор и компилятор (avr-gcc или Win-AVR) прощают большое количество ошибок и делает многое за пользователя автоматически, мы даже об этом не знаем и не задумываемся. Куча базовых функций для управления выводами микроконтроллера, математика и некоторые другие функции/макросы взяты из открытого фреймворка для работы с микроконтроллерами под названием Wiring. Именно из него примерно на 80% состоит базовый набор инструментов (функций) Ардуино. В связи с этим сами разработчики Ардуино называют язык “упрощённым c++”, и даже дали ему отдельное название – Arduino Wiring.

Если вы научитесь свободно прогать на ардуино, и вдруг перейдете к разработке программ на том же C++ в более взрослых средах разработки, вы будете неприятно удивлены тем количеством дополнительного кода, который придется писать руками. И наоборот, если умеющий в плюсы (си-плюс-плюсы) человек посмотрит на типичный ардуино-код, он скажет “да как это вообще работает то?”. Действительно, как это работает? При компиляции кода создаётся отдельный файл, в котором содержится ваш код, дополненный необходимыми настройками и с некоторыми подключенными библиотеками. Во взрослом мире без ардуино-плюшек, если вы, например, хотите использовать вывод в порт, используете в коде работу со строками и математические операции – вам нужно вручную подключать соответствующие модули. Среда Arduino делает это автоматически, мы даже об этом не знаем. Также компиляция кода проходит в несколько этапов, что позволяет например использовать функцию до её объявления. Но об этом поговорим позже.

Сейчас вернёмся к такому понятию, как библиотека. Жизнь рядового ардуинщика неразрывно связана с библиотеками, потому что огромное комьюнити за годы своего существования сделало огромное количество этих самых библиотек на все случаи жизни и для всех продающихся датчиков и модулей. Библиотека это набор файлов, в которых содержится дополнительный код, которым мы можем пользоваться просто ознакомившись с документацией или посмотрев примеры. Такой подход называется “черным ящиком”, мы можем даже не догадываться, какой ужас и кошмар (в плане сложности кода) содержится в библиотеке, но с лёгкостью пользоваться возможностями, который этот код даёт. Купили модуль – нашли библиотеку – открыли пример – всё, результат достигнут…

Холивар

Личинка программиста

В мире серьезных программистов и разработчиков очень не любят ардуино. Почему?

В среде Ардуино работа с микроконтроллером упрощена настолько, что ардуинщику вообще ничего не нужно знать о его архитектуре и о том, как он вообще программируется и настраивается. Все сделано в виде готовых и понятных функций. Это всё конечно хорошо, но скрытый за ширмой дружелюбного “Ардуино Вайринга” код прошивки ужасает: за безобидными на первый взгляд функциями кроются полотна кода, который что-то проверят, перепроверяет, перенастраивает уже настроенное и делает многие другие на первый взгляд ненужные вещи. Зачем это? Упростить начинающему программисту работу, простить все его ошибки и заставить его код просто работать. Стандартные функции очень медленные и не раскрывают всех возможностей микроконтроллера, вы даже не представляете, сколько всего там можно настроить и покрутить.

Второй повод для ненависти, это качество кода. Из-за простых, но понятных стандартных примеров аудитория ардуинщиков выросла очень быстро и буквально завалила интернет своими проектами, завлекая тем самым в это хобби других новичков. 99% учебных примеров, примеров работы с библиотеками и модулями написаны простенько и ужасно не оптимально: int переменные для всего подряд, вездесущий delay, блокирующие циклы и прочее, помимо уже описанных ардуино-функций. Люди берут эти примеры как основу основ и так сами и продолжают дальше писать. Но эти люди стоят на пороге очень большой двери под названием робототехника. Перешагнув через этот порог, отбросив все кривые примеры и научившись грамотно выстраивать структуру кода, они попадают в мир безграничных возможностей для творчества и исследования, мир бесконечно интересных и разнообразных проектов на Arduino.

Видео версия

Важные страницы

  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макро, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете

Реальная правда о Программистах ненавидящих Arduino / Habr

Всем Привет. Особенно Ардуинщики! Да, да. Будущее за Ардуинщиками.
Вы спросите почему? Да легко.

P.S.: Кто не любит читать, для тех есть видео версия на Ютуб канале Alex Link.

Начнем с того что я не программист по образованию, и начинал я с процессора Z80 на Спектрум(Лениград или Синклер), названий много а смысл один.

Да, действительно на Basic было очень медленно, картинку на экран

 выводил за 15-30сек, а на машинном коде(на ассемблере) и глазом моргнуть не успеешь,

 как загружалась на экран. И мало того, раньше не было разнообразия компиляторов, да и какой компилятор если у меня только спектрум. На чём компилировать?

 Я к примеру брал справочник выписывал на листик коды команд, по заранее составленному алгоритму, и заносил вручную в ячейки памяти, ну или простой писал на Бейсике программу для последовательного ввода данных в память.

Я прошел всю эту школу и прекрасно понимаю, что и как работает.

 С тех пор многое изменилось, весь спектрум может поместиться в один контроллер.

 С каждым днем контроллеры набирают мощности. А вот наши программисты, почему то тормозят.

 Они потратили пол жизни мигая светодиодами на первых контроллерах.

 Многие люди Attiny13 возносят до небес, так как на нём можно собрать множество различных устройств, я с эти спорить не буду. Но как только возникал вопрос повторить эти устройства, то мы наблюдаем огромное кол-во форумов с криками о помощи… В основе проблемы это правильно выставить фюзы, ну и конечно же проблема собрать рабочий программатор.


 Это не только c контроллером Attiny13…

 Так же на Арену вышел ATmega8. Вау. Целых 8кб памяти. Это же круто. На нем можно такое сотворить.

 ATmega8 держится на арене долго и уверенно по типа Windows XP.

 Но прогресс не стоит на месте и программисты могут позволить себе ATmega328, но не всегда, всегда поражал один момент — на пиво в продуктовом магазине можно потратить 4$ и не задуматься о цене, а в радиомагазине, почему то жалко лишний 1$ на контроллер. К сожалению это практически у всех так.

 Что происходит дальше.

 Кто не успел, тот опоздал. Кто с детства занимался программированием, тот стал супер программистом, ну а кто бухал и курил, тот может только лицезреть детище Богов (программистов).

 Ними все восхищаются, плавно зажигали светодиоды, выводили циферки на 7-ми сегментные индикаторы, Вау.


 А да, еще мерили температуру и чудом удавалось подключить какой-нибудь экранчик от мобилки, долго играясь с регистрами (но это только избранные).


 Да но что же делать Всем тем людям которые не прошли весь этот путь, но хотят создать что то свое и пускай не сложное.

 Вернуться к самому началу? К самым примитивным контроллерам?, что бы понять, как работают регистры и как, к примеру, выставлять флаги, и не мало важно изучить все режимы фюзов, главное это защитить свою программу мигания диода от копирования, прожигая очередной фюз.

 Благо с появлением интернета в каждом доме и уже в каждом смартфоне Вы можете читать эту статью, а не мало важно вы можете обучаться, не посещая библиотеку в поисках справочников, а не только смотреть на обнажённые тела. В чём то плюс этого, в чём то минус.

 Изучая спрос и желание учится, на арену выходит платформа Arduino на тех же контроллерах ATmega328(ну первый был 168 и ATmega 8).


 Страшный и непонятный код (скажем так «язык Богов») превращается в доступный и простой для понимания язык программирования.


 Благодаря простоте и доступности платформы, сотни тысяч молодых желающих научились и продолжают познавать мир программирования и создания устройств различной сложности. Что говорить, я сам за 1 месяц от мигания светодиодом дошёл до готового устройства на сенсорном цветном экране. Мало того стабильно работает около 3-х лет на производстве.


 И это только за 1 месяц, в место вечерних, просмотров телевизора.

 На то время мой девайс привел в шок старожилов-программистов, которые все ещё игрались с экранами по типу 1602.

Естественно когда программист потратил всю свою жизнь(ну или часть) на изучение архитектур и всех нюансов контроллера, приходит школьник и делает все это с нуля, потратив 1 день.

 «Визжания» программистов против Ардуино похожие на посмертные конвульсии.

 Они просто понимают что их эра прошла, они уже не те боги которые могут все. Теперь им уже не поклоняются так как раньше, а любой школьник может скачать прошивку для любого девайса и прошить его не имея особых навыков.

 Много «визгов» от программистов о «тормознутости» Arduino, но никто не вспоминает или не хочет вспомнить о таких библиотеках как Cyberlib, где уже все ускорили, и все также осталось удобно в оболочке IDE.


 Многие делают вставки Си в IDE оболочку. но это все ещё та же Arduino, и они предусмотрели эту возможность, для тех гурманов кому нужно ну очень быстро. Хотя обычной Arduino, хватает практически для выполнения всех задач.

 И не обязательно вникать в команды, регистры, флаги. Нужно больше скорости. нужна оперативность.

 Пожалуйста, многие корпорации как Intel и Google сотрудничают и выпускают свои версии ну очень не слабых контроллеров до 1ГГц.


 И тут опытный программист попадет в тупик… ему нужно будет изучать архитектуру процессора, команды, и регистры и т.д. Это еще пол жизни. А согласитесь что там уже регистров и команд на много больше, и архитектура сложнее.

 А вот школьник Ардуинщик на таком Arduino соберёт в считанные минуты проект который и не снился программисту.

 По Вашей логике нужно изучать ARM Cortex A8(А10 -20) с его графический процессор Mali 400, что бы что-то серьезное написать на Arduino.


 Пожалуйста изучайте я воспользуюсь готовыми библиотеками и разработками. И поверьте я затрачу меньше времени на создание устройства чем Вы.

 Хотя, Вам запрещено пользоваться такими технологиями пока не изучите каждый регистр и флаг, Вам ведь нужно быстродействие. Все сходится к тому же пиву. Если Вам нужна оперативность, то купите контроллер по-шустрее.

 Arduino платформа захватила под себя такие контроллеры как STM32 и Wi-Fi модули ESP8266.


 Да, да. школьнику не нужно изучать архитектуры этих всех контроллеров, он просто выбирает нужный контроллер для своих запросов, и без особого «напряга» их программирует, наслаждаясь созданием программы и готовым результатом в короткие сроки, и заметьте там уже не 16МГц.

 А Вы бывшие боги… только продолжаете «визжать» в сторону Arduino, тыкая все в тот же примитивный ATmega328.

Посмотрите правде в глаза. Вы устарели со своими взглядами, и вы больше не монополисты в области программирования.

 Вам остается говорить как бабкам возле подъезда, -«Вот раньше были времена».

 Хотя нет… В связи с ростом популярности Arduino, у Вас все еще есть выбор: — Либо сидеть и визжать как бабульки, либо быть в тренде, и стараться помочь в оптимизации Arduino платформ, внести свой полезный вклад в общество.

 Я с уважением отношусь к тем программистам, которые создают и развивают платформу Arduino, которые хоть как то повлияли на развитие и внедрение её в массы. Благодаря им многие люди могут проявить свое творчество, и получить желаемые гаджеты созданные своими руками не прибегая к заказам супер дорогих программистов.

Я сам не раз обращался к программистам, на что мне называли заоблачные цены и кол-во заказа не меньше 100шт.

 Всегда поражал ещё один момент… телефоны мы покупаем все круче и круче, от монохромных – кнопочных до цветных сенсорных, восьми-ядерных. Почему вам не жалко купить телефон до и выше 100$, а когда речь заходит о контроллере то мы ищем, где на 10 центов дешевле, а выдавить пытаемся с него все соки. Задумайтесь об этом.

Так что Arduino это круто. Помните, под любую задачу есть свой контроллер. Не пытайтесь сэкономить 1$ на контроллере, потратив несколько месяцев на изучение команд и регистров, что бы написать более компактный и быстродействующий код.

 Сэкономьте лучше на пиве и сигаретах.

 На сегодняшний день ATTiny 13 и Atmega8 уже не актуальны, из-за своих цен и мощности. Не живите прошлым, шагайте в будущее.

 С Вами Был Alex Link. Удачи ВАМ.

Что такое Ардуино? Это свобода для изобретателя

Ардуино нано для начинающихАрдуино — это плата с процессором, которая позволяет собрать любое устройство/гаджет. Благодаря Arduino своими руками можно собрать даже свой собственный «умный дом».

Arduino — это эффективная аппаратно-программная платформа для проектирования и создания новых устройств, разработанная компанией Arduino Software и представляет собой плату с контактами для подключения дополнительных компонентов. Технические характеристики устройства зависят от модели используемого микроконтроллера. Это касается совместимости с дополнительными компонентами. Последнее обновление программной части 1.8.0 было выпущено 20 декабря 2016 года.

Arduino Uno R3Arduino Uno R3

Бесплатная программная интегрированная среда разработки создана на базе языков программирования C/C++ и обладает одноимённым с самим устройством название. Наличие Ардуино-совместимых плат расширяет пользовательские возможности разработки с применением аппаратных и программных компонентов.

После того как вы приобрели плату Ардуино и решили что-то сделать — изучите наш полезный и подробный материал Ардуино Нано для начинающих, где мы подробно описали все основные шаги по работе с платой и установке необходимого программного обеспечения. Также вы можете сразу перейти к Урокам или посмотреть лучшие Публикации.

Что можно создать при помощи Ардуино?

На базе Arduino можно создаются автономные и подключаемые к компьютеру проекты. Миллионы возможных комбинаций элементов программы ограничиваются только человеческой фантазией. Устройство способно получать и обрабатывать данные об окружающем мире, используя присоединяемые и программируемые датчики.

Вы можете запрограммировать систему быстро среагировать на определённое изменение, управлять светом, движущимися элементами, моторчиками и разнообразными приводами. Система подходит для домашнего и промышленного использования.

Рынок дополнительных плат постоянно обновляется, появляются новые инновационные разработки. Этому способствует полностью открытая архитектура системы. Программный код записывается на саму плату, благодаря встроенному в процессор программатору. Однако, проект может выполняться с компьютера, используя проводные или беспроводные источники передачи данных.

При их отсутствии можно приобрести дополнительный модуль, добавляющий новые функции. Большая открытая база готовых проектов и чертежей CAD открывает пользователю возможности для углублённого изучения среды, порождая новые идеи для создания собственного устройства.

Преимущества работы с Arduino

Как уже было сказано ранее, Ардуино обладает открытой архитектурой, что позволяет сторонним разработчикам полностью копировать систему. Несмотря на высокую конкуренцию, Ардуино — самое популярное аппаратно-программное средство. Это достигается благодаря простоте с многофункциональностью. Рассмотрим преимущество системы над сторонними аналогами:

  • плата обладает встроенным программатором, что позволяет использовать систему без дополнительного подключения дешифратора и компилятора;
  • программная часть построена на базе C/C++, что делает её простой в использовании и изучении;
  • наличие библиотеки готовых проектов и чертежей CAD, доступных для свободного использования;
  • для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной доски, перемычек и проводов;
  • возможность автономной работы расширяет сферу применения устройства;
  • наличие версии для работы с популярной мобильной операционной системой Android;
  • большое количество дополнительных модулей как от разработчика, так и от сторонних производителей.

Создание проекта с Arduino — одно удовольствие. Дружелюбная система, наличие готовых проектов и видеоуроков и простая среда разработки позволяют реализовать даже ваши самые невероятные задумки.

Работа с Arduino IDE: что и зачем

Для работы платы и вашего будущего проекта необходимо написать и загрузить на Arduino скетч. Скетч (sketch) — программа, написанная специально для Adruno. Для выполнения данного пункта вам понадобятся:

  • ардуино;
  • USB-кабель Type-A;
  • устройство, работающее на ОС Windows.

Скачайте Arduino IDE — бесплатную среду разработки для Ардуино с официального сайта производителя. Вместе с программой автоматически установятся драйвера для определения девайса при подключении к USB-порту. Если же Ардуино не определится — произведите ручную установку необходимых компонентов.

На схеме должен загореться зелёный светодиод при подключении к USB. Запустите приложение и приступайте к созданию собственного скетча. Проверка работоспособности и совместимости Arduino с ПО можно проверить при помощи встроенного скетча «LED». Запуск данного процесса должен вызвать мигание светодиода.

В меню Tool — Board выберите используемую плату. Далее следует загрузка скетча в Arduino при помощи кнопки «Upload». Успешное завершение данной операции подтверждается миганием светодиода оранжевого цвета на плате. Для подробного изучения Arduino IDE создано множество англоязычных и отечественных ресурсов, где рассказывается что такое Ардуино и как с ним работать.

Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++. Данная возможность расширяет применение компонентов, добавляя новый функционал.

Платы и модули, раскрывающие функционал Arduino

Платы Ардуино различаются в частоте процессора, объемах памяти и поддерживаемых архитектурах. Можно выделить следующие модели:

  • Arduino Uno. Хорошее решение для начинающих пользователей и простых проектов. Поддерживает работу с Windows, Linux и MacOS. Встроенный микропроцессор работает на частоте 16 МГц, обладает 32 Кб встроенной памяти. Включается в комплекты для начинающих;
  • Arduino Yun. Комплект с встроенным портом Ethernet и модулем WiFi. Оптимизирован для работы с семейством Linux. Подойдёт для работы как с любительскими, так и промышленными проектами;
  • Arduino ADK. Устройство оптимизировано для работы с платформой Android. Хорошая совместимость и уникальный программный комплект позволяют создать проект, управляемый с мобильного телефона;
  • Arduino Due. Улучшенная версия, работающая на мощном 32 битном ARM процессоре с тактовой частотой 84 МГц. В плату установлено 96 Кб SRAM и 512 Кб флеш-памяти.
  • Arduino Nano. Одна из самых миниатырных, но очень полезных и популярных плат особенностью которой является разъем USB.

Это далеко не вся линейка плат. Существуют и другие модификации, созданные для выполнения разнообразных целей. Перед приобретением платы нужно заранее продумать будущий проект и выявить требующиеся технические характеристики. Полностью раскрыть потенциал Arduino позволяют дополнительные модули, подключающиеся к PIN-слотам центральной платы. Наиболее интересные и популярные модули расширения, они же шилды:

  • 3D-джойстик. Своеобразный программируемый 3D-стик, способный стать способом управления спроектированного механизма или робота;
  • Bluetooth-модуль. Даёт возможность управления механизмом или обменом данными через Bluetooth;
  • EasyVR Shield 3.0. Разработка, служащая для распознавания голосовых команд;
  • Espruino Pico. Контролер, позволяющий выполнять Java-скрипты, расширяя варианты применения платы;
  • GPRS Shield. Расширение, позволяющее принимать и отправлять голос, SMS и GPRS-данные;
  • Motor Shield. Подключаемый модуль, позволяющий программно управлять двумя моторчиками;
  • Power Bank. Аккумулятор для переносных компактных модулей на 2000 МАч.

Рассмотрев список выше, вы уже представили множество вариантов применения дополнительных модулей. Это далеко не весь список, а лишь популярные и распространённые устройства. Существуют разнообразные подключаемые картридеры, акселерометры, передатчики и модули для разнообразных сфер жизнедеятельности. Andruino начинает эффективно применяться даже в медицине.

Шилды присоединяются друг к другу методом постройки башни. Нужные платы кладутся друг на друга, что положительно сказывается на компактности устройства и отсутствию потребности в дополнительных проводах и пайке.

С чего начать?

Рекомендуем вам начать с самых простых проектов для начинающих в Ардуино:

Мы узнали что такое Ардуино и сферы его применения. Разработка систем зависит от вашей фантазии, а дополнительные компоненты способствуют достижению поставленной цели.

Небольшая цена, доступность модулей и открытая база данных помогут в реализации задумки. Готовый проект может быть как автономным, так и переносным. Наличие портативных аккумуляторов и беспроводных источников передачи данных способствуют созданию расширенной сети из группы плат и компьютеров.

Доступный язык программирования обладает возможностью установки дополнительных компонентов и библиотек. Модули добавляют возможность работы с Java. Покупайте комплект Ардуино для начинающих и реализовывайте ваши задумки! Ваша фантазия безгранична, а Arduino позволит её воплотить.

Сайт Ардуино+ (arduinoplus.ru) создан для того, чтобы помочь начинающим и профессиональным любителям радиоэлектроники в создании проектов различной сложности. Огромное количество библиотек, распиновка разных плат и устройств, библиотеки сенсоров и датчиков. Всё это включает в себя не только информацию про платы Ардуино, но и про многие-многие микроконтроллеры и устройства.

Что такое Arduino и что с ним можно сделать 🚩 что такое arduino uno 🚩 Электроника

Arduino — это маленькое электронное устройство, состоящее из одной печатной платы, которое способно управлять разными датчиками, электродвигателями, освещением, передавать и принимать данные… Arduino — это целое семейство устройств разных размеров и возможностей. А также это целый зоопарк клонов Ардуино и мир ардуино-совместимых устройств. Но давайте обо всём по порядку.

Мозг Arduino — это микроконтроллер семейства Atmega. Микроконтроллер представляет из себя микропроцессор с памятью и различными периферийными устройствами, реализованный на одной микросхеме. Фактически это однокристальный микрокомпьютер, который способен выполнять относительно простые задачи. Разные модели из семейства Arduino оснащены разными микроконтроллерами.

Atmega 328 - мозг Arduino UNO

На фото микроконтроллер Atmega328. Такие микроконтроллеры стоят на Arduino UNO и Arduino Nano (но в другом корпусе).

Но какой толк от мозга, если он не имеет рук? Руками в данном случае служат электрические выводы, размещённые по периметру платы Arduino. Есть платы с большим количеством выводов, есть с меньшим. Например, самая большая плата в семействе Ардуино — Arduino Mega — имеет более 70 независимых выводов, а самая маленькая — Arduino Pro Mini — всего 22 вывода.

Сравнение Arduino Mega и Arduino Pro Mini

На фотографии показаны в сравнении Arduino Mega и Arduino Pro Mini.

Не все выводы у Arduino одинаковые. Есть выводы цифровые, а есть аналоговые. Принципиальная разница между ними в том, что на цифровых выводах может быть только два значения: либо логическая 1 (TRUE, от 3 до 5 вольт), либо логический 0 (FALSE, от 0 до 1,5 вольт), а на аналоговых выводах — диапазон от логической 1 до 0 разбит на множество мелких участков.

Зачем это нужно? Давайте рассмотрим такой наглядный пример. Если подключить к цифровому выводу Arduino светодиод и подать на вывод логическую 1, то светодиод загорится с максимальной яркостью; если подать 0 — светодиод погаснет. Никаких промежуточных вариантов нет. Если светодиод подключить к аналоговому выводу, то яркостью светодиода можно управлять плавно. На практике к аналоговым выводам чаще всего подключаются какие-либо аналоговые датчики.

В итоге такое количество рук у Arduino позволяет подключать к нему огромное количество различных периферийных устройств. Среди них, например:

  • кнопки,
  • светодиоды,
  • микрофоны и динамики,
  • электродвигатели и сервоприводы,
  • ЖК дисплеи,
  • считыватели радиометок (RFID и NFC),
  • ультразвуковые и лазерные дальномеры,
  • bluetooth, WiFi и Ethernet модули,
  • считыватели SD карт,
  • GPS и GSM модули…

А также десятки различных датчиков:

  • освещённости,
  • магнитного поля,
  • гироскопы и акселерометры,
  • датчики дыма и состава воздуха,
  • температуры и влажности и многое, многое другое.

Разнообразные датчики, подключаемые к Arduino

Всё это превращает Arduino в универсальное ядро системы, которое может быть сконфигурировано совершенно разнообразными способами. Хотите сделать радиоуправляемую кормушку для питомца? Пожалуйста! Хотите чтобы при начале дождя у вас на лоджии закрывалось окно? Пожалуйста! Хотите управлять яркостью освещения в комнате со смартфона? Запросто!

На фотографии показана лишь крохотная часть периферийных устройств, которые можно подключить к Arduino. На самом деле их гораздо, гораздо больше.

Как же процессор узнаёт, что именно ему следует делать? Вы должны рассказать ему это. Существует язык для общения с микроконтроллером, упрощённый и адаптированный специально для Arduino. Освоить этот язык совсем не сложно при желании и определённой настойчивости, даже если вы никогда раньше не программировали.

Написание сообщений для Arduino называется программирование. И для упрощения этого процесса разработана специальная программная среда — Arduino IDE. В её состав включены десятки примеров хороших, работающих программ. Изучив их, вы очень быстро многое узнаете о языке общения с Arduino.

Внешний вид Arduino IDE

Arduino позволит вашим программам выйти из виртуального мира в мир реальный. Вы сможете увидеть, как написанные вами программы заставляют мигать светодиод или вращать вал двигателя, а затем делать и более сложные и полезные вещи. Arduino позволит вам узнать много нового и интересного и в электронике, и в программировании. В итоге это может стать вам отличным хобби, увлекательным занятием с детьми, замечательным и полезным времяпровождением.

● Уроки и проекты Arduino

Что такое Arduino?

Платформа Ардуино пользуется огромной популярностью во всем мире благодаря удобству и простоте языка программирования, а также открытой архитектуре и программному коду. Плата Arduino состоит из микроконтроллера Atmel AVR и элементов обвязки для программирования и интеграции с другими схемами. Подробнее …

Первое включение. Установка Arduino IDE

Разработка собственных приложений на базе плат, совместимых с архитектурой Arduino, осуществляется в официальной бесплатной среде программирования Arduino IDE. Среда предназначена для написания, компиляции и загрузки собственных программ в память микроконтроллера. Подробнее …

Самый главный компонент любой умной системы – его контроллер. Контроллер предназначен для получения информации и управления умным домом. В нашем наборе два контроллера! Это плата Arduino MEGA и модуль NodeMCU v3 Lua WI-FI ESP8266 Ch440. Вы можете выбрать любой из них. Подробнее …

В предыдущих главе мы рассмотрели мы сделали большие шаги построения умного дома – оснастили его датчиками и исполнительными устройствами и создали и обеспечили определенную степень автоматизации для создания комфорта и безопасности. Теперь пришло время сделать наш умный дом устройством IoT (Интернета вещей), чтобы получить доступ к нему для мониторинга и управления из любой точки мира по сети интернет. Организуем доступ контроллеров нашего дома к сети интернет. Подробнее …

Arduino проект 33: Модуль GPS. Принцип работы, подключение, примеры

В этом эксперименте рассмотрим работу модуля GPS-приемника, позволяющего определять наше местоположение с помощью глобальной системы GPS, и подключение данного приемника к плате Arduino. GPS (Global Positioning System) – это система, позволяющая с точностью не хуже 100 м определить местоположение объекта. Подробнее …

Arduino проект 32: Беспроводная связь. Модуль GSM/GPRS SIM900

В этом эксперименте рассмотрим работу модуля GSM/GPRS Shield – платы расширения, позволяющей Arduino работать в сетях сотовой связи по технологиям GSM/GPRS для приёма и передачи данных, SMS и голосовой связи. GSM/GPRS Shield на базе модуля SIMCom SIM900 выпускают несколько производителей, и платы имеют незначительные отличия. Также на некоторых платах расположены: слот для SIM-карты, стандартные 3,5 мм джек для аудиовхода и выхода и разъём для внешней антенны. На плате GSM/GPRS shild имеется несколько перемычек, позволяющих выбрать тип serial-соединения. Подробнее …

В этом эксперименте рассмотрим работу модуля Bluetooth HC-05, позволяющего плате Arduino установить беспроводную связь и обмениваться данными с другими устройствами по протоколу Bluetooth. Bluetooth позволяет объединять в локальные сети любую технику: от мобильного телефона и компьютера до холодильника. При этом одним из немаловажных параметров новой технологии являются низкая стоимость устройства связи (в пределах 20 долларов), его небольшие размеры. Подробнее …

В этом эксперименте мы познакомимся с модулем ESP8266, с помощью которого можно подключить плату Arduini к сетям Wi-Fi, и напишем скетч для передачи данных датчика температуры на веб-сервис Народный мониторинг. Платы на ESP8266 – это не просто модули для связи по Wi-Fi. Чип, по сути, является микроконтроллером со своими интерфейсами SPI, UART, а также портами GPIO, а это значит, что модуль можно использовать автономно без Arduino и других плат с микроконтроллерами. Подробнее …

В этом эксперименте мы покажем, как нашей плате Arduino получить доступ к сети Интернет с помощью модуля Ethernet shield W5100. Ethernet Shield позволяет легко подключить вашу плату Arduino к локальной сети или сети Интернет. Он предоставляет возможность Arduino отправлять и принимать данные из любой точки мира с помощью интернет-соединения. Подробнее …

В этом эксперименте мы покажем, как плата Arduino получает доступ к данным RFID-карт и брелоков Mifare с помощью RFID-считывателя RC522C. Идентификация объектов производится по уникальному цифровому коду, который считывается из памяти электронной метки, прикрепляемой к объекту идентификации. Считыватель содержит в своем составе передатчик и антенну, посредством которых излучается электромагнитное поле определенной частоты. Подробнее …

В этом эксперименте мы покажем, как к плате Arduino подключить SD-карту. Если вашим Аrduino-проектам не хватает памяти, а объем энергонезависимой памяти EEPROM в платах Arduino совсем небольшой, можно использовать внешние носители. Один из самых простых по подключению к платам Arduino – это SD-карта. Можно подсоединиться к SD-карте напрямую, а можно использовать модули. Подробнее …

В этом эксперименте мы рассмотрим модуль часов реального времени на микросхеме DS1307. Микросхема Dallas DS1307 представляет собой часы реального времени с календарем и дополнительной памятью NW SRAM (56 байт). Микросхема подключается к микроконтроллеру при помощи шины I2C. Количество дней в месяце рассчитывается с учетом високосных лет до 2100 г. В микросхеме DS1307 имеется встроенная схема, определяющая аварийное отключение питания Подробнее …

В этом эксперименте мы организуем беспроводную ИК-связь, которая нам позволит отправлять на плату Arduino команды с помощью любого ИК-пульта. В качестве приемника будем использовать микросхему TSOP31236. В одном корпусе она объединяет фотодиод, предусилитель и формирователь. На выходе формируется обычный ТТЛ-сигнал без заполнения, пригодный для дальнейшей обработки микроконтроллером. Подробнее …

В этом эксперименте мы познакомимся с акселерометром и гироскопом и будем с помощью Arduino получать показания с этих датчиков. Модуль GY-521 на микросхеме MPU6050 содержит гироскоп, акселерометр и температурный сенсор. На плате модуля GY-521 расположена необходимая обвязка MPU6050, в том числе подтягивающие резисторы, стабилизатор напряжения на 3,3 В с малым падением напряжения с фильтрующими конденсаторами. Обмен с микроконтроллером осуществляется по шине I2C. Подробнее …

В этом эксперименте мы рассмотрим ультразвуковой датчик для измерения расстояния и создадим проект вывода показаний датчика на экран ЖКИ Wh2602. Ультразвуковой дальномер HC-SR04 – это помещенные на одну плату приемник и передатчик ультразвукового сигнала. Излучатель генерирует сигнал, который, отразившись от препятствия, попадает на приемник. Измерив время, за которое сигнал проходит до объекта и обратно, можно оценить расстояние. Подробнее …

В этом эксперименте мы рассмотрим ультразвуковой датчик для измерения расстояния и создадим проект вывода показаний датчика на экран ЖКИ Wh2602. Серия MQ-сенсоров для Ардуино, построены на базе мини-нагревателя внутри и используют электрохимический сенсор. Они чувствительны для определенных диапазонов газов и используются в помещениях при комнатной температуре. Подробнее …

В этом эксперименте мы рассмотрим датчик для измерения относительной влажности воздуха и температуры DHT11 и создадим проект вывода показаний датчика на экран ЖКИ Wh2602. Датчик DHT11 состоит из емкостного датчика влажности и термистора. Кроме того, датчик содержит в себе простенький АЦП для преобразования аналоговых значений влажности и температуры. Подробнее …

Arduino проект 20: Датчик температуры DS18B20

В этом эксперименте мы рассмотрим подключение к Arduino шагового двигателя. Шаговые двигатели представляют собой электромеханические устройства, задачей которых является преобразование электрических импульсов в перемещение вала двигателя на определенный угол. ШД нашли широкое применение в области, где требуется высокая точность перемещений или скорости. Подробнее …

В этом эксперименте мы рассмотрим подключение к Arduino двухосевого аналогового джойстика. Для плат Arduino существуют модули аналогового джойстика, имеющие ось X, Y (потенциометры 10 кОм) и дополнительную кнопку – ось Z. Джойстик позволяет плавно и точно отслеживать степень отклонения от нулевой точки. Сам джойстик подпружиненный, поэтому он будет возвращаться в центральное состояние после его отпускания из определенной позиции. Подробнее …

Сервопривод управляется с помощью импульсов переменной длительности. Угол поворота определяется длительностью импульса, который подается по сигнальному проводу. Это называется широтно-импульсной модуляцией. Сервопривод ожидает импульса каждые 20 мс. Длительность импульса определяет, насколько далеко должен поворачиваться мотор. Подробнее …

В этом эксперименте мы рассмотрим графический дисплей Nokia 5110, который можно использовать в проектах Arduino для вывода графической информации. Жидкокристаллический дисплей Nokia 5110 – монохромный дисплей с разрешением 84×48 на контроллере PCD8544, предназначен для вывода графической и текстовой информации. Питание дисплея должно лежать в пределах 2.7–3.3 В (максимум 3.3 В, при подаче 5 В на вывод VCC дисплей может выйти из строя). Но выводы контроллера толерантны к +5 В, поэтому их можно напрямую подключать к входам Arduino. Немаловажный момент – низкое потребление, что позволяет питать дисплей от платы Arduino без внешнего источника питания. Подробнее …

Arduino проект 15: Индикатор LCD1602. Принцип подключения, вывод информации на него

В этом эксперименте мы познакомимся с аналоговым датчиком для измерения температуры LM335. LM335 – это недорогой температурный чувствительный элемент с диапазоном от –40 °C до +100 °C и точностью в 1 °C. По принципу действия датчик LM335 представляет собой стабилитрон, у которого напряжение стабилизации зависит от температуры. Подробнее …

В этом эксперименте мы познакомимся с аналоговым датчиком для измерения освещенности – фоторезистором. Распространённое использование фоторезистора – измерение освещённости. В темноте его сопротивление довольно велико. Когда на фоторезистор попадает свет, сопротивление падает пропорционально освещенности. Подробнее …

В этом эксперименте мы познакомимся с реле, с помощью которого с Arduino можно управлять мощной нагрузкой не только постоянного, но и переменного тока. При подключении реле к Arduino контакт микроконтроллера не может обеспечить мощность, необходимую для нормальной работы катушки. Поэтому следует усилить ток – поставить транзистор. Для усиления удобнее применять n-p-n-транзистор. Подробнее …

В этом эксперименте мы познакомимся с транзистором MOSFET и с помощью него будем управлять мощной нагрузкой – электродвигателем. Выводы Arduino, сконфигурированные как OUTPUT, находятся в низкоимпедансном состоянии и могут отдавать 40 мА в нагрузку и не в состоянии обеспечить питание мощной нагрузки и большого напряжения. Одним из способов управления мощной нагрузкой является использование полевых MOSFET-транзисторов. Подробнее …

В этом эксперименте мы произведем генерацию звуков на Arduino c помощью пьзоизлучателя. Пьезоизлучатели бывают двух типов – со встроенным генератором и без. Пьезоизлучатели со встроенным генератором излучают фиксированный тональный сигнал сразу после подачи на них номинального напряжения. Они не могут воспроизводить произвольного сигнала. Подробнее …

В этом эксперименте мы рассмотрим каскадное подключение нескольких микросхем 74HC595, что позволит, используя 3 вывода Arduino, управлять множеством контактов, что будет продемонстрировано в примере вывода фигур на экран светодиодной матрицы 8×8. В эксперименте будем использовать двухцветную светодиодную матрицу FYM-23881BUG-11. Подробнее …

Arduino проект 8: Микросхема сдвигового регистра 74НС595. Управляем матрицей из 4 разрядов, экономим выходы Arduino

В этом эксперименте мы рассмотрим работу Arduino с 4-разрядной семисегментной матрицей. Получим представление о динамической индикации, позволяющей использовать одни выводы Arduino при выводе информации на несколько семисегментных индикаторов. Предназначена для одновременного вывода на матрицу 4 цифр, также есть возможность вывода десятичной точки. Подробнее …

Arduino проект 6: Семисегментный индикатор одноразрядный. Выводим цифры

Arduino проект 5: RGB-светодиод. Широтно-импульсная модуляция. Переливаемся цветами радуги

Arduino проект 4: Светодиодная шкала 10 сегментов. Вращением потенциометра меняем количество светящихся светодиодов

В этом эксперименте мы познакомимся с потенциометром и будем управлять яркостью светодиода и изменением сопротивления потенциометра. Сейчас мы рассмотрим, как подобрать ограничительный резистор и как будет влиять номинал резистора на яркость светодиода. Подробнее …

Это эксперимент по работе с кнопкой. Мы будем включать светодиод по нажатии кнопки и выключать по отпускании кнопки. Рассмотрим понятие дребезга и программные методы его устранения. При использовании Arduino в качестве входов используют pull-up- и pulldown-резисторы, чтобы вход Arduino не находился в «подвешенном» состоянии (в этом состоянии он будет собирать внешние наводки и принимать произвольные значения), а имел заранее известное состояние (0 или 1). Подробнее …

В этом эксперименте мы научимся управлять светодиодом. Заставим его мигать. Светодиод – это полупроводниковый прибор, преобразующий электрический ток непосредственно в световое излучение. По-английски светодиод называется light emitting diode, или LED. Подробнее …


Источник: m-gen.ru