Проверка/Оформление/Редактирование: Мякишев Е.А.
Что такое Arduino?[1]
Arduino – это прототипная платформа с открытым кодом, в основе которой лежит легкое в использовании оборудование и ПО. Платы Arduino способны считывать входящую информацию, будь то свет, попавший на датчик, палец, нажавший на кнопку, или сообщение, присланное через Twitter, а затем превращать ее в выходные данные, тем самым, например, заводя мотор, включая светодиод или делая какую-то онлайн-запись. Чтобы Arduino выполнила какую-то задачу, ее микроконтроллеру нужно отослать набор инструкций. Делается это при помощи языка программирования Arduino (основан на Wiring) и среды разработки (IDE) Arduino, основанной на Processing.
За прошедшие годы Arduino успела стать «мозгом» для тысяч проектов – от повседневных предметов до сложных научных инструментов. Вокруг этой открытой платформы сформировалось крепкое международное сообщество, включающее студентов, художников, программистов и просто любителей, обогативших техническую сферу огромным количеством доступных знаний, которые могут оказать немалую помощь не только новичкам, но и экспертам.
Проект Arduino родился в Институте интерактивного дизайна города Ивреа (Италия) в виде простого инструмента для быстрого прототипирования с прицелом на студентов, не имеющих опыта в электронике и программировании. В дальнейшем, попав к более широкому кругу пользователей, плата Arduino начала меняться, адаптируясь под новые нужды и вызовы – в диапазоне от простых 8-битных плат до продуктов для интернета вещей, носимой электроники, 3D-печати и встраиваемых систем. Все платы Arduino имеют открытый код, что позволяет делать из них совершенно независимые проекты и благодаря этому подстраивать под абсолютно любые нужды. Программное обеспечение для Arduino тоже работает по принципу открытого кода и, благодаря вкладу пользователей со всего мира, постоянно улучшается.
Почему Arduino?
Платы Arduino нашли применение в тысячах проектов, и во многом благодаря своей простоте и доступности. ПО для Arduino универсально – им могут пользоваться и новички, и продвинутые пользователи. Оно работает на Mac, Windows и Linux. Учители и студенты используют Arduino для создания недорогих научных инструментов – например, для демонстрации физических и химических законов или вводных занятий по программированию и робототехнике. Дизайнеры и архитекторы конструируют с помощью Arduino интерактивные прототипы, а музыканты и художники используют их для создания инсталляций и экспериментирования с новыми музыкальными инструментами. Проекты с использованием Arduino можно часто видеть, к примеру, на выставке Maker Faire. Кроме того, Arduino – идеальный инструмент для изучения новых вещей. Начать работать с Arduino может кто угодно – ребенок, любитель, художник, программист – для чего производитель публикует подробные пошаговые инструкции.
Впрочем, список микроконтроллеров для аппаратных вычислений не ограничивается одной лишь Arduino. Схожий функционал имеют, к примеру, Parallax Basic Stamp, BX24 (от Netmedia), Phidgets, Handyboard (от MIT) и многие другие. Обычно программирование на микроконтроллерах сопровождается множеством сложностей, а все вышеперечисленные инструменты упрощают этот процесс, заворачивая его в простую для использования упаковку.
То же самое делает и Arduino, но при этом обладает рядом преимуществ, которые будут особенно интересны учителям, студентам и интересующимся любителям:
- Дешевизна. Если сравнивать платы Arduino с другими микроконтроллерными платформами, то они стоят относительно недорого. Самую дорогую версию модуля Arduino можно собрать самостоятельно, но даже предварительно собранные модули стоят менее 50 долларов.
- Кроссплатформенность. Среда разработки Arduino работает на Windows, Macintosh OSX и операционных системах Linux. Большинство микроконтроллерных систем ограничены Windows.
- Простые и понятные средства для программирования. Среда разработки Arduino очень проста, благодаря чему с ней могут работать даже те, кто в этой области совсем не разбирается. В то же время она достаточно гибка для того, чтобы пригодиться и для более продвинутых пользователей. Если говорить об образовательных целях, то IDE Arduino основана на IDE Processing, а это значит, что студенты знакомые с IDE Processing будут ориентироваться и в IDE Arduino.
- Расширяемое ПО с открытым кодом. ПО к Arduino – это инструмент с открытым кодом, благодаря чему опытные программисты могут свободно видоизменять и расширять его. Возможности языка Arduino можно увеличить при помощи библиотек C++, а для людей, которые хотят получше разобраться в технических деталях, есть вариант начать изучение языка программирования AVR C, на котором основан язык Arduino. Кроме того, при желании код AVR-C можно добавлять в скетчи Arduino напрямую.
- Расширяемое оборудование с открытым кодом. Схемы плат Arduino публикуются с лицензией Creative Commons, благодаря чему опытные схемотехники могут создавать собственные версии модулей Arduino, расширяя и улучшая их. Кроме того, даже неопытные пользователи могут попробовать создать макетную версию платы Arduino – либо для того, чтобы понять, как она работает, либо просто чтобы сэкономить.
Как использовать Arduino?
Уроки для начала работы с Arduino можно найти тут.
См.также
Внешние ссылки
развернутьПартнерские ресурсы |
---|
Криптовалюты |
|
---|
Магазины |
|
---|
Хостинг |
|
---|
Разное |
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
|
---|
развернутьПримеры Arduino |
---|
Стандартные функции |
---|
Основы |
|
---|
Цифровой сигнал |
|
---|
Аналоговый сигнал |
|
---|
Связь |
- ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
- ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
- Dimmer - Изменение яркости светодиода при помощи движения мышкой.
- Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
- Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
- Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
- Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
- Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
- SerialEvent - Демонстрирует использование SerialEvent().
- Serial input (Switch (case) Statement) - Как совершать различные действия, беря за основу символы, присланные через последовательный порт.
- MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
- MultiSerialMega - Использование двух последовательных портов на Arduino Mega.
|
---|
Управляющие структуры |
- If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
- For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
- Array - Вариация примера «For Loop», но с использованием массива.
- While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
- Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
- Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
|
---|
Датчики |
- ADXL3xx - Считывание данных с акселерометра ADXL3xx.
- Knock - Определение стука при помощи пьезоэлемента.
- Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
- Ping - Определение объектов при помощи ультразвукового дальномера.
|
---|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
---|
Строки |
|
---|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
---|
Клавиатура |
- KeyboardMessage - Отправка текстовой строки при нажатии на кнопку.
- KeyboardLogout - Выход из текущей пользовательской сессии при помощи клавиатурных комманд.
- KeyboardSerial - Считывает байт, присланный через последовательный порт, а в ответ отсылает другой байт.
- KeyboardReprogram - Открывает новое окно в среде разработки Arduino, а затем перешивает Leonardo скетчем «Моргание».
|
---|
Мышь |
|
---|
Разное |
---|