Skip to content

Instantly share code, notes, and snippets.

@Infarh
Created January 21, 2014 13:01
Show Gist options
  • Save Infarh/8539606 to your computer and use it in GitHub Desktop.
Save Infarh/8539606 to your computer and use it in GitHub Desktop.
Arduino-FAQ
1.
?: Что такое Ардуино?
!: Ардуино - это набор устройств, язык программирования и среда разработки, которые позволяют решать задачи автоматизации и управления различными устройствами от простейших датчиков и реле до модернизации уже существующих сложных систем вроде механизмов стеклоподъёмников в автомобиле.
2.
?: Что можно сделать на основе Ардуино?
!: Возможности Ардуино ограничены лишь фантазией. Платформа Ардуино представляет базовый набор датчиков/исполнительных устройств для взаимодействия с внешним миром и устройств управления (программируемых контроллеров и микрокомпьютеров), способных реализовывать логику автоматизированного сбора данных и управления.
3.
?: C чего начать?
!: Для начала работы с Ардуино нужно желание и одно из устройств (на пример Arduino UNO), а также датчик/исполнительное устройство (сервопривод или реле). Перечень устройств можно найти, на пример, на сайте Ардуино http://arduino.cc , либо на сайтах поставщиков ( http://amperka.ru http://chipdip.ru ). Как правило к каждому из устройств на сайте приложен пример его использования, программный код для контроллера и даже видео. кроме того, в сети существуют сообщества, где можно найти статьи по Ардуино, примеры, а также получить ответы на конкретные вопросы, связанные с работой тех. или иных блоков и устройств.
4.
?: Я могу реализовать ХХХ-функциональность на микросхеме YYY. Чем подход с использованием Ардуино лучше?
!: Ардуино представляет программируемую открытую платформу, в ядре которой находятся программируемые контроллеры (и микрокомпьютеры) с чётко определёнными интерфейсами аналоговых и цифровых входов/выходов. Такой подход позволяет создавать модульную структуру разрабатываемого решения и даёт возможность добиться большей стабильности, масштабируемости системы, а также упрощает сам процесс разработки и отладки.
5.
?: Где найти больше информации по Ардуино?
!: Основной источник информации находится в сети. Первый адрес - сайт производителя Arduino http://arduino.cc , где собраны описания поддерживаемых на текущий момент устройств. В сети также существует ряд сообществ, связанных тематикой Arduino. Как пример можно выделить форум http://www.cyberforum.ru/arduino/ и http://habrahabr.ru/search/?q=Arduino
6.
?: Где найти примеры работы с Ардуино?
!: Практически для каждого устройства, поддерживаемого официальным производителем в IDE заложены шаблоны базовой функциональности. которые можно использовать, как "начало отсчёта" для Вашей программы. Они расположены в главном меню/Файл/Примеры
7.
?: Где найти среду разработки для микропрограмм контроллеров?
!: Среду разработки можно свободно скачать с сайта официального разработчика Arduino по адресу: http://arduino.cc/en/Main/Software
8.
?: С чего начать писать программу?
!: 1-ое что потребуется, это определиться с контроллером (платой) для которой будет писаться программа. В Главном меню IDE/Сервис/Плата представлен перечень поддерживаемых средой аппаратных средств. Здесь необходимо указать IDE под какой контроллер будет компилироваться программа. 2. При подключении платы к USB-порту компьютера ОС автоматически должна получить и настроить драйвера для работы с ней. После этого IDE получит возможность напрямую программировать плату через USB-порт, а так же получит доступ к последовательному порту платы для передачи и приёма информации по последовательному интерфейсу. 3. Нужно определиться с желаемой функциональностью, и имеющейся для неё периферией (набором датчиков и исполнительных механизмов и интерфейсов). После этого базовые примеры программ по интересующей тематике можно найти в Главном меню IDE/Файл/Примеры. 4. После выбора примера его программный код тут же становится доступен для загрузки его в контроллер нажав на кнопку "Загрузить" (вторая вверху слева со стрелочкой вправо). После чего код будет проверен на ошибки, скомпилирован и автоматически запущен процесс загрузки его в контроллер. по окончанию загрузки контроллер будет перезапущен и тут же начнёт выполнение загруженной программы.
9.
?: Какие датчики можно использовать совместно с Ардуино?
!: С платформой Ардуино можно использовать любые датчики. Вопрос использования датчика лишь в согласовании его интерфейса с платформой. Простейшие датчики, поставляемые официальным разработчиком платформы уже согласованы (по входному сопротивлению, динамическому диапазону, имеют готовый стандартный разъём для подключения к плате). Использование остальных датчиков (может и скорее всего по)требует дополнительных схемотехнических решений для подключения их к плате. В простейшем случае это может быть связано с дополнения датчика разъёмом. позволяющим подключить его к контроллеру. но скорее всего может потребоваться разработка (простейшей) схемы усиления/ослабления сигнала и т.п.
10.
?: Как научиться работать с датчиком ХХХ?
!: Если датчик изготовлен официальным разработчиком платформы Arduino, либо разработан специально под платформу сторонним производителем, то первое что нужно сделать - поискать на сайте производителя на странице описания датчика примеры работы с ним и детальную информацию о его электрических параметрах. Там же может находиться (ссылка на) форум, где тема работы с данным устройством либо уже обсуждалась, либо может быть создана. В случае отсутствия подобных возможностей необходимо детальное описание электрических параметров датчика. Необходимо рассматривать датчик как источник аналогового/цифрового сигнала, подключаемого к аналоговому/цифровому входу платы.
11.
?: Что такое цифровой вход/выход и чем он отличается от аналогового?
!: Контроллеры Arduino могут иметь несколько аналоговых и цифровых входов/выходов. Аналоговый вход представляет собой вывод на разъёме платы, с которого можно получить значение напряжения с точностью 5В/256разрядов АЦП. Таким образом, можно сказать, что по аналоговому входу плата позволяет измерять значение напряжения. Аналоговый выход аналогичен входу с той лишь разницей, что плата позволяет устанавливать значение напряжение на выходе от 0 до 5В с точностью 5В/256разрядов ЦАП. АЦП - аналого-цифровой преобразователь, ЦАП - цифро-аналоговый преобразователь. Цифровой вход представляет собой вывод, значение напряжения на котором плата способна определить с точностью либо 0В, либо 5В. 0В - соответствует логическому 0, 5В - соответствует логической 1. Цифровой выход работает подобно выключателю. При состоянии логического - 0 выход (относительно "земли") представляет собой разрыв цепи, а при состоянии логической 1 - короткое замыкание. Таким образом, цифровой выход можно использовать как коммутатор, или ключ.
12.
?: Что такое ток (сила тока)?
?: Что такое напряжение?
?: Что такое сопротивление?
!: Под действием электрического поля в проводнике заряженные частицы начинают двигаться от точки с большим потенциалом (от +-а) к точке с меньшим потенциалом (к минусу). Это движение называется током. Каждая частица несёт определённый заряд (измеряемый в Кулонах). Количество этих частиц (зарядов электронов), протекающих через проводник в единицу времени (в секунду) называется величиной тока (силой тока) и измеряется в Амперах. А сила, с которой электрическое поле источника действует на один заряд в проводнике - это напряжение, измеряемое в Вольтах. Отношение напряжение к току определяет величину сопротивления, которое оказывает проводник движению зарядов. Чем больше напряжение и при этом чем меньше сопротивление, тем сильнее будет протекать ток в проводнике.
13.
?: Как работает катушка индуктивности?
!: Катушка индуктивности представляет собой длинный провод, смотанный в катушку. Ток в проводе представляет собой упорядоченное движение носителей заряда. Такое движение создаёт вокруг провода магнитное поле. Сворачивая провод в катушку мы концентрируем поле в одном месте. Особенность катушки индуктивности заключается в том, что ток в её проводе не может измениться скачком (быстро). Катушку индуктивности применяют в качестве реактивного элемента в цепях фильтров, либо как демпфирующий элемент для импульсных токовых помех.
14.
?: Как работает конденсатор?
!: Конденсатор представляет собой в общем случае две близкорасположенные металлические (токопроводящие) поверхности, разделённые токоизолирующим слоем. на электрических поверхностях - обкладках конденсатора при воздействии электрического поля источника накапливается заряд. Одна поверхность заряжается положительно, другая - отрицательно. При этом, в процессе зарядки через конденсатор протекает ток. Когда конденсатор полностью заряжен, для постоянного тока он представляет собой разрыв цепи.
15.
?: Как можно управлять лампочкой с помощью Ардуино?
!: Если лампочка представляет собой слаботочную нагрузку (пример - светоизлучающий диод), то её можно подключить напрямую к цифровому выходу. В случае использования мощных ламп необходимо применение силовых реле для коммутации. http://arduino-ua.com/prod337-Silovoi_shild
16.
?: Как мне подключить клавиатуру (джойстик, камеру) к контроллеру?
!: Для этого существуют платы-расширения. На пример http://arduino-ua.com/prod173-Arduino_USB_Host_Shield, представляющая собой USB-Host устройство.
17.
?: Каким образом можно организовать удалённую передачу данных от датчика/устройства/системы с использованием оборудования платформы Ардуино?
!: Существуют платы-расширения для использования транспортных стандартов Ethernet/WiFi/Bluetooth/etc. На пример http://arduino-ua.com/prod455-WiFi_shield ; http://arduino-ua.com/prod391-W5100_ethernet_shield
18.
?: Как можно подключить а Ардуино серво-привод (моторчик)?
!: Для подключения шаговых двигателей существует драйвер http://arduino-ua.com/prod172-Draiver_2_shagovih_dvigatelei_dlya_Arduino
http://arduino-ua.com/prod582-Arduino_Motor_Shield_Rev3
http://arduino-ua.com/prod629-Monster_Moto_Shield
19.
?: Что такое шаговый двигатель и чем он отличается от обычного моторчика?
!: Электрический мотор - это устройство, у которого ротор (подвижная часть) вращается под действием напряжения, приложенного к его контактам. Скорость вращения обычно прямо пропорциональна амплитуде напряжения. Шаговый двигатель - это модифицированный электрический мотор. В нём ротор поворачивается на строго фиксированный угол ровно за один импульс цифрового управляющего сигнала. Таким образом, существует возможность точного управления положением ротора шагового двигателя и скоростью его вращения.
20.
?: Как проводить отладку написанного мной приложения, работающего на контроллере?
!: Контроллер предоставляет последовательный порт для передачи данных. В процессе работы программы существует возможность как читать из этого порта, так и писать в него (данные в сыром байтовом виде, либо типизированные - строки, числа и т.п.). При подключении контроллера к компьютеру по средствам USB-кабеля драйвер открывает этот порт в ПК, и к нему можно подключиться непосредственно из IDE используя инструмент мониторинга порта (Главное меню/Сервис/монитор порта), либо этот может быть использован в программном средстве на борту ПК для общения с контроллером через USB.
21.
?: Можно ли подключить к плате несколько датчиков?
!: На плате контроллера существует несколько аналоговых и цифровых входов/выходов. К каждому из них может быть подключён свой датчик/сервопривод. Либо функциональность контроллера может быть расширена платой расширения.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment