16.09.2024

Ардуино микроконтроллер: Микроконтроллер Arduino: характеристики, возможности, проекты

Содержание

Микроконтроллер Arduino: характеристики, возможности, проекты

Ардуино – один из популярнейших микроконтроллеров для создания разнообразных автоматизированных систем. Благодаря множеству библиотек и вспомогательных модулей на любой вкус, будь то датчик движения или wi-fi адаптер, плата стала любимцем конструкторов.

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

Характеристики МК Arduino

В зависимости от того, какой микроконтроллер Ардуино вы приобрели, его характеристики будут различаться. Так, в Arduino micro pro чуть больше пинов и другой объём постоянной памяти, что позволяет подгрузить дополнительные библиотеки.

Но, в целом, любой микроконтроллер этой системы представляет собой простое AVR устройство с уже заготовленной прошивкой. Пользователю остаётся лишь добавить подходящие библиотеки или использовать уже имеющиеся. После чего можно моментально приступать к работе. На всех платах имеется USB-UART порт для упрощения работы с устройством.

Достоинствами Ардуино являются:

  1. Библиотеки, которые создаются не только авторами платы, но и сообществом. Благодаря этому можно найти подходящий инструментарий под любую задачу. Но здесь кроется и главный недостаток. Никто не контролирует качество кода, и в результате большую часть библиотек из свободного доступа вам придётся вручную модифицировать или переписывать десятки раз. Поэтому многие предпочитают самостоятельно написать код и базовый функции, если есть такая возможность.
  2. Небольшие размеры Ардуино микро. Это позволяет создавать профессиональные платы, не занимающие большого пространства в корпусе конечного изделия. А габариты крайне важны во всех сферах, от умного дома до создания собственной теплицы.
  3. Большое количество модулей. На микроконтроллер Arduino вы найдёте любой необходимый модуль. Будь то датчик дыма или освещённости, и даже небольшой динамик. Помимо этого, можно и сэкономить, ведь периферию создаёт само сообщество, благодаря чему можно покупать дополнительные микроконтроллеры за копейки.
  4. Низкий порог вхождения. Чтобы обучиться работе с Ардуино, вам потребуется парочка свободных вечеров. Даже если ранее вы не занимались радиотехникой и никогда не паяли, а программирование для вас остаётся необъяснимой магией. Дело в том, что большая часть общественных библиотек написана наподобие высокоуровневых языков программирования. Для управления системой достаточно знать английский на разговорном уровне и хоть примерно представлять, на что вообще способна Ардуино микро про.

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

Плата Ардуино pro mini и сенсор расстоянияПлата Ардуино pro mini и сенсор расстояния

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

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

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

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

Аппаратная часть Arduino

Для начала стоит уяснить, что собой представляет микроконтроллер. По логике, это небольшое устройство, к которому подключаются все остальные элементы системы. Ардуино должен координировать их работу при помощи прописанных в нём скриптов, выдавая соответствующие электрические сигналы. Для стандартного МК Ардуино сигналом является 5 вольт – это единичка, а отсутствие сигнала – нолик.

Именно на таком принципе построено программирование двоичным кодом. Но от такой системы мы уже давно ушли, и потому к устройству можно подключать трансформаторы переменного тока и дополнительные резисторы, ведь некоторым модулям требуется ток в 3.2-4.7 Вольт.

Соответственно, аппаратная часть Ардуино в стандартной комплектации представлена чипом с постоянной памятью, набором из резисторов и транзисторов, а также несколькими пинами. Такая простая конструкция позволяет пользователю самому навешивать «улучшения» по необходимости.

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

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

Язык программирования Arduino

Ардуино полностью построен на низкоуровневом языке С++, у которого имеются как свои почитатели, так и ненавистники. Перед тем, как разобрать его достоинства и недостатки, стоит понять, что любой мультипарадигмальный ЯП (язык программирования, способный решать различные задачи, используя базовые парадигмы) является лишь инструментом.

Даже самый неудобный и кривой ЯП в руках хорошего специалиста способен на всё, чему существуют тысячи подтверждений. Но если рассматривать плюсы С++, то мы получим:

  1. Мультипарадигмальность языка. Вы можете применять как ООП, так и более сложные его вариации, и писать простейшие функции с переменными. На С++ построены все базовые алгоритмы сортировки и поиска, а соответственно, легкореализуемы.
  2. Большое количество информации. С++ применяется во всех сферах программирования, от создания игр и программ до написания базовых прошивок для процессоров и плат. Именно последние нам и нужны на Ардуино.
  3. Язык является крайне пластичным. В отличие от Java, поклонники которого часто критикуют отсутствие «подушек безопасности» этого ЯП, С++ даёт вам полную свободу, вплоть до контроля ресурсов, расходуемых на каждую операцию.

Из его главных достоинств выплывают и некоторые недостатки:

  1. Отсутствие «подушек безопасности». Другие языки всячески защищают пользователя, не давая компилятору обработать код, пока не проверят тысячи параметров. И сюда входит не только семантика языка, но и переменные, расход памяти и некоторые элементы алгоритмов. Это вынуждает подстраиваться под особенности компиляторов и делать «костыли», но вот отсутствие такой защиты заставляет вас часами выискивать ошибку в функции.
  2. Нет нормального отображения ошибки. Даже в современных средах программирования на С++ поиск одной ошибки может занять у вас несколько часов, пока не выяснится, что по какой-то причине цикл с предусловием не захотел воспринимать «!=», как отрицание. Или вы случайно создали непрерывную рекурсию, забыв написать один «return». И когда объёмы кода увеличиваются, таких мелких ошибок накапливается масса, а вспомнить каждую функцию, написанную для библиотеки, и уж тем более найти, какая из них конфликтует с новой, не так и просто. Здесь не помогает ни хорошо организованный DOM, ни своевременные комментарии.

Однако, если вас всё же не устраивают особенности этого языка, то всегда можно испытать С99, применяемый на микроконтроллерах конкурентов. Там все недостатки усугубляются в разы, а библиотеки функций становятся поистине непонятными.

Что может микроконтроллер Arduino

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

Интересные проекты на базе МК Arduino

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

  1. Умный дом. Практически каждый элемент умного дома можно создать собственными руками. От автоматических штор и дверей до сигнализаций и регулируемого освещения.
  2. Кодовые замки. Проект простой, и подойдёт для новичков. Достаточно использовать любой датчик и сделать замки, реагирующие на определённый ритм постукиваний или же на приближение вашего смартфона.
  3. Автоматизированные теплицы.

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

Уроки 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) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же bootloader), который умеет ловить данные, идущие с компьютера и загружать их во Flash память микроконтроллера. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера, мол желает ли тот загрузить новую прошивку. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти МК прошивку. Отсюда вытекает несколько минусов:

  • Загрузчик сидит во 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-битного процессора, но это совсем другая история.

