Что такое ардуино и как им пользоваться?

20 ответов на вопрос “Что такое ардуино и как им пользоваться?”

  1. armand1987 Ответить

    Ардуино является платой с процессором, которая позволяет собрать любое устройство/гаджет. Благодаря Arduino своими руками можно собрать даже свой собственный «умный дом».
    Arduino – это эффективная аппаратно-программная платформа для проектирования и создания новых устройств, разработанная компанией Arduino Software и представляет собой плату с контактами для подключения дополнительных компонентов. Технические характеристики устройства зависят от модели используемого микроконтроллера.
    Это касается совместимости с дополнительными компонентами. Последнее обновление программной части 1.8.0 было выпущено 20 декабря 2016 года.
    Arduino Uno R3
    Бесплатная программная интегрированная среда разработки создана на базе языков программирования C/C++ и обладает одноимённым с самим устройством название. Наличие Ардуино-совместимых плат расширяет пользовательские возможности разработки с применением аппаратных и программных компонентов.
    После того как вы приобрели плату Ардуино и решили что-то сделать – изучите наш полезный и подробный материал Ардуино Нано для начинающих, где мы подробно описали все основные шаги по работе с платой и установке необходимого программного обеспечения. Также вы можете сразу перейти к Урокам или посмотреть лучшие Публикации.

    Что можно сделать из Ардуино

    На базе Arduino можно создаются автономные и подключаемые к компьютеру проекты. Миллионы возможных комбинаций элементов программы ограничиваются только человеческой фантазией. Устройство способно получать и обрабатывать данные об окружающем мире, используя присоединяемые и программируемые датчики, такие как:
    датчик дождя,
    датчик расстояния,
    датчик температуры,
    детектор пыли,
    GPS приемник,
    и др.
    Вы можете запрограммировать систему быстро среагировать на определённое изменение, можете управлять:
    светом,
    движущимися элементами,
    моторчиками
    и разнообразными приводами.
    Система подходит для домашнего и промышленного использования.
    Рынок дополнительных плат постоянно обновляется, появляются новые инновационные разработки. Этому способствует полностью открытая архитектура системы. Программный код записывается на саму плату, благодаря встроенному в процессор программатору. Однако, проект может выполняться с компьютера, используя проводные или беспроводные источники передачи данных.
    При их отсутствии можно приобрести дополнительный модуль, добавляющий новые функции. Большая открытая база готовых проектов и чертежей CAD открывает пользователю возможности для углублённого изучения среды, порождая новые идеи для создания собственного устройства.

    Преимущества линейки плат

    Как уже было сказано ранее, Ардуино обладает открытой архитектурой, что позволяет сторонним разработчикам полностью копировать систему.
    Несмотря на высокую конкуренцию, Ардуино признана самой популярной аппаратно-программной платформой. Это достигается благодаря простоте с многофункциональностью. Рассмотрим преимущество системы над сторонними аналогами:
    Плата обладает встроенным программатором, что позволяет использовать систему без дополнительного подключения дешифратора и компилятора;
    Программная часть построена на базе C/C++, что делает её простой в использовании и изучении;
    Наличие библиотеки готовых проектов и чертежей CAD, доступных для свободного использования;
    Для сбора устройства не требуется пайка, компоненты соединяются при помощи специальной макетной доски, перемычек и проводов;
    Возможность автономной работы расширяет сферу применения устройства;
    Наличие версии для работы с популярной мобильной операционной системой Android;
    Большое количество дополнительных модулей как от разработчика, так и от сторонних производителей.
    Дружелюбная система, наличие готовых проектов и видеоуроков и простая среда разработки позволяют реализовать даже ваши самые невероятные задумки.
    Небольшая цена, доступность модулей и открытая база данных помогут в реализации задумки. Готовый проект может быть как автономным, так и переносным. Наличие портативных аккумуляторов и беспроводных источников передачи данных способствуют созданию расширенной сети из группы плат и компьютеров.
    Доступный язык программирования обладает возможностью установки дополнительных компонентов и библиотек. Модули добавляют возможность работы с Java.

    Что такое Arduino IDE

    Arduino IDE – бесплатная среда разработки для Ардуино. Для работы платы и вашего будущего проекта необходимо написать и загрузить на Arduino скетч. IDE помогает с легкостью всё это реализовать.

  2. IT Engineer Ответить

    Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Ардуино состоит из программной и аппаратной части. Программная часть включает в себя среду разработки (программа для написания и отладки прошивок), множество готовых и удобных библиотек, упрощенный язык программирования. Аппаратная часть включает в себя большую линейку микроконтроллеров и готовых модулей для них. Благодаря этому, работать с Arduino очень просто!
    С помощью ардуино можно обучаться программированию, электротехнике и механике. Но это не просто обучающий конструктор. На его основе вы сможете сделать действительно полезные устройства.
    Начиная с простых мигалок, метеостанций, систем автоматизации и заканчивая системой умного дома, ЧПУ станками и беспилотными летательными аппаратами. Возможности не ограничиваются даже вашей фантазией, потому что есть огромное количество инструкций и идей для реализации.
    проекты на Arduino

    Стартовый набор Arduino

    Для того что бы начать изучать Arduino необходимо обзавестись самой платой микроконтроллера и дополнительными деталями. Лучше всего приобрести стартовый набор Ардуино, но можно и самостоятельно подобрать все необходимое. Я советую выбрать набор, потому что это проще и зачастую дешевле. Вот ссылки на лучшие наборы и на отдельные детали, которые обязательно пригодятся вам для изучения:

  3. Slavaa2 Ответить

    Ардуино;
    USB-кабель Type-A;
    Устройство, работающее на ОС Windows.
    Скачайте бесплатную среду разработки для Ардуино с официального сайта производителя. Вместе с программой автоматически установятся драйвера для определения девайса при подключении к USB-порту. Если же Ардуино не определится – произведите ручную установку необходимых компонентов.
    На схеме должен загореться зелёный светодиод при подключении к USB. Запустите приложение и приступайте к созданию собственного скетча. Проверка работоспособности и совместимости Arduino с ПО можно проверить при помощи встроенного скетча «LED». Запуск данного процесса должен вызвать мигание светодиода.
    В меню Tool – Board выберите используемую плату. Далее следует загрузка скетча в Arduino при помощи кнопки «Upload». Успешное завершение данной операции подтверждается миганием светодиода оранжевого цвета на плате. Для подробного изучения Arduino IDE создано множество англоязычных и отечественных ресурсов, где рассказывается что такое Ардуино и как с ним работать.
    Среда разработки оснащена стандартным менеджером добавления библиотек в виде исходного кода на языке C++. Данная возможность расширяет применение компонентов, добавляя новый функционал.

    Обзор лучших плат и модулей, раскрывающих функционал Arduino

    Платы Ардуино различаются в частоте процессора, объемах памяти и поддерживаемых архитектурах. Можно выделить следующие модели:
    Arduino Uno. Хорошее решение для начинающих пользователей и простых проектов. Поддерживает работу с Windows, Linux и MacOS. Встроенный микропроцессор работает на частоте 16 МГц, обладает 32 Кб встроенной памяти. Включается в комплекты для начинающих;
    Arduino Yún. Комплект с встроенным портом Ethernet и модулем WiFi. Оптимизирован для работы с семейством Linux. Подойдёт для работы как с любительскими, так и промышленными проектами;
    Arduino ADK. Устройство оптимизировано для работы с платформой Android. Хорошая совместимость и уникальный программный комплект позволяют создать проект, управляемый с мобильного телефона;
    Arduino Due. Улучшенная версия, работающая на мощном 32 битном ARM процессоре с тактовой частотой 84 МГц. В плату установлено 96 Кб SRAM и 512 Кб флеш-памяти.
    Это далеко не вся линейка плат. Существуют и другие модификации, созданные для выполнения разнообразных целей. Перед приобретением платы нужно заранее продумать будущий проект и выявить требующиеся технические характеристики. Полностью раскрыть потенциал Arduino позволяют дополнительные модули, подключающиеся к PIN-слотам центральной платы. Наиболее интересные и популярные модули расширения, они же шилды:
    3D-джойстик. Своеобразный программируемый 3D-стик, способный стать способом управления спроектированного механизма или робота;
    Bluetooth-модуль. Даёт возможность управления механизмом или обменом данными через Bluetooth;
    EasyVR Shield 3.0. Разработка, служащая для распознавания голосовых команд;
    Espruino Pico. Контролер, позволяющий выполнять Java-скрипты, расширяя варианты применения платы;
    GPRS Shield. Расширение, позволяющее принимать и отправлять голос, SMS и GPRS-данные;
    Motor Shield. Подключаемый модуль, позволяющий программно управлять двумя моторчиками;
    Power Bank. Аккумулятор для переносных компактных модулей на 2000 МАч.
    Рассмотрев список выше, вы уже представили множество вариантов применения дополнительных модулей. Это далеко не весь список, а лишь популярные и распространённые устройства. Существуют разнообразные подключаемые картридеры, акселерометры, передатчики и модули для разнообразных сфер жизнедеятельности. Andruino начинает эффективно применяться даже в медицине.
    Шилды присоединяются друг к другу методом постройки башни. Нужные платы кладутся друг на друга, что положительно сказывается на компактности устройства и отсутствию потребности в дополнительных проводах и пайке.

    Подводя итоги

    В данном материале мы узнали что такое Arduino и сферы его применения. Разработка систем зависит от вашей фантазии, а дополнительные компоненты способствуют достижению поставленной цели.
    Небольшая цена, доступность модулей и открытая база данных помогут в реализации задумки. Готовый проект может быть как автономным, так и переносным. Наличие портативных аккумуляторов и беспроводных источников передачи данных способствуют созданию расширенной сети из группы плат и компьютеров.
    Доступный язык программирования обладает возможностью установки дополнительных компонентов и библиотек. Модули добавляют возможность работы с Java. Покупайте комплект Ардуино для начинающих и реализовывайте ваши задумки! Ваша фантазия безгранична, а Arduino позволит её воплотить.

  4. Maxon_88 Ответить

    Вообще, при покупке готовых модулей всегда встает вопрос рациональности их приобретения, поскольку иногда схемы модулей оказываются очень простыми и гораздо дешевле будет купить необходимые детали отдельно и собрать подобный модуль самостоятельно – здесь уже все зависит от ваших умений и возможностей.
    Ну а теперь настало время разобраться с тем, какие компоненты вам понадобятся для начала работы с Arduino.
    Первым делом, конечно же, вам необходимо обзавестись самой платой Arduino. В качестве самой первой платы, на которой вы будете обучаться и строить свои проекты, я рекомендую приобрести Arduino Uno, из-за ее, на мой взгляд, удобных для макетирования размеров и наличия всех необходимых выводов. Здесь есть три варианта приобретения платформы – покупать дорогую оригинальную плату, купить плату от сторонних xDuino-производителей, либо китайский аналог Arduino.
    Откуда вообще появилось такое деление на оригинальные и не оригинальные платы? А все дело в том, что Arduino изначально выложила в открытый доступ всю документацию и схемы по своим платам и, отсюда, любой желающий мог взять и повторить их разработку, либо привнести в неё что-то свое. Конечно же, самыми активными в этом плане оказались наши китайские друзья, и на сегодняшний день вы найдете просто огромное количество всевозможных вариантов плат Arduino.
    Естественно, главное отличие оригинальной платы от не оригинальной, это её цена и используемые при сборке компоненты. Но, не спешите гнаться за высокой ценой и качеством оригинальной платы, поскольку, во-первых, плата Arduino не настолько сложна в изготовлении, что бы её могли производить только избранные заводы с высокоточным оборудованием, а, во-вторых, так как вы только начинающий пользователь Arduino, есть очень большой шанс сделать что-нибудь не так и испортить дорогостоящую вещь. Поэтому, лично я рекомендую вам к покупке аналоги китайского производителя, поскольку с нынешним развитием техники, действительно неплохую плату можно собрать на вполне рядовом заводе и никаких космических технологий при этом не потребуется, вопрос только в качестве применяемых компонентов. Но, право выбора остается за каждым из вас и это мое сугубо личное мнение. Сам я работал только с платами, заказанными из Китая, и могу сказать, что, по-прежнему, не вижу смысла переплачивать за более качественные оригиналы.
    Помните, я упомянул про три возможных варианта, и не назвал еще один. Так вот, средними по ценовому диапазону и качеству компонентов являются платы так называемых xDuino производителей. Где вместо x подставляются различные наименования разработчиков, например, Freeduino, Seeeduino, CraftDuino и так далее. Эти платы являются полностью Arduino-совместимыми и зачастую имеют всяческие штрихи и дополнения, в виде каких-то улучшений или доработок.

  5. mazl9lk Ответить

    Краткая спецификация LGE виртуальной машины:
    – Набор из 108 инструкций навеян CHIP8/SCHIP и микропроцессором MOS6502.
    – 16 регистров по 16 бит, нулевой регистр является указателем стека.
    – Каждая инструкция двухбайтовая, некоторые инструкции содержат после себя два байта данных
    – Адресуемая память 20Kб.
    – Кроме обычных арифметических инструкций и инструкций перемещения данных, есть отдельные инструкции для работы со спрайтами, экраном и звуком.
    – Размер экрана 128х128 пикселей, 16 цветов на точку, что занимает 8Kб памяти, еще столько же занимает буфер для рисования спрайтов и частиц.
    – Обновление экрана около 20 кадров в секунду.
    – Можно рисовать тайлы и 32 спрайта размером до 128х128 пикселей с возможностью вращения и зеркалирования.
    – Поддерживается работа с частицами.
    – Для экономии памяти можно использовать однобитные изображения или RLE сжатие.
    – Присутствует упрощенная физика: обнаружение столкновений спрайтов со спрайтами и тайлами, разрешение столкновений, гравитация.
    – Экран обновляется построчно, только если в строке произошло изменение пикселей.
    – Скорость VM в зависимости от того, сколько строк отрисовывается в кадре, варьируется от 100 тысяч до 900 тысяч операций в секунду.
    – Можно использовать разные цветные экраны, есть программное растягивание изображения.
    Чтобы не писать напрямую в опкодах, в SDK входит самописный компилятор «LGE С», представляющий из себя «C» образный язык высокого уровня. На данный момент этому компилятору далеко до полной поддержки стандартов языка C и при компиляции можно легко столкнуться с непонятной ошибкой в непонятном месте. Зато он быстр, ведь он занимает меньше 2000 строк исходного кода, а также постоянно развивается.
    LGE онлайн среда разработки с компилятором и эмулятором
    Описание виртуальной машины LGE
    Руководство по LGE компилятору «C» образного языка
    Исходный код игр LGE на LGE C
    На LGE SDK уже сделано не мало игр и можно продолжать создавать новые прямо сейчас, однако до совершенства далеко. Если кто-то желает принять участие в создании новых игрушек на LGE или улучшении самого LGE SDK, а так же если кто-то заинтересовался сборкой ESPboy, добро пожаловать на форум http://www.espboy.com.
    Там постараемся ответить на все вопросы и помочь в реализации идей.
    Всем добра и успехов в творчестве.
    С уваженеием,
    Роман

  6. TigerKD Ответить

    Что касается так называемого программатора: изначально способом загрузки прошивки в микроконтроллер является загрузка посредством ISP (in-system programming) программатора, который загружает прошивку напрямую в память микроконтроллера. Это способ хорош и надёжен, но он дороже и не такой универсальный как тот, который используется в Ардуино. Работает это так: вместо ISP программатора на плате стоит USB-TTL преобразователь, который позволяет Ардуино (на её стороне TTL – транзистор-транзистор логика) буквально общаться с компьютером (на его стороне – USB) и обмениваться данными. Но просто общаясь с компьютером загрузить прошивку не получится, поэтому в памяти микроконтроллера “живёт” загрузчик (он же bootloader), который умеет ловить данные, идущие с компьютера и загружать их во Flash память микроконтроллера. При каждом запуске микроконтроллера загрузчик ждёт команду от компьютера, мол желает ли тот загрузить новую прошивку. Если никто ему не отвечает какое-то время, он запускает уже имеющуюся в памяти МК прошивку. Отсюда вытекает несколько минусов:
    Загрузчик сидит во Flash памяти и занимает место (около 6%, что довольно-таки много)
    При подаче питания на МК прошивка стартует не сразу, каждый раз загрузчик ждёт команду от компьютера в течение какого-то времени (пару секунд), прежде чем передать управление имеющейся в памяти программе.
    Оба этих минуса решаются частично или полностью:
    Можно прошить неофициальный загрузчик, который занимает меньше места в памяти и быстрее стартует
    Можно загружать скетчи напрямую через ISP, в этом случае вообще не будет потери места и задержек при запуске, так как загрузчика вообще не будет в памяти
    Возвращаясь к USB-TTL преобразователю: почему именно такой способ загрузки прошивки выбрали разработчики Arduino? Да всё очень просто: микросхема USB-TTL преобразователя стоит дешевле микросхем, могущих в ISP (роль оных обычно выполняют микроконтроллеры), что прилично удешевляет платформу. Но самое главное – использование USB-TTL преобразователя добавляет нам возможность общаться с платой при помощи компьютера (смартфона, планшета) без использования дополнительного железа, т.е. мы можем как управлять какими-то устройствами (если это заложено в коде прошивки), так и получать от Ардуино данные, например показания с датчиков. Но самое-самое главное – это позволяет отлаживать код, вручную, но все таки отлаживать.

    Софт

    Что касается программной части, предоставленной Arduino, то это Arduino IDE (Integrated Development Environment – интегрированная среда разработки), включающая в себя редактор кода, компилятор и всё остальное необходимое для загрузки прошивки в плату. Подробнее о ней поговорим в отдельном уроке.

    Модели Ардуино

  7. Maerson Ответить

    Вы только посмотрите, сколько работы она делает вместо того чтобы просто задать состояние порта(как например вот так PORTB = 32;). А сделано это неспроста, так как у ардуино низкий порог вхождения, как я высказался выше, тут присутствуют разные проверки аля «защита от дурака». Например, если новичок по глупости забыл задать порт пин как выход, чтобы тот не перешёл в состояние Hi-Z(о котором ещё новичок не подозревает, скорее всего) и таким образом отпугнул его при первой же ошибке. Но за это приходиться платить повышенным потреблением ресурсов, как вы сами видите.
    А теперь давайте перейдём к осциллографу, как я и обещал в начале статьи.

    У меня есть две идентичные китайские Arduino Pro Mini которые размещены на одной и той же макетной плате, то есть у них будут одинаковые условия. Давайте прошьём одну из них «мигалку» только без задержек и посмотрим что будет на экране осциллографа:

    Один пример написан на языке ардуино, а второй работает непосредственно с регистрами:

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

    2.67 против 0.094 МГц, разумеется что емкость порта микроконтроллера не даёт получить чистый меандр как в случае кода ардуино, но если присмотреться, то и там фронты далеко не чистые:

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

    Вот пример того, как можно самостоятельно, за копейки, создать полезный модуль. Но порой меня лень преодолевает и тоже покупаю, потому что не всегда есть время или желание на это.
    Должен признаться я и сам «ардуиншик», и работаю по большей с Arduino платами, например копия Pro Mini у китайцев стоит не так уж дорого, разумеется что дешевле «голого» микроконтроллера, но как я уже сказал выше, не всегда находиться время и желание заниматься разводкой платы с нуля, лично мне проще интегрировать в проект Arduino плату, особенно недорогие Arduino Pro Mini или немного более продвинутую Arduino Nano.
    Так же, я люблю работать из средой разработки Arduino IDE, не взирая на её ограничения и неудобства, она может запуститься сразу, без каких либо настроек, просто скачал ZIP архив, распаковал куда нужно и всё, можно приступать к работе, да и к тому же занимает не особо много места если сравнивать с более профессиональным софтом, например Atmel Studio. И ещё, тут есть одна полезная фишка — автоформатирование(комбинация клавиш Ctrl+T):

    Разумеется есть такое понятие как «правило хорошего тона», и себя нужно приучивать к этому с самого начала, но если есть такая фитча то почему бы её не пользоваться?
    Ещё из удобств в Arduino IDE появилась возможность в настройках включать нумерацию строк и сворачивание кода:

    Последний пункт заметно улучшает навигацию кода и уже немного, но приближает, к более профессиональным решениям.
    К тому же Arduino IDE, как вы заметили, умеет «переваривать» не только свой язык но и Си и даже ассемблер.
    P.S. Вообщем суммируя написанное в статье и сказанное в видеоролике выше, Сергей ПоделкинЦ хотел бы всем пожелать развиваться, ардуино это не предел тех возможностей которые даёт мир микроконтроллеров, правильно же говорит народная мудрость «Век живи — век учись».
    Ссылки по теме:
    Всё новое — хорошо забытое старое;
    Свежая версия Arduino IDE лежит тут;
    Arduino на википедии;
    Как экономить память на Arduino?;
    Все мои публикации на geektimes.

  8. holod Ответить

    Функции ()

    Теперь пора поговорить о функциях. Функции – это фрагменты кода, которые используются так часто, что они инкапсулированы в определенные ключевые слова, чтобы вы могли использовать их более легко. Например, функцией может быть следующий набор инструкций в случае если вам нужно помыть собаку:
    Получить ведро
    Заполнить его водой
    Добавить мыло
    Найти собаку
    Намылить собаку
    Помыть собаку
    Ополоснуть собаку
    Посушить собака
    Отложить ведро
    Этот набор простых инструкций может быть инкапсулирован в функцию, которую мы можем назвать WashDog. Каждый раз, когда мы хотим выполнить все эти инструкции, мы просто набираем WashDog и вуаля – все инструкции выполняются.
    В Ардуино есть определенные функции, которые часто используются в среде Arduino IDE. Когда вы вводите их, имя функции будет оранжевым. Например, функция pinMode() является общей функцией, используемой для обозначения режима вывода Arduino.
    А что с круглыми скобками после функции pinMode? Для многих функций требуются аргументы. Аргумент – это информация, которую функция использует при ее запуске. Для нашей функции WashDog аргументами могут быть имя собаки и тип мыла, а также температура и размер ведра.
    pinMode(13, OUTPUT);
    //Устанавливает режим вывода Arduino
    Аргумент 13 относится к выводу 13, а OUTPUT – режим, в котором вы хотите, чтобы пин работал. Когда вы вводите эти аргументы, в терминология это называется передачей данных, вы передаете необходимую информацию в функции. Не всем функциям требуются аргументы, но открытие и закрытие круглых скобок остаются, хотя и пустыми.
    millis( );
    //Получает время в миллисекундах за которое Arduino запускается
    Обратите внимание, что слово OUTPUT обычно синего цвета. В языке программирования Ардуино есть определенные ключевые слова, которые часто используются, а синий цвет помогает их идентифицировать. Arduino IDE автоматически превращает их в синий цвет.
    Далее мы поговорим о двух функциях, используемых почти в любой программе Arduino.

    void setup ( )

    Функция setup (), как следует из названия, используется для настройки платы Arduino. Ардуино выполняет весь код, который содержится между фигурными скобками после setup() только один раз. Типичные вещи, которые происходят в setup() – это, например, установка режимом контактов:
    void setup( ) {
    //код между фигурными фигурными скобками выполняется только один раз
    }
    Возможно, вам интересно что означает void перед функцией setup(). Void означает, что функция не возвращает информацию.
    Некоторые функции возвращают значения – наша функция DogWash может вернуть количество ведер, необходимых для очистки собаки. Функция analogRead() возвращает целое значение от 0 до 1023. Если это сейчас кажется немного странным, не беспокойтесь, поскольку мы будем охватывать каждую общую функцию Arduino по мере продолжения курса.
    Давайте рассмотрим пару вещей, которые вы должны знать о setup():
    setup() запускается только один раз;
    setup() должна быть первой функцией в скетче Ардуино;
    setup() должна иметь открывающиеся и закрывающие фигурные скобки.

    void loop( )

    Вы должны любить разработчиков Arduino, потому они сделали так, что имена функций говорят сами за себя. Как следует из названия, весь код между фигурными скобками в loop() повторяется снова и снова, а слово loop переводится именно как “цикл”. Функция loop() – это место, где будет находиться тело вашей программы.
    Как и в случае с setup(), функция loop() не возвращает никаких значений, поэтому перед неё предшествует слово void.
    void loop( ) {
    //любой код, который вы здесь задаете, выполняется снова и снова
    }
    Вам кажется странным, что код работает в одном большом цикле? Это очевидное отсутствие вариации – иллюзия. Большая часть вашего кода будет иметь определенные условия ожидания, которые вызовут новые действия.
    Если у вас есть датчик температуры, подключенный к вашему Arduino, например, тогда когда температура достигнет определенного порога вы можете включить вентилятор. Код цикла постоянно проверяет температуру, ожидающую запуска вентилятора. Поэтому, хотя код повторяется снова и снова, не каждая часть кода будет выполняться каждую итерацию цикла.
    Все функции – здесь.

    Существуют ли еще программы, работающие с Ардуино?

    Помимо официальной Arduino IDE, существуют программы сторонних разработчиков, которые предлагают свои продукты для работы с микроконтроллерами на базе ардуино.
    Аналогичный набор функций нам может предоставить программа, которая называется Processing. Она очень схожа с Arduino IDE, так как обе сделаны на одном движке. Processing имеет обширный набор функций, который мало уступает оригинальной программе. С помощью загружаемой библиотеки Serial пользователь может создать связь между передачей данных, которые передают друг другу плата и Processing.При этом мы можем заставить плату выполнять программы прямо с нашего ПК.
    Существует еще одна интересная версия исходной программы. Называется она B4R, и главным ее отличием является использование в качестве основы не языка си, а другой язык программирования – Basic. Данный программный продукт является бесплатным. Для работы с ним существуют хорошие самоучители, в том числе и написанные создателями данного продукта.
    Есть и платные варианты Arduino IDE. Одним из таких является программа PROGROMINO. Главным ее достоинством считается возможность автодополнения кода. При составлении программы вам больше не нужно будет искать информацию в справочниках. Программа сама предложит вам возможные варианты использования той или иной процедуры. В ее набор входит еще множество интересных функций, отсутствующих в оригинальной программе и способных облегчить вам работу с платами.

    Конкуренты Ардуино

    Данный рынок по производству микроконтроллеров для создания различных электронных схем и робототехники имеет много поклонников по всему земному шару. Данная ситуация способствует появлению на рынке не только конкурентов, которые предлагают схожие продукты. Кроме них выпускается значительное количество подделок разного качества. Одни очень тяжело отличить от оригиналов, ведь они имеют идентичное качество, другие обладают очень плохими характеристиками и могут вовсе не работать с оригинальными продуктами.
    Существуют даже платы Arduino, которые поддерживают работу микропроцессоров с интерпретаторами JavaScript. Актуальны они, в первую очередь, для тех, кто желает использовать язык Java вместо Си. Ведь он более прост, и позволяет добиваться результатов с повышенной скоростью. Однако данные платы являются более дорогими по отношению к ардуино, что является существенным минусом.
    Если вы ищите себе хобби и вам интересно такое направление, как электротехника, вы смело можете выбирать для этого Arduino. Плюсов такое хобби имеет массу. Вы будете развиваться в интеллектуальном плане, так как данное занятие потребует от вас знаний в разных областях.
    Помимо развлечений, ваше хобби поможет вам в создании массы полезных изделий, которые вы сможете использовать для облегчения повседневной жизни. С каждым разом вы будете находить все новые и новые способы использования вашего увлечения.
    Освоить данное занятие будет не так сложно, благодаря наличию большого количества учебников и самоучителей. В дальнейшем вы найдете множество единомышленников по всему миру, которые поделятся с вами своими знаниями и дадут вам стимул для совершения новых экспериментов!

  9. vendingo Ответить

    Arduino имеет 14 цифровых выводов, обозначенных 0-13 (см. изображение выше), которые подключаются к цепям для их включения или выключения, или для кнопок и других цепей с двумя состояниями (кнопка имеет два состояния, потому что она либо нажата, либо не нажата). Эти контакты могут действовать как входы или выходы, то есть они могут управлять цепью или получать данные от неё.
    Рядом с разъемами питания находятся контакты аналогового входа с маркировкой A0-A5. Эти контакты используются для аналоговых измерений датчиков или других компонентов. Аналоговые входы особенно хороши для измерений с диапазоном возможных значений.

    Например, аналоговый входной вывод позволит нам измерить величину изгиба датчика изгиба или величину, на которую повернут циферблат.
    Давайте ниже пройдемся по всем компонентам, которые составляют плату Arduino, и какова каждая из их функций:

    Кнопка сброса (Reset Button) – это перезапустит любой код, который загружен на плату Arduino
    AREF или Analog Reference – используется для установки внешнего опорного напряжения
    Штырь заземления (GND, земля) – на Arduino есть несколько штырей заземления, и все они работают одинаково
    Цифровые входы/выходы – контакты 0-13 могут использоваться для цифрового ввода или вывода
    ШИМ (PWM) – выводы, помеченные символом (~), могут имитировать аналоговый выход
    USB-соединение – используется для включения питания Arduino и загрузки эскизов
    TX / RX – светодиоды индикации передачи и приема данных
    Микроконтроллер ATmega – это мозг и место хранения программ
    Светодиодный индикатор питания – этот светодиод загорается каждый раз, когда плата подключена к источнику питания
    Регулятор напряжения – контролирует количество напряжения, поступающего на плату Arduino
    Разъем питания платы (DC Power Jack) – разъем питания постоянного тока, используется для питания вашего Arduino с помощью блока питания
    3,3 В контакт – этот контакт обеспечивает 3,3 вольт питания для ваших проектов
    Штырь 5 В – этот штырь подает 5 В на ваши проекты
    Штыри заземления – на Arduino есть несколько штырей заземления и все они работают одинаково
    Аналоговые контакты – эти контакты могут считывать сигнал с аналогового датчика и преобразовывать его в цифровой
    Вы можете использовать аналоговый вход для измерения цифрового компонента (например, кнопки) или даже действовать как цифровой выход. По факту, это в принципе цифровые выводы с дополнительными возможностями.

  10. Endry6666 Ответить


    Arduino Lilypad выполнена в виде круга, контакты для подключения находятся на краях. Со всеми контактами используется микроконтроллер ATmega328.
    Здесь придется подпаивать провода к плате, так как специальных пинов не предусмотрено. Самое время подружиться с паяльником.
    Распиновка

    Arduino Mega


    Популярность Arduino Mega 2560 Rev3 обусловлена наличием большого количества цифровых входов-выходов (54 цифровых + 16 аналоговых).
    Сердцем ее является восьми-битный чип ATmega2560.
    Нередко плата используется в масштабных проектах по типу 3D-принтера, поскольку выводов в ней хватает, чтобы подключить многочисленную периферию. Контроллер имеет 256 килобайт флэш-памяти + 8 килобайт SRAM. Чувствуете в себе силы творить? Смело покупайте данную плату.
    Описание | Распиновка

    Arduino Leonardo


    Arduino Leonardo на базе микроконтроллера ATmega32u4 идентична Uno, за исключением разъема подключения microUSB (в UNO это USB type-B).
    Особенность данной платы в том, что ее можно использовать, как периферию: она умеет посылать команды ввода в компьютер. Если цель вашего изучения контроллеров – управлять компьютером, то берите ATmega32u4.
    Распиновка

    Arduino Micro


    Arduino Micro – очередная миниатюрная плата, ее габариты сопоставимы со стандартным USB-накопитель.
    Используемый микроконтроллер ATmega32u4 имеет все те же 32 кб оперативки + 2,5 SRAM. Цифровыми и аналоговыми пинами плата не обделена (20 цифровых +7 аналоговых). Отлично подойдет для миниатюрных проектов.
    Плату можно запрограммировать, как клавиатуру и мышь, подключив в проект соответствующие библиотеки, и использовать внешние кнопки.
    Распиновка

    Arduino Due


    Arduino Due – одна из самых популярных плат.
    Работает на 32-битном процессоре с частотой 84мГц.
    На борту установлен AT91SAM3X8E контроллер, во многом превосходящий все вышеперечисленные платы. 512 кб постоянной памяти, 96 кб оперативной. Имеются 54 цифровых пина, 12 из которых могут использовать ШИМ. Также есть пара 12-битных цифро-аналоговых преобразователей: они позволяют микропроцессору выдавать звук без дополнительных расширений.
    Распиновка

  11. koliankolianich Ответить

    Программирование в проекте Ардуино

    Если в вашей плате нет загруженного скетча маячка – не беда. Можно легко загрузить уже готовый пример, доступный в среде программирования Ардуино.
    Открываем программу Arduino IDE, убеждаемся, что выбран нужный порт.
    Проверка порта Ардуино – выбираем порт с максимальным номером
    Затем открываем уже готовый скетч Blink – он находится в списке встроенных примеров. Откройте меню Файл, найдите подпункт с примерами, затем Basics и выберите файл Blink.
    Открываем пример Blink в Ардуино IDE
    В открытом окне отобразится исходный код программы (скетча), который вам нужно будет загрузить в контроллер. Для этого просто нажимаем на кнопку со стрелочкой.
    Кнопки компиляции и загрузки скетча
    Информация в Arduino IDE – Загрузка завершена
    Ждем немного (внизу можно отследить процесс загрузки) – и все. Плата опять подмигнет несколькими светодиодами, а затем один из светодиодов начнет свой размеренный цикл включений и выключений. Можно вас поздравить с первым загруженным проектом!

    Проект маячка со светодиодом и макетной платой

    В этом проекте мы создадим мигающий светодиод – подключим его с помощью проводов, резистора и макетной платы к ардуино. Сам скетч и логика работы останутся таким же – светодиод включается и выключается.
    Графическое изображение схемы подключения доступно на следующем рисунке:

    Другие идеи проектов со светодиодами:
    Мигалка (мигаем двумя свтодиодами разных цветов)
    Светофор
    Светомузыка
    Сонный маячок
    Маячок – сигнализация
    Азбука Морзе
    Подробное описание схемы подключения и логики работы программы можно найти в отдельной статье, посвященной проектам со светодиодами.

    Проекты Ардуино в Интернете

    В интернете можно найти огромное количество примеров самых разных проектов с Arduino. Мы сделали небольшую подборку самых необычных проектов.
    Сегодня без труда можно найти сотни проектов, созданных руками инженеров-энтузиастов по всему миру. Невозможно сделать качественный обзор всех их. В данной подборке мы просто сделали небольшой обзор

    Управление телевизором силой мысли и Ардуино.

    Управление телевизором силой мысли и Ардуино
    Этот оригинальный проект кажется невероятным, ведь для переключения канала нужен не пульт, а мысль о его смене. Для создания потребуется Ардуино Уно, игра Star Wars Force Trainer, инфракрасные приемник и передатчик.
    Проект был реализован Дэниэлом Дэвисом в домашних условиях. За основу он взял игру 2009 года Star Wars Force Trainer и разобрал ее. Сама игра содержит гарнитуру, которая может обнаружить электрические поля разума (аналогично ЭЭГ). Внутри был обнаружен чип NeuroSky ЭЭГ, который Дэниэл подключил к плате Ардуино. Данные ЭЭГ собираются и преобразовываются на компьютере.
    С помощью  serial монитора можно посмотреть сигналы, которые передает пульт на ИК приемник при переключении каналов. Далее записывается код кнопки и пишется небольшая программа.
    После завершения программной части на человека надевают шлем, и он может переключать канаты телевизора и выключать его путем сосредоточения мыслей.

    Механическая рука, которая записывает время на доске.

    Механическая рука, которая записывает время на доске
    Plotclock является простейшим роботом, который состоит из руки с маркером, которая пишет на доске текущее время. Когда время изменяется, рука стирает ранее записанное число и пишет новые значения. Проект постоянно развивается, описанная технология является простейшей.
    Для реализации проекта нужны 3D принтер, Ардуино Уно, 3 сервомотора, болты и гайки, маркер для стираемой доски, белая поверхность.
    Механическая составляющая робота выполняется из пластиковых элементов и соединенных между собой механизмов. Управляется рука с помощью платы Ардуино и трех серводвигателей.

    Окей Google, Сезам, открой дверь

    Окей Google, Сезам, открой дверь
    В проекте реализуется открытие двери с помощью определенной голосовой команды. Чтобы войти в помещение, достаточно назвать фразу «Сезам, откройся».
    Для создания потребуются Ардуино Уно, серводвигатель, Bluetooth модуль.
    Для разблокирования двери используются команды Google Now. Для смартфонов и планшетов есть приложение с названием «Сезам», которое и отправляет команду дверному замку при произношении слов «О’кей Google, Сезам, откройся».
    Сервопривод подключается к дверному замку. Модуль Bluetooth ожидает команду, и при ее получении подает сигнал Ардуино через serial  порт. Arduino Uno отдает команду сервоприводу и дверь открывается.

    Светодиодный куб 4х4х4.

    Светодиодный куб 4х4х4
    Куб из светодиодов на базе Ардуино – это развлекательное осветительное устройство. Он может быть разного размера с различными режимами подсветки. Куб оснащен кнопкой переключения режимов.
    Для создания понадобится 64 светодиода, 4 резистора 100 Ом, проводники, макетная плата, коннекторы, коробка, источник питания на 9 В и плата Ардуино Уно.
    На коробке рисуется или распечатывается эскиз квадрата 4х4. Проделываются отверстия, в которые помещаются светодиоды. Аноды нужно соединить между собой, затем коробку требуется повернуть и вытащить диоды. Аналогично формируются еще 3 слоя. Все слои нужно соединить с помощью оставшихся катодов. На макетную плату ставится получившийся куб и подключается к плате.

    Робот пылесос

    Робот пылесос
    На базе Ардуино можно создать полезную вещь для дома – робота-уборщика. Самостоятельно сделанная модель не будет уступать по своим характеристикам магазинному экземпляру.
    Для сборки потребуется:
    Arduino;
    драйвер L298N для управления двигателем;
    миниатюрные двигатели с редуктором и колесами;
    6 инфракрасных датчиков;
    двигатель для турбины;
    турбина;
    двигатели для щеток;
    датчики столкновения;
    4 аккумулятора;
    повышающий и понижающий преобразователи тока;
    контроллер для батареи.
    Пылесос оборудован ИК датчиками. Они реагируют, когда пылесос приближается к препятствию, и дают ему команду остановиться и развернуться. При столкновении со стеной или другим препятствием срабатывает один из выключателей, соединяющий бампер и корпус робота.

    Система распознавания лиц и слежения за ними на Ардуино.

    Система распознавания лиц и слежения за ними на Ардуино
    Веб-камера закрепляется на поворотном механизме и подключается к ПК, на котором установлено программное обеспечение OpenCV. Когда программа обнаруживает лицо, начинается вычисление его центральной точки. Полученные координаты передаются на микроконтроллер Ардуино, который управляет сервомоторами и следит за лицом.
    Для реализации потребуются:
    программное обеспечение Arduino IDE, OpenCV;
    плата Ардуино Уно;
    2 сервомотора;
    веб-камера.

    Автоматизированная система для аквариума

    Автоматизированная система для аквариума
    Автоматизация задач для аквариума помогает облегчить жизнь пользователя. Проект должен отвечать за следующие действия:
    подача подсветки того или иного цвета в зависимости от условий;
    отображение времени;
    регулирование компрессора;
    включение и выключение фильтров;
    отображение данных о температуре, влажности.
    Чтобы собрать устройство, потребуются плата Ардуино Уно, пьезо сигналка, RGB лента, белая диодная лента, датчик температуры и влажности, LCD экран, часы, 2 реле, ик-приемник, транзисторы.
    Схем реализации прибора существует множество. Пример одной из них приведен ниже.
    Требуется также прописать код для включения того или иного цвета в зависимости от условий и настроить работу ЖК экрана.

    Теплица для растений

    Теплица для растений
    В умной теплице для цветов происходит мониторинг и регулировка температуры и освещения и полив почвы. Особенно это актуально для теплолюбивых тропических растений, в которых необходимо постоянно поддерживать высокую температуру. Управлять можно автоматически или удаленно с планшета или смартфона.
    Чтобы собрать проект, нужны следующие компоненты:
    Ардуино Уно;
    USB кабель;
    плата прототипирования;
    провода;
    фоторезистор;
    резистор на 10 кОм;
    температурный датчик;
    модуль температуры и влажности окружающей среды;
    модуль влажности почвы.
    Фоторезистор отвечает за измерение освещенности. Температурный сенсор получает температуру воздуха. Модуль влажности почвы помещается в землю и измеряет уровень воды в ней.

    Отслеживание потребляемого электричества в реальном времени при помощи Ардуино и LabVIEW.

    Отслеживание потребляемого электричества в реальном времени при помощи Ардуино и LabVIEW
    Прибор может использоваться в умном доме в качестве измерителя потребляемой электроэнергии на современных счетчиках. Считывание информации происходит через светодиод счетчика – просчитывается длительность между миганиями.
    Принцип работы следующие. Ардуино считывает частоту миганий и подает информацию через беспроводной модуль. Модуль, установленный на компьютер, получает эти данные и передает их в программу LabVIEW, в которой отображаются данные потребления мощности в режиме реального времени.
    Мигание светодиода детектирует фоторезистор. Аналоговые данные считываются с помощью делителя напряжения.
    Для работы потребуются:
    Ардуино;
    фоторезистор;
    светодиод;
    модуль Xbee;
    программное обеспечение Arduino IDE, LabView;
    простые и подстроечные резисторы;
    провода.
    В программе будет отображаться график потребления за последние 5 минут и в реальном времени.

    Аудиоплеер

    Аудиоплеер
    Своими руками на базе Ардуино можно создать аудиопроигрыватель. Его конструкция проста – он состоит из динамика, транзистора, micro-sd карты с записанными на нее треками. В качестве платы используется Ардуино, также можно взять контроллер Seeeduino 2.21 или Garagino на ATmega328.
    Для сборки нужны:
    контроллер;
    карт-ридер;
    динамик;
    печатная плата;
    карта памяти с записанными аудиотреками;
    транзистор;
    резистор;
    провода.
    Работает плеер следующим образом. Ардуино загружает файлы с расширением .wav карты памяти. Происходит генерирование сигнала, который выводится через динамики, подсоединенные к пину 9 на плате.
    Предварительно песню нужно преобразовать в формат .wav. Сделать это можно с помощью самого простого онлайн-конвертера. Музыкальные файлы имеют ограничения при воспроизведении мелодии. Транзистор не сможет прочитать сложные .wav-файлы, поэтому советуется преобразовать треки к следующему виду: 16 кГц в секунду, моно канал, бит на сэмпл – 8.
    Музыка записывается на заранее отформатированную карту памяти и сохраняется с простыми наименованиями.После сбора схемы требуется прописать код, включить питание, после чего начнется воспроизведение музыки.

    Рекомендации по работе с проектами Ардуино в Интернете

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

    Другие идеи проектов

    Проекты умного дома на Ардуино

    Проекты умного дома являются одним из примеров того, как перейти от «игрушек» и тренажеров к реальным системам, помогающими и облегчающим жизнь. Как правило, с помощью ардуино невозможно создать полноценные автономные решения, но отдельные компоненты сделать вполне реально.
    При этом нужно понимать, что сталкиваясь с реальными  инфраструктурными объектами, мы должны соблюдать особую предусмотрительность при работе с электричеством, отоплением, водопроводом под давлением, канализацией. Любые эксперименты здесь нужно проводить обязательно под контролем профессионала.
    Что может являться прототипом умного дома на ардуино:
    Системы освещения с автоматическим включением и отключением в зависимости от показателей датчиков. Наиболее популярнее варианты – использовать датчик освещенности, PIR датчик движения или датчик звука.
    Дистанционно управляемые электрические приборы. Например, включение или выключение системы отопления в зависимости от температуры или умное управление освещением в помещениях. Здесь вам понадобятся различные виды реле и один из механизмов обеспечения беспроводной связи: WiFi, GPRS, Bluetooth или радиоканал. Управлять устройствами можно через Web-интерфейс (через браузер) или с использованием соответствующего мобильного приложения (можно написать самому или выбрать одну из готовых платформ).
    Всевозможные системы учета: воды, тепла, электроэнергии. Начинающим доступны любительские датчики напора воды, температуры, влажности, силы тока. Можно использовать и профессиональные приборы, взаимодействуя с ними по одному из промышленных протоколов. Полученные данные можно собирать локально или отправлять в облако для последующего анализа.
    Охранные системы и контролирование внештатных ситуаций. Здесь понадобится различные датчики присутствия, движения, звука, магнитные датчики Холла и другие. Естественно, не обойтись без коммуникаций и возможности быстрой передачи информации владельцу через интернет.
    Каждое из этих направлений может содержать в себе десятки разных проектов. Вы можете без труда найти себе подходящий вариант в интернете или в одной из наших статей.

    Проекты «Зеленой робототехники»

    Юные ардуинщики, живущие в небольших городах и сельской местности, где много природы и не очень много «цивилизации», могут с успехом использовать ардуино для исследования и охраны природы, а также автоматизации сельского хозяйства. Вот некоторые из идей проектов, которые можно реализовывать своими силами на уровне прототипов и готовых решений:
    Умная теплица
    Полив растений
    Умный инкубатор
    Умный улей
    Антигрызуны
    Умный агроном
    Умный ошейник для животных
    Расширенная метеостанция
    Робот – сеяльщик
    Счетчик муравьев
    Проекты с дронами: аэрофотосъемка, внесение удобрений.

  12. VideoAnswer Ответить

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *