1. Что за Ардуино?
Пишу как понимаю. Просьба сильно не критиковать, ибо с Ардуино я знаком плотно всего 3 месяца.
Если интересно почитать каноническое определение - можно здесь:
http://arduino.ru/About
Дело вот в чем:
Допустим нам необходимо автоматизировать какую-то задачу. Комп целый ставить громоздко и избыточно, так что на ум приходит использовать микроконтроллер. И вот с какой стороны к нему подступиться? Это же надо его на какую-то плату паять, плату надо придумывать под свои задачи, решать проблему как все это запитать, каким устройством прошивать. Контроллеры Ардуино - этот этап просто вычеркивают (если нет необходимости потом такое устройство тиражировать тысячами). Нам в руки попадает 8 битный контроллер с 16-256КБ памяти на борту, который можно просто запитать блоком питания до 15В (рекомендуется больше 12 не подавать), у которого все ноги оборудованы удобными штырьковыми разъемами, что позволяет за пару секунд подключать к нему сотни различных датчиков, устройств ввода и исполнительных устройств под самые разные нужды, причем все эти устройства уже готовы к подключению и монтажу в корпус устройства. Ко всем этим устройствам уже написаны библиотеки для работы, примеры использования, что позволяет за пару часов собрать воедино и заставить работать все необходимое для решения задачи.
Также можно подключать свои сигнальные схемы и исполнительные устройства. Единственное следует сигнал со своих устройств аппаратно запихнуть в диапазон 0-5В, и обеспечить управление устройствами сигналом 5В. Естественно к контроллеру есть готовые модули реле, которые будут коммутировать нагрузку до 2КВ.
В разрезе нашего хобби присутствуют готовые гильзованные градусники, датчики давления, ЖК и LCD экраны, датчики разлития воды, газов, напрямую к контроллеру можно зацепить некоторые твердотельные реле, что позволяет без проблем коммутировать мощную нагрузку. На борту контроллера есть аналогово-цифровой преобразователь, позволяющий измерять напряжение на входе в диапазоне 0-5В. К примеру можно при помощи трансформатора 220-5В и нескольких резисторов получить на входе контроллера значение мгновенного напряжения в сети. Все это, включая контроллеры, на данный момент стоит копейки.
Контроллер может производить примерно 16000000 простейших операций с целыми числами в секунду, что позволяет производить над всеми входящими сигналами вычисления и принимать решения о подаче сигналов на исполнительные устройства.
Отладка и загрузка происходят тоже очень просто: после установки среды программирования контроллер подключается через обычный USB кабель к компьютеру, после сборки программы, она заливается в контроллер, который начинает работать согласно программы. Для отладки используется серийный порт, который выглядит приблизительно как окно чата. Если в программе написать строчку Serial.print ( "привет, мой господин!"); контроллер в определенный момент выдаст ее в чат. Так же контроллер может слушать команды которые введет пользователь в этот чат и выполнять их (если так задумано в программе).
Язык программирования практически идентичен C++, так что те, кто имели хотя бы базовое представление о программировании, наверняка свободно смогут решать свои задачи по автоматизации с с использованием контроллеров Ардуино.
Если электроника и электротехника вам не чужды - думаю не будет проблем с освоением платформы.
Вот один из базовых курсов по Ардуино. Мне очень помог стартануть.
http://zelectro.cc/arduino_lessons
Больше всего в платформе Ардуино меня поразила и увлекла доступность контроллеров и модулей для решения реальных задач: только подумать, что базовую плату контроллера Нано можно купить за 150р в Китае, а базовый контроллер УНО 32К памяти со стабилизатором на 5В и отдельным разьемом питания можно купить в России менее, чем за 500р.
(буду дописывать по мере возможности)