ПараметрATtiny85ATmega328ATmega32u4ATmega2560
Кол-во ног83244100
Из них доступны5232486
Flash память8 Kb32 Kb32 Kb256 Kb
EEPROM память512 bytes1 Kb1 Kb4 Kb
SRAM память512 bytes2 Kb2.5 kB8 Kb
Каналов АЦП3 (4 с rst)6 (8 в SMD корпусе)1216
Каналов PWM36715
Таймеры2х 8bit2х 8bit2х 8bit2х 8bit
  1х 16bit2х 16bit4х 16bit
Serial интерфейсНетх1х1х4
I2C интерфейсНетДаДаДа
Прерывания1 (6 PCINT)2 (23 PCINT)5 (44 PCINT)8 (32 PCINT)
Платы на его основеDigispark, LilyTinyUno, Nano, Pro Mini, Lilypad, StrongLeonardo, Micro, Pro Micro, BS MicroMega, Mega Pro

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

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


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

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

Тут следует отделить мух от котлет: “из коробки” в Arduino IDE нам доступна огромная куча различных функций и инструментов:

  • Все возможности языка C++, которые предоставляет компилятор: типы данных, операторы и вообще весь необъятный синтаксис. Мы программируем на том же C++, на котором можно программировать в любом другом месте.
  • “Ядро” Ардуино – библиотека Arduino.h, которая автоматически подключается в код. В ней содержатся функции для управления пинами, интерфейсами, а также имеется набор всяких полезных функций и инструментов. А ещё оно отвечает за инициализацию и настройку периферии микроконтроллера при запуске. В ядре кстати лежат стандартные библиотеки для Serial, Wire, SPI и EEPROM.
  • В папке с программой лежит набор стандартных библиотек: для LCD дисплея, шаговика, сервопривода и некоторых других железок.
  • С компилятором идёт набор низкоуровневых библиотек для AVR (сон, progmem, watchdog и многие другие).
  • Компилятор позволяет работать с микроконтроллером “напрямую” при помощи регистров и чтения даташита до утра.
  • Также мы можем писать на ассемблере, взяв под контроль каждый такт работы МК.

Если вы научитесь свободно прогать на Ардуино и вдруг перейдете к разработке программ на том же C++ в более взрослых средах разработки, вы будете неприятно удивлены большим количеством дополнительного кода, который придется писать руками. И наоборот, если умеющий в плюсы (си-плюс-плюсы) человек посмотрит на типичный ардуино-код, он скажет “да как это вообще работает то?”. Компилятор в Arduino IDE настроен на максимальную всеядность и прощение ошибок, потому что это обучающая платформа.

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

Возможности


Зачем учиться работать с ардуино и электроникой в целом?

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

Хейтеры платформы


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

  • В среде Arduino IDE работа с микроконтроллером упрощена настолько, что ардуинщику вообще ничего не нужно знать о его архитектуре и о том, как он вообще программируется и настраивается: все сделано в виде готовых и понятных функций.
    • С каких пор удобство и простота стали плохими? Для новичка это единственный способ познакомиться с миром робототехники без изучения кипы документации и получения соответствующего образования. Также напомню, что Ардуино создана в первую очередь для обучения, и во вторую – для быстрого и удобного создания прототипов электронных устройств, это её фишка.
  • Это всё конечно хорошо, но скрытый за ширмой дружелюбного “Ардуино Вайринга” код ужасает: за безобидными на первый взгляд функциями кроются полотна кода, который что-то проверят, перепроверяет, перенастраивает уже настроенное и делает многие другие на первый взгляд ненужные вещи. Это безобразие работает очень медленно и занимает кучу места!
    • Да, стандартные функции имеют кучу защит от дурака новичка, они тяжёлые и медленные. Но новичку не понадобится писать такой код, где скорость и память будут критичны! А если понадобится, то к этому времени он уже будет в состоянии писать код оптимально и найдёт на моём сайте или в другом месте в Интернете быстрые аналоги Ардуино-функций или напишет их сам. А ещё мы переписали стандартное ядро Ардуино и сделали его быстрым и резким. И ещё один момент: ядро Ардуино устроено так, что обеспечивает совместимость кода и библиотек для всех Ардуино-плат. Начали делать проект на Arduino NANO и памяти/ног стало не хватать? Переносим проект на Arduino MEGA и продолжаем работать. NANO оказалась слишком велика для проекта? Переносим на ATTiny85, даже не открывая документацию: большинство библиотек работают на всех Ардуино-совместимых платах, это очень жирный плюс, хоть и в ущерб производительности и памяти.
  • Стандартные функции из Arduino.h описывают незначительную часть всех возможностей и настроек, которые есть в микроконтроллере.
    • А никто и не обещал вам HAL! Возможности МК раскрываются при использовании библиотек (см. список библиотек), благо сообщество у платформы действительно огромное. Также всегда можно научиться работать с даташитом и регистрами и настраивать всё что угодно и как угодно вручную.
  • Arduino IDE “скрывает” от пользователя важные низкоуровневые настройки.
    • И правильно делает! Одна ошибка – и можно остаться с заблокированным камнем. При желании через Arduino IDE можно и фьюзы прошить, и под другие частоты настроить, об этом мы говорим вот в этом уроке.
  • Ардуино для детей! Серьёзные дяди работают с “голым камнем”.
    • Всё верно, для детей и домохозяек. Плата Ардуино задумана для создания макетов, прототипирования, её можно рассматривать как часть электронного “конструктора” для обучения. На плате есть вся необходимая обвязка, почему не использовать её даже как сердце проекта?
  • Arduino IDE для детей! Серьёзные дяди работают во взрослых средах разработки.
    • Верно, но есть небольшой нюанс: Arduino IDE официально бесплатная, после простой установки (Далее, Далее, Далее, Готово) она сразу готова к работе: достаточно выбрать плату из списка и начать писать код. Взрослые среды разработки требуют взрослого подхода и порог вхождения для работы с ними несоизмеримо высок. Помимо непростой установки и настройки вас ждут расширенные настройки самого микроконтроллера в ручном режиме, чтение документации и даташитов, “взрослый” интерфейс и множество нюансов в самом программировании и настройках компилятора. Времени на изучение этого всего уйдёт немеренно.
  • Ардуинщики ходят по замкнутому кругу, они никогда не разовьются дальше мигания светодиодом.
    • Почему? Платформа ничем не ограничивает разработчика…
  • На Ардуино нельзя создать что-то реально сложное и интересное.
    • Почему же? Arduino IDE ничем не ограничивает разработчика, можно вообще отказаться от Arduino.h и начать кодить с чистого листа при помощи регистров и ассемблерных вставок, т.е. абсолютно так же, как во взрослой среде разработки. “Мощи” не хватит? Почему то её достаточно для создания 3D принтеров и прочих многоосевых ЧПУ станков, прошивка которых состоит из десятков тысяч строк кода.
  • А STM32 лучше! И в разы мощнее! И возможностей у неё больше! И она дешевле!!!
    • Да, да, да. Но не забывайте про порог вхождения и размер сообщества с контентом, библиотеками и примерами “для новичков”, а также о сложности работы с STM в целом. Посмотрите видосы вот на этом канале и сравните происходящее с работой с Arduino. Что касается возможностей и скорости работы – для большинства любительских проектов Arduino (ATmega328/2560) будет более чем достаточно, особенно если уметь писать оптимальный код.
  • Качество кода “из Интернета” просто ужасное.
    • Да, из-за простых, но понятных стандартных примеров аудитория ардуинщиков выросла очень быстро и буквально завалила интернет своими проектами, завлекая тем самым в это хобби других новичков. 99% учебных примеров, примеров работы с библиотеками и модулями написаны простенько и ужасно не оптимально: int переменные для всего подряд, вездесущий delay, блокирующие циклы и прочее, помимо богомерзких ардуино-функций. Люди берут эти примеры как основу и так и продолжают дальше писать. Но эти люди стоят на пороге очень большой двери под названием робототехника. Перешагнув через этот порог, отбросив все кривые примеры и научившись грамотно выстраивать структуру своего кода, они попадают в мир безграничных возможностей для творчества и исследования, мир бесконечно интересных и разнообразных проектов на Arduino. Для этого я и пишу данные уроки.

