Что же такое Arduino

      Контроллер лучше не путать с микроконтроллером — МК это atmega, PIC и прочие "микросхемы” – однокристальные микро-ЭВМ,а контроллер это плата такая, на которую этот самый МК запаян.
Для тех кто не в курсе: контроллер это такое электронное устройство которое что- нибудь контролирует — то есть реагирует на изменения одних параметров изменением других. Ну вот например кондиционер на стене видишь? (я тоже не вижу, но у кого-то он наверняка есть) так вот там тоже стоит умная плата-контроллер включающая/выключающая подогрев/охлаждение/осушение/увлажнение воздуха когда нужно.

Кондиционер, mp3 плеер, велокомпьютер, сигнализация, мобильник, навигатор — всё это (грубо говоря) специализированные контроллеры. А вот комп настольный это контроллер универсальный, да ещё и расширяемый, и с его помощью всё вышеперечисленное можно реализовать. Нужны будут только соответствующие платы расширения и софт.

Arduino представляет собой линейку электронных плат(контроллеров), которые можно подключать к компьютеру по USB кабелю, а в качестве периферии — любые устройства, от светодиодов до механизмов радиуоправляемых моделей и роботов с различными датчиками и сенсорами. Ну еще немного: системы сбора данных (чёрный ящик для аквариума – пишет температуру раз в 5 минут); таймеры-Счётчики событий (сколько раз и во сколько кот подходил к пустой миске);сигнализации-извещатели (кот превысил разрешенное количество подходов к миске, температура в аквариуме ниже 0, кто-то покинул туалет не выключив свет/не смыв/не опустив стульчак =)

Программы для него пишутся на простом и интуитивно понятном си-подобном языке Wiring (c возможностью подключения сторонних библиотек на C/C++, например, для управления LCD-дисплеями или двигателями, и бибилиотек огромное количество), компилируются и загружаются в устройство одной кнопкой, после чего вы тут же получаете работающий автономный гаджет. Никакого ассемблера, никаких лишних проводов и дорогущих деталей и программаторов — чистое творчество, включай и работай! Идею подхватили миллионы пользователей по всему миру.

Ядро команды разработчиков Arduino составляют: Массимо Банци (Massimo Banzi), Девид Куартиллье (David Cuartielles), Том Иго (Tom Igoe), Джанлука Мартино (Gianluca Martino), Девид Меллис (David Mellis) и Николас Замбетти (Nicholas Zambetti).

Применение.

После короткого рассказа друзьям и знакомым про Arduino («это типа электронного конструктора, микро-ЭВМ, в который можно загрузить любую программу и получить любое другое устройство») самый часто задаваемый вопрос «А зачем это всё?» или «Какая мне от этого выгода?» Скучные люди, не правда ли? Неужели среди ваших знакомых нет ни одного радиолюбителя, а может вы и сами радиолюбитель?
Применение Arduino очень простое — не забавы ради, а развития мозга для. Интересно же линуксоидам ковыряться в коде ядра? Какая от этого польза? Почему бы вам не заняться «железным» (в противовес «софтовому») творчеством? Вот прямо сейчас рядом со мной сидит коллега-дизайнер и разбирается… с нейронными сетями. В общем что говорить, забыт дух технического творчества, забыты радиокружки и авиамодельные клубы. Все только сидят у своих компьютеров и сделать ничего путного в железе, кроме как воткнуть вилку в розетку, не могут :) Соберите свой веб-сервер, цветомузыкальную установку или прикольного робота!
Сообщество любителей Arduino уже знает об успешных примерах: GPS-трекер с записью на SD-карту, простой аудиоплеер, Twitter-дисплей, электронные игры с дисплеем и тачскрином, квадрокоптеры, GSM сигналиации, автоматические сиситемы управления… Попробуйте купить радиодеталей и сделать что-то своё! Каждый сможет себе подобрать то что ему было интересно, но не знал как сделать.

Arduino представляет собой ряд продуктов.

Сами контроллеры:

UNO R3

MEGA1280

MEGA2560

MEGA2560 ADK

NANO

И всевозможные платы расширения,(часто наызвают шилды от англ. Arduino Shields):

Motor Shields

Ethernet Shield, позволяющий сделать веб клиент и сервер:

LCD Shield

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

Возьмем за основу популярный контроллер UNO что он из себя являет: электронную плату (далее просто плата) ядром которой является микроконтроллер ATmega328. На плате есть: 14 цифровых входов/выходов, 6 из которых могут работать в режиме ШИМ (PWM) (а следовательно управлять аналоговыми устройствами вроде двигателей и передавать двоичные данные), 6 аналоговых входов (исходной информацией служат не логические 0/1, а значение напряжения), тактовый генератор на 16 МГц, разъёмы питания и USB, ICSP-порт (что-то вроде последовательного интерфейса для цифровых устройств), несколько контрольных светодиодов и кнопка сброса.
Этого вполне достаточно, чтобы подключить плату к USB-порту компьютера, установить нужный софт и начать программировать. Также есть USB - Serial мост выполненный на MEGA16U2, что позволяет его программировать отдельно (это еще почти 15кБ свободной памяти для программ) и реализовать различные USB устройства для компьютера на основе ARDUINO. Появился он в последней версии arduino UNO R3.

