Ардуино что это и зачем? – RoboCraft
Как мы узнали — это “аппаратная вычислительная платформа”, а по-русски — контроллер.
А что такое контроллер?
Для тех кто немного в курсе: не путать с микроконтроллером — МК это atmega, PIC и прочие “микросхемы” – однокристальные микро-ЭВМ, а контроллер это плата такая, на которую этот самый МК запаян.
Для тех кто совсем не в курсе: контроллер это такое электронное устройство которое что- нибудь контролирует — то есть реагирует на изменения одних параметров изменением других. Ну вот например кондиционер на стене видишь? (я тоже не вижу, но у кого-то он наверняка есть) так вот там тоже стоит умная плата-контроллер включающая/выключающая подогрев/охлаждение/осушение/увлажнение воздуха когда нужно.
Кондиционер, mp3 плеер, велокомпьютер, сигнализация, мобильник, навигатор — всё это (грубо говоря) специализированные контроллеры. А вот комп настольный это контроллер универсальный, да ещё и расширяемый, и с его помощью всё вышеперечисленное можно реализовать. Нужны будут только соответствующие платы расширения и софт.
Ардуино
Так вот ардуино тоже универсальный контроллер, который можно заточить под какую-нибудь задачу и превратить в законченное электронное устройство произвольного назначения, от часов с будильником до робота. Или просто играться — собирая разбирая всякие приблуды=)
Радиоконструктор в общем.
К самой плате можно подключать различную периферию – кнопки, некоторые виды датчиков (температуры, давления, освещённости, ускорения и т.п.), светодиоды, жидкокристаллические индикаторы (цифро-буквенные, а не LCD-монитор конечно =) написать программу и заставить взаимодействовать всё это как угодно. Масса применений кстати.
Системы сбора данных (чёрный ящик для аквариума – пишет температуру раз в 5 минут)
Таймеры-Счётчики событий (сколько раз и во сколько кот подходил к пустой миске)
Сигнализации-Извещатели (кот превысил разрешенное количество подходов к миске, температура в аквариуме ниже 0, кто-то покинул туалет не выключив свет/не смыв/не опустив стульчак =)
В таком духе. Cкучновато конечно. Прям как древний пустой комп — ну клава, ну моник, ну часы, ну пасьянс какой-нибудь… А вот если воткнуть звуковушку, модем, мышь с джойстиком, да тв-тюнер с веб-камерой присобачить…уже больший полёт фантазии можно наблюдать.
Так же подключая к ардуино различные устройства – шилды(shields) добавляем различные функции — так можно управлять всякими двигателями, сервомашинками, сетевой нагрузкой наконец (свет, обогреватель, чайник и т.п.). Можно подключить GPS или GSM модуль и получать координаты со спутника или отправлять данные на свой телефон – координаты своей машины которую кореш взял покататься, или угнали не дай бог, или в командировке узнать что твой любимый кактус никто не поливает. Можно воткнуть Ethernet-модуль и выпустить свой девайс в интернет — пусть шлёт данные на твой сайт, или пусть пишет всё на SD-карту воткнутую в соответствующий шилд. Можно добавить каналы связи – ИК, радиоканал, а то и вообще Bluetooth, со всеми вытекающими.
Ещё примеры что в голову приходит:
Автокормушка для домашних животных
Контроллер аквариума
Дебаггер для машины (все температуры, давления, обороты твоего жигуля на красивом экранчике, расшифровка блинк-кодов)
Системы удалённой телеметрии
Велокомпьютер
Элементы умного дома (управление светом, шторами, вентиляцией, кондиционированием, отоплением, прочими электроприборами)
Элементы хобби-чпу
Простые промышленные контроллеры
Ну и конечно робототехника! (для этого сайта — основное направление развития =)
И всё это в произвольных комбинациях — ограничивает только фантазия и владение железом/софтом.
Почему ардуино? Да, есть ещё немало универсальных контроллеров и плат развития позволяющих осуществлять и более амбициозные проекты. Но! Ардуино имеет ряд преимуществ:
Не нужен программатор
Не нужны особо глубокие познания в программирования микроконтроллеров
Проект ардуино полностью открытый
Платформа набирает популярность — куча сайтов с библиотеками, схемами и проектами
Стандартизация расположения выводов — это делает её привлекательной для производителей – появляются всё новые шилды
Кроссплатформенная среда разработки
Вообще полазив по интернету возникает ощущение что ардуино становится стандартом для целого класса хоум-мейдеров=)
далее: ХоумМейд Arduino — как сделать Arduino своими руками
По теме
Почему Arduino побеждает и почему он здесь, чтобы остаться?
Arduino, термины, начало работы
КМБ для начинающих ардуинщиков
Состав стартера (точка входа для начинающих ардуинщиков)
Возможные ошибки при работе с Arduino
Купить Arduino или CraftDuino — можно в нашем Магазине.
Я презираю Arduino / Хабр
Я – выпускник специальности «Микроэлектроника и полупроводниковые устройства». За годы обучения я разработал множество устройств на микроконтроллерах, участвовал в конкурсах вместе со своей командой и являлся заведующим лабораторией встраиваемых систем. У меня есть мечта – создать в своей стране условия для разработки роботизированных систем и есть план её достижения, одним из пунктов которого является участие в подготовке большого количества профессионалов в этой области.
Я радуюсь, когда будущие инженеры создают свои устройства и расстраиваюсь, когда слышу, как кто-то говорит об использовании Arduino в них.
Это не первая моя статья на эту тему: у меня возникает желание написать такую сразу после прочтения фразы о безграничных возможностях платформы в DIY-топике на Хабре. У меня возникает желание написать об истинной цене деталей после прочтения статьи о покупке конструктора за $200 почти ничего не содержащего (уж простите, запамятовал где видел).
Дело тут совсем не в том, что я считаю, что Arduino – это плохая идея. Наоборот – благодаря платформе многие познали мир микроконтроллеров, узнали, что собрать небольшое прикольное устройство может даже человек без специального образования, с минимальными познаниями в программировании и с отсутствием познаний в электронике.
Благодаря Arduino увидело свет множество проектов, которые пылились в банках памяти мозга их авторов.
Честно признаюсь, я иногда и сам пользовался кодом, написанным для Ардуино (к примеру, фирма InvenSense производит модуль MPU6050, запустить нормально который получилось только у Jeff Rowberg).
К нам в лабораторию заходил (и работал с нами) студент кафедры информационных технологий — поклонник Arduino. Человек тратил огромные деньги на покупку самих *дуин и модулей к ним. Я не без сожаления наблюдал, как будущий (я всё же надеюсь) создатель роботизированных систем не мог запустить ШИМ нужной частоты, хотя «лётных» часов работы с платформой он намотал немало.
Так вот, этот студент показал мне «измеритель уровня заряда батареи», или как-то так. Я специально нашёл его сейчас на ebay, где он называется «High Sensitivity Voltage Sensor Module -Arduino Compatible» и продаётся за $8.58. Вот он, на рисунке:
Кстати, центральный провод, который «+» — он просто висит в воздухе – всё сделано для максимального удобного подключения простого делителя напряжения, красная цена которому 2 цента за резисторы и 20 центов за разьём – это если в розницу покупать.
Это не единственный случай обмана нашего брата, ниже я приведу ещё несколько. Сейчас же, для любителей структурирования, я напишу основные недостатки Arduino.
- Библиотеки. Я люблю библиотеки – я пишу свои классы и функции, или использую грамотно написанный код моих коллег – это существенно ускоряет мою работу. Библиотеки Arduino просты в освоении, но на этом их плюсы заканчиваются. К примеру, вы можете всю жизнь формировать задержки с помощью delay-функций и не иметь простейшего представления, как работает таймер на микроконтроллере — из таких минусов состоят все библиотеки Arduino.
Я имею в виду то, что таймер и другая периферия в микроконтроллере реализована так, чтоб компенсировать его однопоточность прерываниями. А люди тратят процессорное время на декрементацию неиспользуемой переменной.
Строка в последовательный порт не посылается с помощью конечного автомата с множеством пустых циклов ожидания флага опустошения буфера в основном теле программы – это опять же пустое расходование ресурсов – ведь есть прерывания.
Да, в Arduino можно включить прерывания, но кто это делает?
На Хабре есть хорошая статья о том, как ускорить работу библиотек Arduino. - Среда разработки. Микроконтроллеры можно программировать в IAR, Eclipse, Keil и других, менее известных средах.
А IDE Arduino является кроссплатформенным и с подсветкой синтаксиса. - Мощность. Причём, как аппаратная, так и рассеиваемая. Разработка любой встраиваемой системы начинается с выбора компонентов в зависимости от требуемых функций. Для моргания диодом Atmega328 (или 2560) – слишком мощно, а для создания системы реального времени с алгоритмами обработки изображений – слишком слабо.
- Расхолаживание программистов. Программирование микроконтроллера не требует особых навыков и умений, но потратить пару часов и изучить работу нескольких периферийных устройств, тем самым размяв свои мозги, всё же придётся. Зачем это делать, если можно написать что-то вроде analogRead и digitalWrite?
- Цена. Тут уже вопрос не только к производителям Arduino и клонов: цены на контроллеры AVR в целом завышены. К примеру, Atmega2560 обойдётся вам в $10. За такие же деньги можно купить два STM32F103. Так получилось потому – что людям лень учить другие контроллеры, а по этим кругом множество материалов и примеров.
На Hobbyking, где любителей различных моделизмов обманывают так-же как и в других магазинах любителей ардуино, продавался как-то обычный конденсатор, под видом какого-то фильтра. Не смог его сейчас уже найти. С трёхпиновым разьёмом, естественно. Всего за 3 доллара.
Arduino Compatible Mini Motor Speed counter Sensor AVR PIC – заменяется светодиодом и фототранзистором, подключающимися к центральному контроллеру и двадцатью строчками кода. Он не стоит 7.98.
2*4 Matrix Keyboard Push Buttons AVR ARM Arduino Compatible – это просто кнопки, которые можно купить по цене 10 штук за доллар.
Есть один девайс в мире, который я ненавижу больше чем Arduino – это mbed. Его разработчики взяли контроллер LPC1768 (есть ещё на LPC11U24), припаяли его на плату с двумя стабилизаторами (о качестве разводки платы я говорить не буду), вывели половину ног наружу (вторая половина никуда не подключена, что очень раздражает), написали онлайн недо-IDE (впрочем, чуть лучше, чем у Arduino, хоть и требует подключения к интернету) и продают его за $64. Простите, но это уже совсем.
Что делать, если вы, вдруг, решили перестать топтаться на месте, и начать изучать микроконтроллеры?
- На Хабре был цикл статей «STM32F1xx — лечимся от ардуинозависимости вместе» — статьи хорошие и достаточно понятные, жаль, что автор забросил написание новых статей.
- Всех новичков посылают на easyelectronics.ru, где товарищ DIHALT публиковал учебный курс по микроконтроллерам AVR.
- «Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С» С. Ф. Баррет, Д. Дж. Пак – супер книга, помогает понять основы программирования на C для микроконтроллеров. Единственная проблема – вы вряд ли достанете микроконтроллеры Freescale, поэтому примеры придётся самостоятельно портировать примеры на AVR, PIC, MSP430 или любой другой контроллер.
- Перед покупкой чего бы то не было для своих устройств, почитайте об этом хотя-бы в Википедии — возможно эту же деталь можно купить дешевле, если назвать её по-другому.
Вообще знаете, что странно? Среди пользователей Arduino есть даже те, кто презирают Apple за их «направленность на
занятого-для-таких-мелочей юзера».
Я не хочу никого обидеть или переубедить. Но я буду рад, если хоть один человек, дочитавший статью до этого момента, поменяет Arduino на простой микроконтроллер – может быть, из него получится хороший разработчик встраиваемых систем в будущем.
— Справочник Arduino
Эта страница также доступна на 2 других языках
Изменить язык
Английский
- Немецкий
- Португальский (Бразилия)
функции
Для управления платой Arduino и выполнения вычислений.
Цифровой ввод/вывод
цифровойЧитать()контактный режим ()
Аналоговый ввод/вывод
аналоговоеЧтение()аналоговая ссылка()
аналоговая запись ()
Zero, Due и MKR Family
аналогReadResolution()аналогWriteResolution()
Расширенный ввод-вывод
Не один()импульсВ()
пульсДлинный()
перейти в()
сдвигВыход()
тон()
Время
задерживать()задержкамикросекунд()
микро()
миллис()
Математика
абс()ограничение()
карта()
Макс()
мин()
пау ()
кв()
квт()
Тригонометрия
потому что ()грех()
загар()
Символов
Альфа()isAlphaNumeric()
isAscii()
isControl()
isDigit()
isGraph()
isHexadecimalDigit()
нижний регистр()
isPrintable ()
точка()
isSpace()
Верхний регистр()
естьбелое пространство ()
Случайные числа
случайный()случайное зерно()
Биты и байты
кусочек()битОчистить()
битПрочитать()
битовый набор()
битЗапись()
высокий байт ()
низкий байт()
Внешние прерывания
прикрепить прерывание ()отсоединить прерывание ()
Прерывания
прерывает()без прерываний ()
Связь
СерийныйСПИ
Транслировать
Проволока
USB
Клавиатурамышь
переменные
Типы данных и константы Arduino.
Константы
ВЫСОКИЙ | НИЗКИЙВВОД | ВЫХОД | INPUT_PULLUP
LED_ВСТРОЕННЫЙ
правда | ЛОЖЬ
Константы с плавающей запятой
Целочисленные константы
Преобразование
(целое без знака)(длинный без знака)
байт()
символ ()
плавать()
интервал()
длинный()
слово()
Типы данных
множествологический
логический
байт
уголь
двойной
плавать
инт
длинный
короткий
размер_t
нить
Нить()
беззнаковый символ
беззнаковое целое
беззнаковый длинный
пустота
слово
Область видимости переменных и квалификаторы
константаобъем
статический
изменчивый
Коммунальные услуги
ПРОГРАММАразмер()
структура
Элементы кода Arduino (C++).
Эскиз
петля()настраивать()
Структура управления
перерывпродолжать
делать пока
еще
для
идти к
если
возвращаться
переключатель … случай
пока
Дальнейший синтаксис
#определять (определять)#включать (включать)
/* */ (заблокировать комментарий)
// (однострочный комментарий)
; (точка с запятой)
{} (Фигурные скобки)
Арифметические операторы
% (остаток)* (умножение)
+ (добавление)
— (вычитание)
/ (разделение)
«=» (оператор присваивания)
Операторы сравнения
«=» (не равно)< (меньше, чем)
<= (меньше или равно)
== (равно)
> (больше чем)
>= (больше или равно)
Логические операторы
! (логично нет)&& (логично и)
|| (логическое или)
Операторы доступа к указателям
& (ссылочный оператор)* (оператор разыменования)
Побитовые операторы
& (побитовое и) 9(побитовый xor)| (побитовое или)
~ (побитово нет)
Составные операторы
«=» (сложный остаток)«=» (составное побитовое и)
«=» (сложное умножение)
++ (приращение)
+= (составное добавление)
— (уменьшение) 9″=» (составной побитовый xor)
|= (составное побитовое или)
Стартовый набор Arduino
, многоязычный — Официальный магазин Arduino
Код: K000007 / Штрих-код: 7630049200081
95,90 €
| /
Английский — €95,90 Итальянский — €95,90 Французский — €95,90 Испанский — €95,90 немецкий — €95,90 Арабский — €95,90 Китайский — €95,90 Корейский — €95,90 Японский — €95,90 Португальский — €95,90
Английский итальянский Французский испанский Немецкий арабский Китайский Корейский Японский португальский Ланг
1 2 3 4 5 6 7 8 9 10+ Количество
Количество
Добавить в список желаний
Начните работу с электроникой быстро и легко — предварительный опыт не требуется. Доступные версии: Deutsch (DE), English (EN), Español (ES), Français (FR), Italiano (IT), 中文 (CN), 한글 (KO) عربى (ARA)
##цена##
Расширьте свои возможности, добавьте в корзину: €0,00
Обзор
Быстро и легко приступить к изучению электроники с помощью стартового комплекта Arduino, который понравится любителям STEM дома, предприятиям, работающим в сфере STEAM, и школам. Предварительный опыт не требуется, так как наборы знакомят с кодированием и электроникой посредством веселых, увлекательных и практических проектов. Вы можете использовать стартовый комплект для обучения студентов току, напряжению и цифровой логике, а также основам программирования. Это введение в датчики и приводы, а также в то, как понимать как цифровые, так и аналоговые сигналы. В рамках всего этого вы будете учить студентов критически мыслить, учиться совместно и решать проблемы.
Проекты, которые вы можете сделать:
- 01 ЗНАЙТЕ СВОИ ИНСТРУМЕНТЫ введение в основы
- 02 ИНТЕРФЕЙС КОСМИЧЕСКОГО КОРАБЛЯ спроектируйте панель управления для вашего звездолета
- 03 LOVE-O-METER измерьте, насколько вы вспыльчивы
- 04 ЛАМПА СМЕШИВАНИЯ ЦВЕТОВ производит любой цвет с помощью лампы, использующей свет в качестве входного сигнала
- 05 НАСТРОЕНИЕ подскажите людям, как у вас дела
- 06 СВЕТИЛЬНЫЙ ТЕРМЕНВОН создайте музыкальный инструмент, на котором вы играете, взмахивая руками
- 07 КЛАВИАТУРНЫЙ ИНСТРУМЕНТ играйте музыку и шумите с помощью этой клавиатуры
- 08 ЦИФРОВЫЕ ПЕСОЧНЫЕ ЧАСЫ песочные часы с подсветкой, которые помогут вам не переутомляться
- 09 МОТОРИЗОВАННАЯ ШТУЧКА цветное колесо, от которого у вас закружится голова
- 10 ZOETROPE создать механическую анимацию, которую можно воспроизводить вперед или назад
- 11 ХРУСТАЛЬНЫЙ ШАР мистическое путешествие, чтобы ответить на все ваши сложные вопросы
- 12 УДОБИТЬ ЗАМОК наберите секретный код, чтобы открыть дверь
- 13 TOUCHY-FEEL LAMP лампа, реагирующая на прикосновение
- 14 НАСТРОЙКА ЛОГОТИПА ARDUINO Управляйте своим персональным компьютером с Arduino
- 15 КНОПОК ДЛЯ ВЗЛОМА Создайте главный элемент управления для всех ваших устройств!
Как только вы освоите эти знания, у вас будет палитра программного обеспечения и схем, которые вы сможете использовать для создания чего-то прекрасного и заставить кого-то улыбнуться своим изобретением. Затем создайте его, взломайте и поделитесь им. Вы можете найти код Arduino для всех этих проектов в Arduino IDE, нажав Файл / Примеры / 10.StarterKit.
Взгляните на эти видеоуроки для пошагового прохождения проекта за проектом.
Изображения приведены только для иллюстрации. Фактический продукт может отличаться из-за усовершенствования продукта .
Нужна помощь?
— о программном обеспечении на форуме Arduino
— о самом продукте через нашу службу поддержки клиентов кабель,
1 Макетная плата 400 точек,
70Проводные перемычки с цельным сердечником,
1 Легко собираемое деревянное основание,
1 Защелка для батареи 9 В,
1 Многожильные провода перемычки (черные),
1 Многожильные провода перемычки (красные),
6 Фототранзистор,
3 Потенциометр 10 кОм,
10 кнопок,
1 датчик температуры [TMP36],
1 датчик наклона,
1 буквенно-цифровой ЖК-дисплей (16×2 символов),
1 светодиод (ярко-белый),
1 светодиод (RGB),
8 светодиодов (красный),
8 светодиодов (зеленый) ),
8 светодиодов (желтые),
3 светодиода (синие),
1 малый двигатель постоянного тока 6/9V,
1 Малый серводвигатель,
1 Пьезо-капсула [PKM22EPP-40],
1 Драйвер двигателя Н-моста [L293D],
1 Оптопары [4N35],
2 Мосфет-транзисторы [IRF520],
3 Конденсаторы, 9024, 10024 5 Диоды [1N4007],
3 Прозрачные гели (красный, зеленый, синий),
1 Штыревая планка (40×1),
20 Резисторы 220 Ом,
5 Резисторы 560 Ом,
5 Резисторы 1 кОм,
5 Резисторы 7 кОм 4.