Привет начинающим ардуинщикам!)
Это второй выпуск из серии Arduino для начинающих, и по нашему плану сегодня мы впервые знакомимся с платформой Arduino – ее историей возникновения и примерами некоторых проектов, которые создавались на ее базе. Ну а во второй половине видео (статьи) мы попробуем разобраться, какую плату лучше выбрать и, вообще, какие компоненты нам понадобятся в дальнейшем.
Как обычно, я подготовил весь материал для вас в двух вариантах - видео и текст, а какой из них выбрать - решать уже лично вам ;)
Arduino - что же это такое? Наверняка многие из вас уже имеют представление об этой платформе, которая разрабатывалась для прототипирования (то есть разработки) различных устройств. И со временем так получилось, что эта платформа стала одной из самых популярных в кругу начинающих любителей электроники. И тут все дело в простоте: подключили плату к компьютеру, установили программную среду и уже можно писать свои первые программы, причем, на упрощенном, высокоуровневом языке – обо всем этом мы обязательно поговорим в следующих выпусках.
В видеоролике на этом моменте я предлагаю посмотреть на примеры некоторых проектов на Arduino, ну а мы, минуя этот момент, продолжим.. :)
Из большого количества проектов на основе Arduino становится понятно, что платформа получилась очень гибкой и подходящей под огромное количество различных задач, что является еще одним плюсом в копилку причин её популярности.
Ну а история появления бренда Arduino берет своё начало ещё в далеком 1002 году, в Италии, где с 1002 по 1004г.г. правил король Ардуин, в честь которого и была названа эта платформа. А её создателем является Массимо Банци (Massimo Banzi), который в 2005 году, вместе со своей группой разработчиков выпустил скромный инструмент для студентов в Институте проектирования взаимодействий города Ивреа. Первый прототип платы выглядел достаточно просто, и тогда еще не имел никакого названия - чуть позднее Массимо назвал плату в честь бара Arduino, владельцем которого он тогда и являлся.
Банци и его сотрудники ставили себе целью создать устройство, представляющее собой простую, открытую и легкодоступную платформу для разработки, с ценой не более 30 долларов — приемлемой для студенческого кармана. Хотели они и выделить чем-то свое устройство на фоне прочих. Поэтому в противовес другим производителям, экономящим на количестве выводов печатной платы, они решили добавить их как можно больше, а также сделали свою плату синей, в отличие от обычных зеленых плат.
Продукт, который создала команда, состоял из дешевых и доступных компонентов и главная задача разработчиков состояла в том, чтобы гарантировать работу устройства по принципу "plug-and-play", — то есть, чтобы пользователь, достав плату из коробки и подключив к компьютеру, мог немедленно приступить к работе.
Так и появилась Arduino, которая очень быстро набрала популярность в интернете и в настоящий момент является одной из самых популярных платформ для создания устройств любителями и новичками в этой сфере. До сих пор настоящие, оригинальные платы Arduino производятся только в Италии в городе Торино и в США, в Нью-Йорке.
Стоит отметить, что сейчас, помимо изначально созданной Arduino Extreme, на свет вышло большое количество других плат, специально разработанных для определенных задач. Давайте поближе рассмотрим некоторые из них.
Для начала, пару слов о самой распространенной на сегодняшний день плате Arduino UNO, именно её все начинают представлять, когда речь заходит об Arduino. Более детально с внутренностями платы мы ознакомимся в следующем выпуске.
Arduino представляет собой плату, с размещенными на ней компонентами, главным из которых является микроконтроллер ATmega328P. Он является основной вычислительной системой этой платформы, поскольку именно для него и создается программное обеспечение, с помощью которого микроконтроллер взаимодействует с внешним миром посредством специальных портов ввода/вывода данных.
Для лучшего понимания можно привести очень яркий пример, которым мы с вами и являемся. У человека есть мозг, то есть некоторая вычислительная система снабженная памятью, и этот мозг, посредством нервных окончаний управляет различными органами, будь то глаза или руки. Тоже самое делает и микроконтроллер, а что и как ему делать, а так же какими устройствами управлять, решаете уже непосредственно вы, указывая все это в программном коде.
Таким образом, любая плата Arduino, это, прежде всего, микроконтроллер, выводы которого удобно разведены по краям платы и подписаны. У Arduino UNO таких выводов 20, 6 из которых аналоговые, а остальные 14 - цифровые.
Как уже говорилось раньше, Arduino UNO является самой популярной из всех плат и часто выбирается теми людьми, кто пока еще не знаком с какими-то нюансами своих будущих устройств и только учится программированию микроконтроллеров.
Так же у Uno есть младший аналог – это Arduino Nano, которая, если рассматривать китайские аналоги, отличается от UNO меньшими размерами применяемых компонентов и, отсюда, небольшими размерами самой платы. Здесь уже стоит отталкиваться от того, кому как удобнее.
Наоборот, старшим аналогом UNO является плата Arduino Mega с микроконтроллером ATmega1280, либо 2560 в зависимости от конфигурации. Такая плата подходит для уже более серьезных проектов, рассчитанных на большое количество подключаемых устройств и емкого программного кода, поэтому она содержит 54 цифровых выхода и 16 аналоговых, а так же объем памяти в ней по сравнению c Uno и Nano уже не 32Кб, а 128Кб - что, в 4 раза больше.
Следующей в списке идет Arduino Leonardo, совпадающая по размерам с UNO, но отличающаяся в применяемом микроконтроллере – на сей раз это Atmega32u4. Эту плату компьютер распознает как подключенную к нему клавиатуру или мышь, поэтому, она, помимо прочего, идеально подходит для создания на ее основе различных джойстиков и других устройств ввода.
Специально для реализации небольших устройств, разработчики Arduino создали плату под названием Arduino Mini, имеющую очень компактные размеры и построенную на базе микроконтроллера ATmega168. Так же существует версия Arduino Pro Mini, главным отличием которой является отсутствие ножек-выводов. Из-за такого сокращения компонентов плата не имеет собственного USB и программируется через специальные USB-преобразователи и адаптеры.
Ну что же, это были основные версии платформ Arduino, список которых, конечно же, на этом не заканчивается, и для тех, кто желает посмотреть на всю линейку Arduino, прошу перейти по этой ссылке.
Зачастую для ваших проектов будет не хватать одной лишь платы Arduino - например, в случае, если вы захотите взаимодействовать с интернетом, или управлять множеством сервоприводов. И здесь на помощь приходят так называемые шилды (от англ. Shield - щит), представляющие собой платы расширения, и подключаемые к Arduino по принципу бутерброда.
Их количество очень разнообразно и каждый шилд отвечает за выполнение каких-либо конкретных задач.
Кстати, не так давно @KeyAnyP радовал нас небольшой серией постов о шилдах здесь, здесь и здесь :)
Так же, помимо шилдов, активно используются специальные модули для Arduino, задача которых облегчить процесс подключения тех или иных компонентов к вашему проекту.
В качестве примера можно привести модуль реле, благодаря которому вам не придется самостоятельно собирать необходимую для работы реле схему, а лишь подключить при помощи проводов готовые выводы модуля с входами Arduino.
Вообще, при покупке готовых модулей всегда встает вопрос рациональности их приобретения, поскольку иногда схемы модулей оказываются очень простыми и гораздо дешевле будет купить необходимые детали отдельно и собрать подобный модуль самостоятельно – здесь уже все зависит от ваших умений и возможностей.
Ну а теперь настало время разобраться с тем, какие компоненты вам понадобятся для начала работы с Arduino.
Первым делом, конечно же, вам необходимо обзавестись самой платой Arduino. В качестве самой первой платы, на которой вы будете обучаться и строить свои проекты, я рекомендую приобрести Arduino Uno, из-за ее, на мой взгляд, удобных для макетирования размеров и наличия всех необходимых выводов. Здесь есть три варианта приобретения платформы - покупать дорогую оригинальную плату, купить плату от сторонних xDuino-производителей, либо китайский аналог Arduino.
Откуда вообще появилось такое деление на оригинальные и не оригинальные платы? А все дело в том, что Arduino изначально выложила в открытый доступ всю документацию и схемы по своим платам и, отсюда, любой желающий мог взять и повторить их разработку, либо привнести в неё что-то свое. Конечно же, самыми активными в этом плане оказались наши китайские друзья, и на сегодняшний день вы найдете просто огромное количество всевозможных вариантов плат Arduino.
Естественно, главное отличие оригинальной платы от не оригинальной, это её цена и используемые при сборке компоненты. Но, не спешите гнаться за высокой ценой и качеством оригинальной платы, поскольку, во-первых, плата Arduino не настолько сложна в изготовлении, что бы её могли производить только избранные заводы с высокоточным оборудованием, а, во-вторых, так как вы только начинающий пользователь Arduino, есть очень большой шанс сделать что-нибудь не так и испортить дорогостоящую вещь. Поэтому, лично я рекомендую вам к покупке аналоги китайского производителя, поскольку с нынешним развитием техники, действительно неплохую плату можно собрать на вполне рядовом заводе и никаких космических технологий при этом не потребуется, вопрос только в качестве применяемых компонентов. Но, право выбора остается за каждым из вас и это мое сугубо личное мнение. Сам я работал только с платами, заказанными из Китая, и могу сказать, что, по-прежнему, не вижу смысла переплачивать за более качественные оригиналы.
Помните, я упомянул про три возможных варианта, и не назвал еще один. Так вот, средними по ценовому диапазону и качеству компонентов являются платы так называемых xDuino производителей. Где вместо x подставляются различные наименования разработчиков, например, Freeduino, Seeeduino, CraftDuino и так далее. Эти платы являются полностью Arduino-совместимыми и зачастую имеют всяческие штрихи и дополнения, в виде каких-то улучшений или доработок.
Версия платы Arduino под названием Craftduino
Итак, достаточно рассуждений, давайте, наконец, посмотрим, как выбрать нужную плату из огромного множества производителей и при этом остаться довольным покупкой. Раз уж мы договорились, что в дальнейшем будем работать с Arduino Uno, то выбирать мы будем именно её. Если начать искать плату на всем известных сайтах Aliexpress или Ebay, то в целом можно выделить два вида плат, один из которых немного дешевле второго, и вот почему.
Перед вами две фотографии этих плат, давайте посмотрим на их отличия.
Первым делом в глаза бросаются разные формы микроконтроллеров, используемых в платах - один маленький и впаянный в плату, другой бОльших размеров, и может из нее извлекаться. Как вы понимаете, удобство второй платы именно в этом и заключается - в случае выхода из строя или необходимости перемещения микроконтроллера на другую плату, его можно легко извлечь и вставить в разъем новый, без какой либо пайки и прочих трудностей, как в случае с первым вариантом.
Второй отличительной особенностью этих плат является устройство связи платы с USB вашего компьютера - на левой плате это устаревший FTDI USB микроконтроллер, на правой - микроконтроллер ATmega8U2, имеющий свои плюсы, о которых мы говорить пока не будем. В остальном же, платы практически идентичные, и, я думаю, каждый из вас уже сделал выбор в пользу более совершенного, правого варианта. Кстати, эта версия Arduino имеет полное название как Arduino Uno R3, где R3 обозначает третью ревизию.
Итак, самую главную часть для дальнейшей работы мы рассмотрели и теперь осталось определиться с тем, что еще понадобится вам при дальнейшем обучении по этому курсу:
1. Макетная плата, которой вы будете пользоваться практически постоянно. Она позволяет осуществлять быстрый монтаж различных соединений и компонентов без необходимости использовать паяльник и прочие вещи.
2. Набор из резисторов различных номиналов, о назначении которых мы говорили в прошлом выпуске
3. Небольшое количество светодиодов
5. Соединительные провода
В принципе, для самых первых шагов в программировании Arduino этого будет достаточно, но вся прелесть этой платформы заключается не только в мигании светодиодами и нажатии кнопок, но и в использовании различных датчиков и модулей. Отсюда, по возможности, советую вам обзавестись некоторыми компонентами, примеры работ с которыми я обязательно затрону в одном из выпусков.
Модуль реле - он позволит вам управлять различной нагрузкой в вашем доме.
Датчик движения – позволит регистрировать перемещение нагретых тел в зоне его видимости (пригодится при создании, например, автоматического включения света или сигнализации)
Фоторезистор – позволит наблюдать за степенью освещенности комнаты.
LCD дисплей – с его помощью можно выводить различные информационные сообщения от ваших устройств.
Сервопривод – мини-двигатель, при помощи которого возможно управление какими-либо механизмами, или даже конструирование подвижных частей роботов.
Ну и любые другие компоненты на ваш вкус. Что бы посмотреть, какие еще бывают датчики для Arduino, просто введите в поиске соответствующую фразу «датчики и модули для Arduino» и перед вами откроется множество вариантов.
Хочу сделать небольшое замечание – наверняка многие из вас в процессе покупки компонентов заметят уже готовые стартовые наборы для начинающих.Не советую вам их приобретать по той простой причине, что зачастую там бывает большое количество лишних компонентов, которые попросту могут не пригодиться вам при дальнейшей работе, и вы зря потратите на них свои деньги. Лучше, для начала, купить несколько датчиков на пробу, а потом уже сделать осознанный выбор для какого-либо проекта и докупить все необходимое.
Ну что же, на этом, пожалуй, всё, я надеюсь, что теперь вам будет гораздо проще выбрать нужную для себя Arduino и необходимые компоненты для работы с ней и прощаюсь с вами до следующего выпуска, в котором мы уделим внимание непосредственно внутренностям Arduino Uno и её микроконтроллеру ATmega328P.
Надеюсь, вам было интересно, спасибо за внимание и до встречи в новом выпуске! :)
P.S. Некоторые ссылки для заказа компонентов вы найдете здесь: http://progmk.ru/komponentyi/