Что ещё хочется сказать по поводу негатива от “профессионалов” – в большинстве случаев они просто завидуют: в “их время” для создания даже простенького проекта на базе микроконтроллера нужно было потратить огромное количество времени на изучение документации на английском языке на конкретную модель МК, на все остальные железки и микросхемы в проекте, научиться работать в недружелюбной среде разработки, развести и спаять плату, купить дорогой программатор и прочее прочее. А в наше время можно купить плату за 150р, воткнуть её в USB, запустить программу уровня “блокнот с кнопкой Загрузить” и начать кодить с использованием огромного количества готовых библиотек и примеров для практически любых железок на рынке, а на любой вопрос найти ответ в гугле. Реально, у ребят просто пригорает =)

Видео версия


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


Какой микроконтроллер Ардуино выбрать начинающему?

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

Сегодня нет никаких ограничений в том, чтобы освоить новый микрочип. Достаточно покопаться в документации и понять логику и назначение каждого вывода микроконтроллера. Неужели это так тяжело? Конечно, тяжело, особенно, если вы новичок, и с самого начала этой статьи вас уже клонит в уныние от мысли, что вы никогда не начнете разбираться в электронике.

На рынке присутствует множество контроллеров, но среди всех лидирующую позицию занимает Arduino со своей уникальной линейкой плат.

Введение

Arduino — это аппаратная платформа с открытым исходным кодом. Есть два элемента в названии: платы и программное обеспечение. Только платы от официального производителя arduino.cc можно назвать «Arduino». Название является товарным знаком. Всё начиналось с открытого исходного кода, но по мере того, как популярность программного обеспечения Arduino (IDE — Integrated Development Environment) стала расти, оно было расширено для поддержки многих других плат. Эти устройства более правильно называть «совместимые Arduino».

Arduino IDE — это кросс-платформенное приложение, которое обеспечивает отправную точку для всех проектов, связанных с Arduino.

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

На стороне программного обеспечения есть «ядро» и «IDE». Ядром является библиотека C ++, называемая «ядром Arduino», которая уникальна для каждого типа процессора. Эта (обширная) библиотека позволяет использовать общие функции, такие как digitalRead() или digitalWrite(), для работы со множеством разных архитектур.

На аппаратной стороне трудно охватить все возможные варианты в сжатом виде. Таким образом, здесь основное внимание уделяется таким популярным вариантам, как: Uno, Mega, ESP8266, Zero и MKR. Некоторые из них мы упоминаем ниже.

8 или 32 бита

Основные сражения происходят между 8 и 32 битными платами.

8-бит: Uno, Nano, and Mega

32-бит: Zero, MKR, ESP8266 и ESP32

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

Более простые архитектуры означают, что регистры прямого программирования, как правило, относительно легки. 32-разрядные процессоры предлагают более высокие тактовые частоты вместе с большим количеством ОЗУ, ПЗУ и последовательной периферии. Их архитектура может усложнить программирование. К счастью, такие структуры, как библиотека Arduino и CircuitPython, зарывают большую часть этой сложности.

Выбор микропроцессора только потому, что он является 8-битным или 32-битным, может быть, скажем так, довольно «близоруким». Поэтому важно подумать о том, как вы планируете использовать его.

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

Arduino Uno Rev3

Arduino Uno Rev3 – один из наиболее популярных контроллеров.

Флэш-память — 32 кб + 2 кб оперативы.

Оригинальная плата имеет 20 цифровых пинов, 6 из которых можно использовать, как аналоговые контакты. Этих выводов вполне достаточно, чтобы собрать несложный рабочий проект. На панели в плате стоит микропроцессор ATmega328P.

Если в процессе экспериментов вы убьете контроллер, заменить его будет дешевле, чем покупать новую плату целиком.

Описание | Распиновка

Arduino Nano

Arduino Nano – одна из самых крохотных плат семейства Arduino. На борту у нее все тот же микрочип ATmega328.

Это значит, что возможности Arduino Nano схожи с Arduino Uno, хотя пинов у нее чуть больше (8 аналоговых на Nano против 6 на Uno). Подключение к плате осуществляется с помощью microUSB.

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

Описание | Распиновка

Arduino Lilypad

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

Здесь придется подпаивать провода к плате, так как специальных пинов не предусмотрено. Самое время подружиться с паяльником.

Распиновка

Arduino Mega

Популярность Arduino Mega 2560 Rev3 обусловлена наличием большого количества цифровых входов-выходов (54 цифровых + 16 аналоговых).

Сердцем ее является восьми-битный чип ATmega2560.

Нередко плата используется в масштабных проектах по типу 3D-принтера, поскольку выводов в ней хватает, чтобы подключить многочисленную периферию. Контроллер имеет 256 килобайт флэш-памяти + 8 килобайт SRAM. Чувствуете в себе силы творить? Смело покупайте данную плату.

Описание | Распиновка

Arduino Leonardo

Arduino Leonardo на базе микроконтроллера ATmega32u4 идентична Uno, за исключением разъема подключения microUSB (в UNO это USB type-B).