Краткая спецификация
Микроконтроллер: ATmega328
Рабочее напряжение: 5 В
Входное напряжение (рекомендуемое): 7-12 В
Входное напряжение (пределы): 6-20 В
Цифровые порты ввода/вывода: 14 портов (из них 6 с ШИМ-сигналом)
Аналоговые порты ввода: 6 портов
Ток для портов: 40 мА
Ток для 3.3В источника: 50 мА
ППЗУ (Flash Memory): 16 KB (из них 2 Кб используются загрузчиком)
ОЗУ (SRAM): 1 Кб
ПЗУ (EEPROM): 512 байт
Тактовая частота: 16 МГц

Питание
Питание платы осуществляется двумя способами: по кабелю USB (при этом никаких других ухищрений делать не нужно, используется в процессе отладки), либо по специальному разъёму вроде того, что у ноутбуков. В радиомагазине можно купить такой разъём и присоединить к нему аккумулятор или 9-тивольтовую батарейку типа «Крона».

Программное обеспечение Arduino работает на Windows, Macintosh OS X, Linux и других операционных системах, поскольку является открытым и работает на Java. Большинство микроконтроллерных систем ограничиваются Windows.


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


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

 

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

Драйвер для ардуино берется из дистрибудива программы.

По большому счету - это всё, остальное - детали.

А теперь FAQ - немного вопросов и ответов, которые обычно задают в первую очередь..

Q: Я ничего не хочу покупать, готов сделать сам. Где про это почитать?

A: Специально для DIY-мастеров есть модификация Arduino Single-Sided Serial Board, выполненная на односторонней печатной плате, содержащая только выводные компоненты. Схему, разводку печатной платы и лист для распечатывания на лазерном принтере для последующего использования ЛУТ можно найти здесь. Все схемы и чертежи остальных Arduino публикуются в обязательном порядке.

Q: Какие устройства я могу собрать с помощью Arduino?

A: Это ограничено вашей фантазией, быстродействием и объемом памяти микроконтроллера. Взгляните на игровую площадку.

Q: Можно ли подключить к Arduino мой любимый датчик?

A: Вполне вероятно, что это уже кто-то сделал. Но даже если нет, Arduino имеет не менее 6 каналов АЦП, поддержку I2C и последовательный порт - как правило этого достаточно для работы с 99% датчиков!

Q: Я хотел бы почитать книгу по Arduino. Где ее можно достать?
A: Книги есть платные и бесплатные. Пример платных М.Банзи "Getting Started With Arduino", пример бесплатных - Arduino Programming Notebook. Кстати, вышеприведенная платная книга в упрощенном варианте доступна свободно.

Q: Что такое шилд (shield-плата)?
A: Это плата-расширение, предназначенное для Arduino. Физически она пристыковывается к нему через колодки выводов (на шилд-плате расположена ответная часть в виде штырей). Как правило, таким способом можно добавить периферию, например поддержку Ethernet или управление двигателями.

Q: Я боюсь, что мне не хватит пинов, ведь надо подключить так много устройств! Что мне делать?
A: Ну, во-первых, существует Arduino Mega, которая предоставляет 54 цифровых и 16 аналоговых пинов. Если под рукой есть пара логических микросхем, например 74HC595N, пины можно расширить у любого Arduino.

Q: Для каких операционных систем существует ArduinoIDE? Не хочу специально ставить Windows...
A: ArduinoIDE базируется на java, что гарантирует кроссплатформенность. Официальные сборки для Windows, Linux и Mac, есть неофициальная для OpenSolaris. Кроме Linux, все необходимое уже есть в скачиваемом пакете (~70 Мб).

Q: Слышал, что в Arduino бывают разные процессоры. Зачем это надо?
A: Их пока всего четыре - ATmega8-16PU, ATmega168-20PU, ATmega328P-PU, ATmega1280. Первые три исполнены в корпусе DIP-28 и полностью совместимы по выводам - можно смело устанавливать любой из них в панельку. В основном, они отличаются объемами памяти программ (8К, 16К и 32К соответственно), энергонезависимой EEPROM и оперативной RAM. А вот ATmega1280 напаян на плате Arduino Mega, имеет 128К памяти прогармм, а также большее число выводов (цифровых, аналоговых, ШИМ).

Q: Что такое Arduino-совместимая плата? Можно ли ее использовать для проектов Arduino?
A: Совместимость плат определяется двумя простыми показателями: во-первых, совместима ли она с ArduinoIDE, а во-вторых - совместима ли она с Shield-платами. Полностью совместимых плат существует великое множество, постоянно появляются новые. Я пишу о них под отдельным тегом Arduino Compatible. Самая известная из совместимых плат, которые может изготавливать кто угодно (см. вопрос выше) - Freeduino. В нашем каталоге представлены совместимые платы Tosduino (Tinyos Electronics). Имеющие великолепное качество сборки, дорогие детали, и качественные печатные платы выполненные в ярком красном или черных цветах. Красный смотрится очень выиграшно!

Материал частично составлен из 2 статей, дополненных нами. Ниже приведены ссылки на оригинальный материал:

МК90

habrahabr