Особенность данной платы в том, что ее можно использовать, как периферию: она умеет посылать команды ввода в компьютер. Если цель вашего изучения контроллеров — управлять компьютером, то берите ATmega32u4.

Распиновка

Arduino Micro

Arduino Micro – очередная миниатюрная плата, ее габариты сопоставимы со стандартным USB-накопитель.

Используемый микроконтроллер ATmega32u4 имеет все те же 32 кб оперативки + 2,5 SRAM. Цифровыми и аналоговыми пинами плата не обделена (20 цифровых +7 аналоговых). Отлично подойдет для миниатюрных проектов.

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

Распиновка

Arduino Due

Arduino Due – одна из самых популярных плат.

Работает на 32-битном процессоре с частотой 84мГц.

На борту установлен AT91SAM3X8E контроллер, во многом превосходящий все вышеперечисленные платы. 512 кб постоянной памяти, 96 кб оперативной. Имеются 54 цифровых пина, 12 из которых могут использовать ШИМ. Также есть пара 12-битных цифро-аналоговых преобразователей: они позволяют микропроцессору выдавать звук без дополнительных расширений.

Распиновка

Arduino Due и Arduino Mega 2560 очень похожи друг на друга, поэтому может показаться, что и шилды для этих плат взаимозаменяемые, но на самом деле это не так. Логические уровни на Mega 5-вольтовые, тогда как на Due – 3,3 вольта. Будьте осторожны с расширениями плат, в противном случае Due безвозвратно сгорит.

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

Какой Ардуино лучше?

Вы все еще можете задаться вопросом: какая из этих плат является лучшей среди Arduino?

Как вы можете видеть, каждая из этих плат отлична от других и имеет некоторые преимущества для разных ситуаций. Вопрос «что лучше подходит» не является полным вопросом, вам нужно его дополнить «… для моего приложения или проекта».

Хотя невозможно охватить все типы и варианты плат, эта статья должна дать вам достаточно информации для рассмотрения основы для вашего проекта.

Что такое Arduino: описание и применение платформы

Arduino — эффективная аппаратно-программная платформа для проектирования и создания новых устройств, разработанная компанией Arduino Software.

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

Что такое Arduino: описание и применение платформы

Что такое ардуино? Сфера применения устройства

Ардуино представляет собой плату с контактами для подключения дополнительных компонентов. Технические характеристики устройства зависят от модели используемого микроконтроллера. Это касается совместимости с дополнительными компонентами. Последнее обновление программной части 1.8.0 было выпущено 20 декабря 2016 года. На базе Arduino можно создаются автономные и подключаемые к компьютеру проекты.

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

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

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

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

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

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

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

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

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

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

Работа с Arduino IDE

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

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

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

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

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

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

Обзор лучших плат и модулей, раскрывающих функционал Arduino

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

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

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

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

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

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

Подводя итоги

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

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

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

Arduino ATtmega8: плата, характеристики, распиновка

Микроконтроллеры – отличная основа для большого количества устройств. По сути своей они напоминают компьютер: постоянная память; оперативная память; вычислительное ядро; тактовая частота.

Среди многих семейств и видов МК новички часто выбирают контроллеры AVR Atmega. Однако язык программирования может показаться сложным, поэтому преподаватель из Италии решил разработать простую и удобную плату для обучения.

Родилась Arduino ATmega8, на основе которой можно собрать очень удобное и простое устройство.

Arduino NG - вариант платы Arduino на микроконтроллере ATmega8Arduino NG — вариант платы Arduino на микроконтроллере ATmega8

С этими платами от Ардуино вы получаете целый ряд преимуществ:

  • готовая разведенная печатная плата со всеми необходимыми компонентами и разъёмами;
  • микроконтроллеры Atmega;
  • возможность программировать без программаторов – через ЮСБ порт;
  • питание от любого источника 5-20 вольт;
  • простой язык программирования и возможность использования чистой C AVR без переделок платы и прошивки.

Характеристики чипа

  • Частота ATmega8: 0-16 МГц
  • Напряжение ATmega8: 5 В
  • Частота ATmega8L: 0-8 МГц
  • Частоат ATmega8A: 0-16 МГц

В реальности почти все микроконтроллеры при рабочем напряжении в 5 вольт работают с частотой 16 мегагерц, если участвует внешний кварцевый резонатор. Если брать внутренний генератор, то частоты составят: 8, 4, 2 и 1 МГц.

Распиновка Arduino ATmega8

Ниже приводим распиновку атмега8, которую можно также найти на официальном сайте производителя:

Добавление устройств АТмега

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

Вносим следующие изменения в файл hardware/arduino/boards.txt:

atmega8o.name=ATmega8 (optiboot 16MHz ext)
atmega8o.upload.protocol=arduino
atmega8o.upload.maximum_size=7680
atmega8o.upload.speed=115200
atmega8o.bootloader.low_fuses=0xbf
atmega8o.bootloader.high_fuses=0xdc
atmega8o.bootloader.path=optiboot50
atmega8o.bootloader.file=optiboot_atmega8.hex
atmega8o.bootloader.unlock_bits=0x3F
atmega8o.bootloader.lock_bits=0x0F
atmega8o.build.mcu=atmega8
atmega8o.build.f_cpu=16000000L
atmega8o.build.core=arduino:arduino
atmega8o.build.variant=arduino:standard

##############################################################

a8_8MHz.name=ATmega8 (optiboot 8 MHz int)
a8_8MHz.upload.protocol=arduino
a8_8MHz.upload.maximum_size=7680
a8_8MHz.upload.speed=115200
a8_8MHz.bootloader.low_fuses=0xa4
a8_8MHz.bootloader.high_fuses=0xdc
a8_8MHz.bootloader.path=optiboot
a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex
a8_8MHz.build.mcu=atmega8
a8_8MHz.build.f_cpu=8000000L
a8_8MHz.build.core=arduino
a8_8MHz.build.variant=standard

##############################################################

a8_1MHz.name=ATmega8 (optiboot 1 MHz int) 
a8_1MHz.upload.protocol=arduino 
a8_1MHz.upload.maximum_size=7680 
a8_1MHz.upload.speed=9600 
a8_1MHz.bootloader.low_fuses=0xa1 
a8_1MHz.bootloader.high_fuses=0xdc 
a8_1MHz.bootloader.path=optiboot 
a8_1MHz.bootloader.file=a8_1MHz_a1_dc.hex 
a8_1MHz.build.mcu=atmega8
a8_1MHz.build.f_cpu=1000000L 
a8_1MHz.build.core=arduino 
a8_1MHz.build.variant=standard

##############################################################

a8noboot_8MHz.name=ATmega8 (no boot 8 MHz int)
a8noboot_8MHz.upload.maximum_size=8192
a8noboot_8MHz.bootloader.low_fuses=0xa4
a8noboot_8MHz.bootloader.high_fuses=0xdc
a8noboot_8MHz.build.mcu=atmega8
a8noboot_8MHz.build.f_cpu=8000000L
a8noboot_8MHz.build.core=arduino
a8noboot_8MHz.build.variant=standard

Таким образом, если мы перейдем в меню Сервис → Плата, то увидим устройства:

  • ATmega8 (optiboot 16MHz ext)
  • ATmega8 (optiboot 8 MHz int)
  • ATmega8 (optiboot 1 MHz int)
  • ATmega8 (no boot 8 MHz int)

Платы Arduino

Ардуино продаётся во множестве вариантов; главное, что объединяет платы, – это концепция готового изделия. Вам не нужно травить плату и паять все её компоненты, вы получаете готовое к работе изделие. Можно собирать любые устройства, не используя паяльник. Все соединения в базовом варианте выполняются с помощью макетной платы и перемычек.

Сердце платы – микроконтроллер семейства AVR. Изначально был применён микроконтроллер atmega8, но его возможности не безграничны, и плата подвергалась модернизации и изменениям. Стандартная плата, которая наиболее распространена у любителей – это плата версии UNO, существует много её вариаций, а её размеры сравнимы с кредитной карточкой.

Плата Arduino Nano –  полный аналог большего собрата, но в гораздо меньших размерах, версия arduino atmega168 была самой популярной и недорогой, но её сменила другая модель – arduino atmega328, стоимость которой аналогична, а возможности больше.

Следующей важной деталью является печатная плата. Разведена и запаяна на заводе, позволяет избежать проблем с её созданием, травлением и пайкой. Качество платы зависит от производителя конкретного экземпляра, но, в основном, оно на высоком уровне. Питание платы осуществляется с помощью пары линейных стабилизаторов, типа L7805, или других LDO стабилизаторов напряжения.

Клеммная колодка – отличный способ сделать надёжное разъёмное соединение и быстро выполнить изменения в схеме прототипов ваших устройств. Для тех, кому не хватает стандартных разъёмов, есть более крупные и мощные платы, например, на atmega2560, у которой доступно полсотни портов для работы с периферией.

На фото изображена плата Arduino Mega 2560. На её основе можно собрать довольно сложного робота, систему умного дома или 3d-принтер на ардуино.

Не стоит думать, что младшие версии слабы, например, микроконтроллер atmega328, на котором построены модели Uno, nano, mini и другие, имеет вдвое больше памяти по сравнению с 168 моделью – 2 кб ОЗУ и 32 кб Flash памяти. Это позволяет записывать более сложные программы в память микроконтроллера.

Проекты на основе Arduino ATmega

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

Пример 1

Можно сделать тестер с 11 функциями на микроконтроллере atmega32.

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

  1. Прозвонка цепи с возможностью измерять падение напряжения на переходе диода.
  2. Омметр.
  3. Измеритель ёмкости.
  4. Измерение активного сопротивления конденсатора или ESR.
  5. Определение индуктивности.
  6. Возможность счёта импульсов.
  7. Измерение частоты – пригодится в диагностике, например, для проверки ШИМ источника питания.
  8. Генератор импульсов – тоже полезен в ремонте.
  9. Логический анализатор позволит просмотреть содержимое пачек цифровых сигналов.
  10. Тестер стабилитронов.

Пример 2

Для радиолюбителей будет полезно иметь качественное оборудование, но станция стоит дорого. Есть возможность собрать паяльную станцию своими руками, для этого нужна плата Arduino, имеющая в своем составе микроконтроллер atmega328.

Пример 3

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

Для этого вам понадобится:

  1. Arduino uno или atmega
  2. Tft дисплей 5 дюйма.
  3. Небольшой набор обвязки.

Или его упрощенный аналог на плате Nano и дисплее от nokia 5110.

Такой осциллографический пробник станет полезным для автоэлектрика и мастера по ремонту радиоэлектронной аппаратуры.

Пример 4

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

На фото приведен пример реализации такой системы и ввода данных с клавиатуры.

Цветомузыка на микроконтроллере Arduino ATmega8

Для школьной дискотеки можно собрать ЦМУ на 6 каналов.

Транзисторы VT1-VT6 нужно подобрать с учетом мощности ваших светодиодов. Это силовые компоненты – они нужны, потому что мощности микроконтроллера не хватит, чтобы запустить мощные лампы или светодиоды.

Если вы хотите коммутировать сетевое напряжение и собрать цветомузыку на лампах накаливания, вместо них нужно установить симисторы и драйвер. Дополнить каждый канал ЦМУ вот такой конструкцией:

Ардуино своими руками

Atmega2560 – хоть и мощный и продвинутый контроллер, но проще и быстрее собрать первую плату на atmega8 или 168.

Левая часть схемы – это модуль связи по USB, иначе говоря, USB-UART/TTL конвертер. Его, вместе с обвязкой, можно выбросить из схемы, для экономии места, собрать на отдельной плате и подключать только для прошивки. Он нужен для преобразования уровней сигнала.

DA1 – это стабилизатор напряжения L7805. В качестве основы можно использовать целый ряд avr микросхем, которые вы найдете, например, серии, arduino atmega32 или собрать arduino atmega16. Для этого нужно использовать разные загрузчики, но для каждого из МК нужно найти свой.

Можно поступить еще проще, и собрать всё на беспаечной макетной плате, как это показано здесь, на примере 328-й атмеги.

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

Arduino Uno: характеристики, распиновка, питание платы

Arduino UNO плата построена на микроконтроллере Atmega AVR для обучения, разработки, создания рабочих макетов устройств.

Размеры Уно

Arduino Uno R3 – самая популярная плата, построенная на базе процессора ATmega328. В зависимости от конкретной модели платы этой линейки используются различные микроконтроллеры, на момент написания статьи самой распространённой является версия именно R3.

Плату используют для обучения, разработки, создания рабочих макетов устройств. Ардуино, по своей сути, – это AVR микроконтроллер с возможностью упрощенного программирования и разработки. Это достигнуто с помощью специально подготовленного загрузчика, прошитого в память МК, и фирменной среды разработки.

Плата Ардуино УноПлата Ардуино Уно

Размеры платы представлены на схеме ниже. Общие размеры Уно составляют 53,4 мм на 68,6 мм.

Характеристики

В основе платы лежит процессор ATmega 328. Кроме него на плате находится модуль USB для связи с компьютером и прошивки. Этот модуль называется «USB-TTL преобразователь». На фирменных платах Arduino Uno для этой целей используется дополнительный микроконтроллер ATmega16U2.

ХарактеристикиArduino Uno R3
МикроконтроллерATmega328
Рабочее напряжение
Напряжение питания (рекомендуемое)7-12В
Напряжение питания (предельное)6-20В
Цифровые входы/выходы14 (из них 6 могут использоваться в качестве ШИМ-выходов)
Аналоговые входы6
Максимальный ток одного вывода40 мА
Максимальный выходной ток вывода 3.3V50 мА
Flash-память32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком
SRAM2 КБ (ATmega328)
EEPROM1 КБ (ATmega328)
Тактовая частота16 МГц

Особенность этого чипа заключается в аппаратной поддержке USB, что позволяет организовывать связь без дополнительных преобразователей. В то время как ATmega328 не поддерживает такой функции, поэтому 16u2 выступает в роли преобразователя данных из USB в последовательный порт для МК AVR. В него залита программа для выполнения этой задачи.

Однако так происходит не всегда: в более мелких платах, таких как Arduino Nano, используют преобразователи уровней на базе различных микросхем, например FT232, CP21XX, Ch440g и подобных. Это решение является более дешевым и не требует прошивки дополнительного связывающего контроллера, как описано выше.

Внимание! Не всё так однозначно с DCcduino UNO r3 на ch440g. В ней как раз и использован более дешевый, чем в оригинале, вариант преобразователя USB-TTL.

На плате есть выход 3.3 В, он нужен для подключения периферии и некоторых датчиков, его пропускная способность по току равна 50 мА.

ATmega328 работает на частоте 16 МГц. Она фиксирована кварцевым резонатором, который вы можете, по желанию, заменить, тем самым ускорив работу Uno r3.

Важно! После замены кварцевого резонатора функции, связанные со временем, такие как Delay, не будут соответствовать введенным значениям. Это функция задержки времени, по умолчанию её аргументом является требуемое время задержки в мс. Функция прописана в библиотеках Ардуино, с учетом стандартной тактовой частоты в 16 МГц. Поэтому после замены кварца заданное время не будет соответствовать написанному. Для этого нужно либо подбирать опытным путем и устанавливать зависимости, либо править файлы библиотек.

Память Ардуино Уно

Микроконтроллер Arduino Uno содержит 32 кб флэш-памяти, из которой пользователю доступно 31.5 кб, потому как 0.5 занимает загрузчик.

  • ОЗУ – 2 кб памяти.
  • EEPROM — 1 кб памяти.

Как осуществляется питание платы?

Чтобы включить плату, нужно на неё подать питание либо от USB порта, можно прямо от ПК, либо от внешнего источника питания – от 7 до 15 Вольт. На плате установлен линейный стабилизатор, типа L7805, или же LDO. Он нужен для того, чтобы на микроконтроллер подавалось стабилизированное напряжение 5 В.

При этом приоритетно выбирается внешний источник питания, а не ЮСБ-порт. Внешнее питание подключается к выводу с пометкой «Vin» в разделе Power на плате.

Расположение выводов, распиновка

Разработчики платы Arduino очень удобно и логично расположили выводы платы. Дело в том, что при разработке на «чистых» МК АВР приходилось обращаться к выводу порта, для этого нужно было запомнить название каждой ножки на чипе. Здесь это гораздо проще. На самой плате указано название каждого из пинов. Удобства добавляет и то, что пины разбиты на 3 группы:

  1. Digital – блок цифровых пинов.
  2. Analog – блок аналоговых пинов.
  3. Power – блок пинов, которые связаны с питанием и работой микросхемы.

Распиновка платыРаспиновка платы

При этом в разделе Digital пины, которые могут выдавать ШИМ-сигнал (PWM), помечены тильдой «~». Для служебных целей и проверки работоспособности контроллера на плате установлен светодиод, который подключен к 13-му выводу, а из среды разработки Arduino IDE к нему можно обращаться через встроенную директиву LED_BUILTIN. Такие схемы расположения пинов называются «Arduino UNO pinout», при этом, вместо UNO, может быть указано название другой платы, которая вас интересует.

Описание пинов платы

Микроконтроллер имеет 14 цифровых пинов, они могут быть использованы, как вход или выход. Из них 6 могут выдавать ШИМ-сигнал. Они нужны для регулировки мощности в нагрузке и других функций.

Пин ардуиноАдресация в скетчеСпециальное назначениеШИМ
Цифровой пин 00RX
Цифровой пин 11TX
Цифровой пин 22Вход для прерываний
Цифровой пин 33Вход для прерыванийШИМ
Цифровой пин 44
Цифровой пин 55ШИМ
Цифровой пин 66ШИМ
Цифровой пин 77
Цифровой пин 88
Цифровой пин 99ШИМ
Цифровой пин 1010SPI (SS)ШИМ
Цифровой пин 1111SPI (MOSI)ШИМ
Цифровой пин 1212SPI (MISO)
Цифровой пин 1313SPI (SCK)
К выходу дополнительно подсоединен встроенный светодиод

Вызов ШИМ-сигнала осуществляется через команду AnalogWrite (номер ножки, значение от 0 до 255). Для работы с аналоговыми датчиками присутствует 6 аналоговых входов/выходов.

ПинАдресация в скетчеСпециальное назначение
Аналоговый пин A0A0 или 14
Аналоговый пин A1A1 или 15
Аналоговый пин A2A2 или 16
Аналоговый пин A3A3 или 17
Аналоговый пин A4A4 или 18I2C (SCA)
Аналоговый пин A5A5 или 19I2C (SCL)

Их тоже можно использовать, как цифровые.

Аналоговый сигнал обрабатывается 10 битным аналогово-цифровым преобразователем (АЦП), а при чтении микроконтроллер выдаёт численное значение от 0 до 1024. Это равно максимальному значению, которое можно записать в 10 битах. Каждый из выводов способен выдать постоянный ток до 40 мА.

Принципиальная схема платы выглядит так (нажмите для увеличения):

Микроконтроллер ATMega 328

Как мы написали выше, ATmega328 работает на частоте 16 МГц. Распиновка микроконтроллера ниже (нажмите на изображение для увеличения):

Работа в комплексе с другими системами

Самое первое, с чем вы можете познакомиться, даже без приобретения дополнительных устройств для разработки – это связь по последовательному порту. Он активируется по команде Serial.begin (скорость, например 9600). Подробно о каждой команде вы можете прочитать в обучающем разделе на официальном сайте проекта Arduino.ru. Вы можете обмениваться с компьютером информацией. Плата, в зависимости от программного кода, может вам присылать данные, а вы их, через монитор портов в Arduino IDE, можете читать.

Кроме последовательного порта, в ардуино UNO реализована поддержка таких интерфейсов:

Через них можно осуществлять «общение» между несколькими платами, а также подключать разную периферию: датчики и дисплеи.

Платы расширения

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

Шилд устанавливается в клеммные колодки, при этом часть их них задействуется под функции шилда, а другая часть остаётся свободной для использования в проекте. В результате вы можете получить такой себе многоэтажный «бутерброд» из плат, которые реализуют множество функций.

Одним из самых популярных является Arduino Ethernet Shield. Он нужен для связи с Ардуино по обычному сетевому кабелю, витой паре. На нём расположен разъём rj45.

С подобным шилдом можно управлять вашим микроконтроллером по сети через веб-интерфейс, а также считывать параметры с датчиков, не отрываясь от компьютера. Существуют проекты с использованием такого комплекта в домашнем облачном хранилище, с ограничением по скорости, всё-таки Атмега328 слабовата для таких задач, и для этого лучше подойдут одноплатные компьютеры типа Raspberry pi.

Как преодолеть аппаратные ограничения

Большинство распространённых плат имеют аналогичные характеристики, среди них:

  • Uno;
  • Nano;
  • Pro mini;
  • и подобные.

Но с развитием ваших навыков разработки в этой среде появляется проблема нехватки мощности и быстродействия этой платформы. Первым шагом для преодоления ограничений является использование языка C AVR.

С его помощью вы ускорите на порядок скорость обращения к портам, частоту ШИМ и размер кода. Если вам и этого недостаточно, то вы можете воспользоваться мощными моделями с аналогичным подходом к разработке. Для этого подойдёт плата Arduino Mega2560. Еще более мощная – модель Due. В противном случае вам стоит ознакомиться с разновидностями одноплатных компьютеров и STM микроконтроллеров.

Ардуино Uno R3 – отличная плата для большинства проектов, которая служит для изучения устройств цифровой электроники.

Arduino программирование для начинающих

Ардуино – платформа, позволяющая множеству инженеров со всего мира создавать свои проекты с минимальными вложениями.

Основы Arduino

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

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

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

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

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

Все функции строятся из простейших операнд, которые характерны для С++. Этими операндами являются переменные различных типов и способы их применения. Поэтому любая функция, используемая в микроконтроллере для получения сведений или отправки сигнала, – это набор простейших операций, который записан в главной библиотеке. И вы будете ограничены до тех пор, пока не получите достаточно опыта и практики, чтобы понимать, какую библиотеку и для какой цели вам стоит написать.

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

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

Чаще всего применяется ООП. Сам С++ имеет ядро из многочисленных библиотек и дополнительных функций или методов, поэтому, если вы собираетесь разобраться во всём кардинально, стоит начинать с освоения языка с нуля.

Особенности Arduino программирования

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

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

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

Имеется у программирования на Ардуино и ряд весомых минусов:

  1. Низкая планка для вхождения превращает большую часть библиотек, коими наполнена сеть, в полностью бесполезный мусор. Ведь какие-то из них работают просто медленно и написаны без каких-либо знаний основ алгоритмизации, а часть – вовсе не работает, и непонятно, зачем авторы их создавали. Чтобы найти подспорье под конкретный проект, необходимо перелопатить несколько англоязычных форумов или же самостоятельно создать функции с нуля.
  2. Сложности программирования на С++. На деле – это один из сложнейших языков мультипарадигмального программирования, для создания прошивок и низкоуровневых задач. Однако, если вы имели опыт работы с ним и знаете хотя бы основные алгоритмы, а также работали хоть с одним другим мультипарадигмальным ЯП, тем более используя объектно-ориентированное программирование, вам будет значительно проще освоиться.
  3. Низкая скорость отклика самих чипов и их слабые характеристики. Да, микроконтроллеры Ардуино можно подстраивать под конкретную задачу, докупать компоненты и датчики, но это играет с ними злую шутку. Так как разработчики не знают, для чего будут использовать их детище, они усредняют все показатели, чтобы значительно уменьшить стоимость конечного продукта. В результате люди, создающие простейшие поделки, переплачивают за ненужную мощность, а тем, кто занимается робототехникой или автоматизацией каких-то процессов, приходится докупать и паять множество дополнительных плат.

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

Как начать правильно пользоваться Arduino

Если вы никогда ранее не программировали, и это ваш первый опыт, то программирование микроконтроллеров Arduino пойдёт куда проще, если вы начнёте с основ.

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

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

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

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

Программирование микроконтроллеров

Само программирование Ардуино делится на три этапа:

  1. Создание или скачивание готовой библиотеки функций.
  2. Загрузка этих библиотек в постоянную память чипа. Это ещё называют прошивкой.
  3. Ввод этих функций в командную строку, например, АТ, чтобы плата выполнила те или иные действия.

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

Самые простые проекты с использованием Arduino

Примеров простых проектов с Ардуино множество, например, вы можете:

  1. Создать датчик освещённости, который будет подстраивать специальные LED лампы под ту яркость, которая необходима в комнате.
  2. Автоматизация любых вещей в вашем доме. Например, включения-выключения света, открытия дверей и прочее.
  3. Автоматизация оранжереи.

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

Arduino — Введение

Что такое Ардуино?

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

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

Arduino был создан в Ivrea Interaction Design Institute как простой инструмент для быстрого прототипирования, предназначенный для студентов, не имеющих опыта работы в области электроники и программирования.Как только она достигла более широкого сообщества, плата Arduino начала меняться, чтобы адаптироваться к новым потребностям и задачам, дифференцируя свое предложение от простых 8-битных плат до продуктов для приложений IoT, носимых устройств, 3D-печати и встроенных сред.
Все платы Arduino имеют полностью открытый исходный код, что дает пользователям возможность создавать их независимо и, в конечном итоге, адаптировать к своим конкретным потребностям. Программное обеспечение также имеет открытый исходный код, и его объем растет благодаря участию пользователей со всего мира.

Почему Ардуино?

Благодаря простому и доступному пользовательскому интерфейсу, Arduino использовался в тысячах различных проектов и приложений.Программа Arduino проста в использовании для новичков, но достаточно гибка для опытных пользователей. Он работает на Mac, Windows и Linux.
Учителя и студенты используют его для создания недорогих научных инструментов, для доказательства принципов химии и физики или для начала работы с программированием и робототехникой. Дизайнеры и архитекторы создают интерактивные прототипы, музыканты и художники используют их для инсталляций и экспериментов с новыми музыкальными инструментами. Создатели, конечно же, используют его для создания многих проектов, представленных, например, на Maker Faire.Arduino — ключевой инструмент для изучения нового. Любой человек — дети, любители, художники, программисты — может начать возиться, просто следуя пошаговым инструкциям набора, или делиться идеями в Интернете с другими членами сообщества Arduino.

Существует множество других микроконтроллеров и микроконтроллерных платформ, доступных для физических вычислений. Parallax Basic Stamp, Netmedia BX-24, Phidgets, Handyboard MIT и многие другие предлагают аналогичные функции. Все эти инструменты берут на себя беспорядочные детали программирования микроконтроллеров и объединяют их в простой в использовании пакет.Arduino также упрощает процесс работы с микроконтроллерами, но дает некоторые преимущества учителям, студентам и заинтересованным любителям перед другими системами:

  • Недорогой — Платы Arduino относительно недороги по сравнению с другими платформами микроконтроллеров. Наименее дорогая версия модуля Arduino может быть собрана вручную, и даже предварительно собранные модули Arduino стоят менее 50 долларов.
  • Кросс-платформенный — Программное обеспечение Arduino (IDE) работает в операционных системах Windows, Macintosh OSX и Linux.Большинство систем микроконтроллеров ограничены Windows.
  • Простая и понятная среда программирования — Программа Arduino (IDE) проста в использовании для новичков, но при этом достаточно гибка для продвинутых пользователей. Для учителей он удобно основан на среде программирования Processing, поэтому студенты, обучающиеся программированию в этой среде, будут знакомы с тем, как работает Arduino IDE.
  • Программное обеспечение с открытым исходным кодом и расширяемое программное обеспечение — Программное обеспечение Arduino публикуется как инструменты с открытым исходным кодом, доступные для расширения опытными программистами.Язык может быть расширен с помощью библиотек C ++, и люди, желающие разобраться в технических деталях, могут перейти от Arduino к языку программирования AVR C, на котором он основан. Точно так же вы можете добавить код AVR-C прямо в свои программы Arduino, если хотите.
  • Открытое и расширяемое оборудование. — Планы плат Arduino публикуются под лицензией Creative Commons, поэтому опытные проектировщики схем могут создать свою собственную версию модуля, расширяя и улучшая ее.Даже относительно неопытные пользователи могут создать макетную версию модуля, чтобы понять, как он работает, и сэкономить деньги.

Как использовать Arduino?

См. Руководство по началу работы. Если вы ищете вдохновения, вы можете найти множество учебных пособий на Arduino Project Hub.

Текст руководства по началу работы с Arduino находится под лицензией
Лицензия Creative Commons Attribution-ShareAlike 3.0. Примеры кода в руководстве опубликованы в открытом доступе.

.Сравнение характеристик микроконтроллеров Arduino

| Сообщество RobotShop

Начать
Войти в систему

Меню

  • Панель приборов
  • Форумы
  • Учебники
  • Роботы
  • Блоги
  • Новости
  • Таблицы лидеров
  • маг.
  • Поддержка

Начать
Войти в систему

идти

  • Потребительская робототехника

    • Потребительская робототехника
    • Внутренний

    • Дрон

    • Газонокосилка

    • Личный транспорт

    • Уход за животными

      • Уход за животными
      • Робот-мусорщик

    • Очистители для бассейнов

    • Отзывы

    • Спорт

    • Дистанционное присутствие

    • Игрушки

    • Транспорт

    • Вакуум

      • Вакуум
      • Центр ресурсов Ultimate Roomba

    • Носимые технологии

  • GoRobotics >> Образование

    • GoRobotics >> Образование
    • Соревнования

    • Динамические инструменты

    • Робототехнические проекты и комплекты

    • Школы и учебная программа

      • Школы и учебная программа
      • Путешествие в гонках на дронах

    • Инструменты и оборудование

    • Учебники

.

Arduino — Сравнить

Сравнить спецификации платы

В этой таблице показано быстрое сравнение характеристик всех плат Arduino и Genuino.

Имя

Процессор

Рабочий / Вход
Напряжение

Частота процессора

Аналоговый вход / выход

Цифровой ввод-вывод / ШИМ

EEPROM [кБ]

SRAM [кБ]

Flash [kB]

USB

UART

Intel® Curie

3.3 В / 7-12 В

32 МГц

6/0

14/4

24

196

Обычный

ATtiny85

3.3 В / 4-16 В

8 МГц

1/0

3/2

0,5

0,5

8

Микро

0

ATmega168V
ATmega328P

2.7-5,5 В /
2,7-5,5 В

8 МГц

6/0

14/6

0,512

1

16

ATmega328P

2.7-5,5 В /
2,7-5,5 В

8 МГц

4/0

9/4

1

2

32

ATmega32U4

3.3 В / 3,8-5 В

8 МГц

4/0

9/4

1

2,5

32

Микро

ATmega2560

5 В / 7-12 В

16 МГц

16/0

54/15

4

8

.

Arduino, микроконтроллер AVR, микроконтроллеры ARM AT91SAM7S и STM32

Электроника, микроконтроллер, Raspberry PI и Arduino.

Здесь можно найти руководства по следующим вопросам:

  • Arduino — платформа с открытым исходным кодом Arduino
  • AT91SAM7S — микроконтроллеры ARM7 от Atmel
  • AVR 8-bit — 8-битные микроконтроллеры AVR от Atmel
  • STM32 — микроконтроллеры ARM Cortex от ST Microelectronics
  • Raspberry PI — плата Linux размером с кредитную карту RPI

Учебное пособие по веб-серверу Arduino Ethernet Shield

Arduino Uno

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

  • HTTP
  • HTML
  • CSS
  • JavaScript
  • Аякс

Веб-сервер Arduino с двумя датчиками

Arduino web server with two analog gauges

Два датчика на веб-странице отображают аналоговые значения от двух потенциометров, подключенных к аналоговым входам Arduino Uno и Arduino Ethernet Shield.

Arduino действует как веб-сервер, на котором размещается веб-страница, на которой отображаются датчики.

Как подключить Arduino к Интернету

Android phone accessing an Arduino web server

В этом руководстве объясняется, как подключить веб-сервер Arduino к Интернету. Пример скетча Arduino считывает две температуры и отображает их на стрелочных индикаторах на веб-странице.

Любое устройство, которое может подключаться к Интернету, например телефон Android или ПК, может получить доступ к веб-серверу Arduino.

Как программировать микроконтроллеры Atmel ARM с помощью SAM-BA

Atmel AT91SAM7S-EK ARM evaluation board

SAM-BA — это программа загрузчика микроконтроллеров Atmel ARM, которая работает вместе с приложением SAM-BA для ПК для загрузки программного обеспечения в микроконтроллер через USB или последовательный порт.

В этом руководстве показано, как загрузить программное обеспечение в микроконтроллер Atmel ARM с помощью SAM-BA и платы AT91SAM7S-EK.

Использование ST-LINK / V2 для программирования микроконтроллеров STM32F100

ST-link programmer

Необходимо подключить всего четыре провода между программатором / отладчиком ST-LINK / V2 и микроконтроллером STM32F100, чтобы загрузить в него программу.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *