Проекты Arduino.

07.09.2019 Проблемы

Arduino - это универсальная платформа для самоделок на микроконтроллерах. К ней есть множество шилдов (плат расширения) и датчиков. Это многообразие позволяет сделать целый ряд интересных проектов, направленных на улучшение вашей жизни и повышение её комфорта. Сферы применения платы безграничны: автоматизация, системы безопасности, системы для сбора и анализа данных и прочее.

Из этой статьи вы узнаете, что можно сделать интересного на Ардуино. Какие проекты станут зрелищными, а какие полезными.

Что можно сделать с помощью Arduino

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

Уборка в квартире - рутинное занятие и малопривлекательное, тем более на это нужно время. Сэкономить его можно, если часть хлопот по дому возложить на робота. Этого робота собрал электронщик из г. Сочи - Дмитрий Иванов. Конструктивно он получился достаточно качественным и не уступает в эффективности .

Для его сборки вам понадобятся:

1. Arduino Pro-mini, или любая другая подобная и подходящая по размерам...

2. USB-TTL переходник, если вы используете Pro mini. Если вы выбрали Arduino Nano, то он не нужен. Он уже установлен на плате.

3. Драйвер L298N нужен для управления и реверсирования двигателей постоянного тока.

4. Маленькие двигателя с редуктором и колесами.

5. 6 ИК-датчиков.

6. Двигатель для турбины (побольше).

7. Сама турбина, а вернее крыльчатка от пылесоса.

8. Двигателя для щеток (небольшие).

9. 2 датчика столкновения.

10. 4 аккумулятора 18650.

11. 2 преобразователя постоянного напряжения (повышающий и понижающий).

13. Контроллер для работы (заряда и разряда) аккумуляторов.

Система управления выглядит следующим образом:

А вот система питания:

Подобные уборщики развиваются, модели заводского изготовления обладают сложными интеллектуальными алгоритмами, но вы можете попытаться сделать свою конструкцию, которая не будет уступать по качеству дорогим аналогам.

Способны выдавать световой поток любого цвета, в них обычно используются светодиоды в корпусе которых размещено три кристалла светящиеся разным цветом. Для их управления продаются специальные RGB-контроллеры, их суть заключается в регулировании тока подаваемого на каждый из цветов светодиодной ленты, следовательно - регулируется интенсивность свечения каждого из трёх цветов (отдельно).

Вы можете сделать своими руками RGB-контроллер на Ардуино, даже более того, в этом проекте реализовано управление через Bluetooth.

На фото приведен пример использования одного RGB-светодиода. Для управления лентой потребуется дополнительный блок питания на 12В, тогда будут управлять затворами полевых транзисторов включенных в цепь. Ток заряда затвора ограничен резисторами на 10 кОм, они устанавливаются между пином Ардуино и затвором, последовательно ему.

Пульт управления на базе Arduino и смартфона

С помощью микроконтроллера можно сделать универсальный пульт дистанционного управления управляемый с мобильного телефона.

Для этого понадобится:

    Arduino любой модели;

    ИК-приемник TSOP1138;

    ИК-светодиод;

    Bluetooth-модуль HC-06.

Проект может считывать коды с заводских пультов и сохранять их значения. После чего вы можете управлять этой самоделкой через Bluetooth.

Веб-камера устанавливается на поворотный механизм. Её подключают к компьютеру, с установленным программным обеспечением. Оно базируется на библиотеке компьютерного зрения - OpenCV (Open Source Computer Vision Library), после обнаружения программой лица, координаты его перемещения передаются через USB-кабель.

Ардуино даёт команду приводу поворотного механизма и позиционирует объектив камеры. Для движения камеры используется пара сервоприводов.

На видео изображена работа этого устройства.

Следите за своими животными!

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

При этом габариты устройства здесь играют решающую роль, поскольку животное не должно ощущать от него дискомфорт. Для записи данных можно использовать для работы с картами памяти формата Micro-SD.

Ниже приведена схема оригинального варианта устройства.

В оригинальной версии проекта использовалась плата TinyDuino и шилды к ней. Если вы не можете найти такую, вполне можно использовать маленькие экземпляры Arduino: mini, micro, nano.

Для питания использовался элемент Li-ion, малой ёмкости. Маленького аккумулятора хватает примерно на 6 часов работы. У автора в итоге все поместилось в обрезанную баночку из-под тик-така. Стоит отметить, что антенна GPS должна смотреть вверх, чтобы получать достоверные показания датчика.

Взломщик кодовых замков

Для взлома кодовых замков с помощью Ардуино понадобятся серво- и шаговый двигатель. Этот проект разработал хакер Samy Kamkar. Это достаточно сложный проект. Работа этого устройства изображена на видео, где автор рассказывает все подробности.

Конечно, для практического применения такое устройство вряд ли подойдет, но это отличный демонстрационный.

Ардуино в музыке

Это скорее не проект, а небольшая демонстрация какое применение нашла эта платформа у музыкантов.

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

Номиналы деталей:

    Транзистор NPN-типа, например 2n3904 - 1 шт.

    Резистор 1 кОм (R2, R4, R5) - 3 шт.

    330 Ом (R6) - 1 шт.

    10 кОм (R1) - 1 шт.

    100 кОм (R3) - 1 шт.

    Электролитический конденсатор 3.3 мкФ - 1 шт.

Для работы проекта потребуется подключение библиотеки для быстрого разложения в ряд Фурье.

Это достаточно простой и интересный проект из разряда «можно похвастаться перед друзьями».

3 проекта роботов

Робототехника - одно из интереснейших направлений для гиков и просто любителей сделать что-нибудь необычное своими руками, я решил сделать подборку из нескольких интересных проектов.

BEAM-робот на Ардуино

Для сборки четырёхногого шагающего робота вам понадобятся:

    Для движения ног нужны сервомоторчики, например, Tower Hobbies TS-53;

    Кусок медной проволоки средней толщины (чтобы выдерживала вес конструкции и не гнулась, но и не слишком толстой, т.к. не имеет смысла);

    Микроконтроллер - AVR ATMega 8 или плата Ардуино любой модели;

    Для шасси в проекте указано, что использовалась Рамка Sintra. Это что-то вроде пластика, он сгибается в любую форму при нагревании.

В результате вы получите:

Примечательно то, что этот робот не ездит, а шагает, может перешагивать и заходить на возвышения до 1 см.

Этот проект мне, почему-то, напомнил робота из мультфильма Wall-e. Его особенностью является использование для зарядки аккумуляторов. Он перемещается подобно автомобилю, на 4-х колесах.

Его составляющие детали:

    Пластиковая бутылка подходящего размера;

  • Перемычки мама-папа;

    Солнечная панель с выходным напряжением в 6В;

    В качестве донора колес, двигателей и других деталей - машинка на радиоуправлении;

    Два сервопривода непрерывного вращения;

    Два обычных сервопривода (180 градусов);

    Держатель для батареек типа АА и для «кроны»;

    Датчик столкновений;

    Светодиоды, фоторезисторы, постоянные резисторы на 10 кОм - всего по 4 штуки;

    Диод 1n4001.

Вот основа - плата Ардуино с прото-шилдом.

Вот так выглядят запчасти от - колеса.

Конструкция почти в сборе, датчики установлены.

Суть работы робота заключается в том, что он едет на свет. Обилие нужно ему для навигации.

Это скорее ЧПУ станок, чем робот, но проект весьма занимательный. Он представляет собой 2-х осевой станок для рисования. Вот перечень основных компонентов, из которых он состоит:

    (DVD)CD-приводы - 2 шт;

    2 драйвера для шаговых двигателей A498;

    сервопривод MG90S;

    Ардуино Уно;

    Источник питания 12В;

    Шариковая ручка, и другие элементы конструкции.

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

Управлять шаговым двигателем без дополнительного оборудования у вас не выйдет, поэтому используют специальные платы-драйверы, лучше, если на них будет установлен радиатор двигателя в момент пуска или смены направления вращения.

Полный процесс сборки и работы показан на этом видео.

Заключение

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

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

Вы слышали про Arduino и вам хочется поскорее разобраться с ней, чтобы сделать свое устройство, робота или что там еще придумали. Помигать светодиодом вы сможете уже в первый вечер, но на создание более сложного гаджета уйдет куда больше времени. Впереди долгие недели и даже месяцы изучения программирования на C, поиск совместимых библиотек и модулей, костылей и превозмогания трудностей. Как ускорить процесс? Начните с Arduino совместимой платы, которую можно программировать на JavaScript.

Оригинал статьи на английском http://www.bunniestudios.com/blog/?p=2407

На фотографии готовые печатные платы для Leonardo

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

Arduino, самодельная перчатка с 5-тью зашитыми датчиками изгиба, 5 сервоприводов HITEC HS-81 и механическая рука. Как все это работает можно посмотреть на видео. Arduino cчитывает данные с датчиков изгиба и управляет сервомоторчиками так, чтобы механическая рука повторяла движения кисти человека. Кстати, в первом видео автор использует готовый набор механики руки, который можно купить на ebay, правда без электронных компонентов и приводов. В другом проекте автор сделал подобную руку из подручных материалов.

В этом проекте автор покажет, как можно подключить полноцветную светодиодную матрицу 8x8 к Arduino. Сама матрица имеет 32 входа: 8 анодов, 8 катодов красного цвета, 8 зеленого и 8 синего. При этом для управления матрицей будут задействованы всего 3 выхода на Arduino. Никакой магии тут нет, а есть 4 сдвиговых регистра 74HC595.

Более подробно об использовании 74HC59 с Arduino можно почитать в инструкции Использование сдвигового регистра 74HC595 для увеличения количества выходов .

Один регистр дает нам 8 выходов, так как у нашей матрицы 32 входа, в проекте использована техника каскадирования сдвиговых регистров. Нам понадобится 4 регистра 74HC59, при этом количество подключений к Arduino не изменится и будут задействованы 3 выхода на Arduino. для управления. Питание осуществляется по USB, но можно подключить и автономное.

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

Cтрого говоря, Arduino будет управлять не затвором камеры, а фотовспышкой. К сожалению, задержка реакции камеры на сигнал — в районе 20 миллисекунд, что для человеческого глаза не заметно, но все же дольше, чем можно себе позволить при съемке лопнувшего шарика. Поэтому съемка производится в темной комнате с выдержкой 10 секунд, а вот вспышка срабатывает именно в нужный момент. Так как в комнате практически нет освещения, то всё экспонирование фотографии произойдет именно в момент работы вспышки (около 1 миллисекунды).

Увлечение платформой Arduino привело меня к устройствам, работающим по шине I2C (сокращение от английских слов Inter-Integrated Circuit) также называемые как "Two-Wire" устройства. Выпускается большое количество микросхем, аппаратно поддерживающих I2C шину. Это и всевозможные датчики, часы реального времени, память, расширители портов и много чего другого. В статье ниже представлена модернизация проекта сканера устройств с шиной I2C на базе Arduino, который описан на странице http://playground.arduino.cc/Main/I2cScanner и пример практической работы с автономным от компьютера прототипом устройства.

Управляющая программа, способы дистанционного управления (bluetooth или APC220), все остаётся прежним.

В статью добавлены схемы и программные коды для переноса проекта на распространенные палаты управления моторами ( и )

Читать

Автоматический полив растений

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

Плюс ещё отъезды на дачу на выходные... А один только полметровый куст эвкалипта способен за два дня и ночь испарить 2-3л воды и успеть завянуть.

Фитильная система не понравилась тем, что она нерегулируема и жрёт место на окне. Которого и так мало. Лейки-пипетки типа plant genie не подошли по причине того, что даже познав дао втыкания их в горшок(не так воткнул -- или не капает или вытекает за пару часов), их надо или так много, что не хватает площади горшка или горшок небольшой и просто переворачивается. Ну и на заявленные две недели этих 0.22л тоже не особо хватает.

Arduino – это популярная платформа разработки для электронщиков и их проектов электроники простым способом. Он состоит как из физической программируемой платы разработки (на базе микроконтроллеров AVR), так и из части программного обеспечения или IDE, которая работает на вашем компьютере и используется для записи и загрузки кода на плату микроконтроллера. В этой статье рассмотрены популярные, необычные и простые Ардуино проекты.

Для начала рассмотрим самые популярные Аrduino-projects:

  1. MIDI-контроллер – самый простой из популярных проектов Ардуино. MIDI-контроллеры – отличный способ управлять различными звуками на вашем компьютере с использованием физического оборудования. Это довольно старая технология, и вы можете купить всевозможные охлаждающие MIDI-контроллеры практически в любом музыкальном магазине. Но если вы не хотите покупать MIDI-контроллер, вы можете сделать свой собственный с Arduino. Как только вы его создадите, вы сможете контролировать все свои удары, звуковые сигналы и переходы через USB.
  2. Датчик Ambilight на ЖК-дисплей (см. фото выше). Добавление небольшого количества подсветки на ваш ЖК-дисплей – отличный способ сделать просмотр фильмов немного более захватывающим. Конечный результат – это система просмотра фильмов с завораживающими эффектами.
  3. Управление устройствами высокого напряжения с использованием Arduino. В конце проекта вы сможете управлять своими бытовыми приборами, такими как светодиод, вентилятор, лампочка и так далее. Вы можете отрегулировать время включения и выключения этих приборов. В этом проекте используется один из самых популярных модулей, то есть 2-канальный релейный модуль, который широко используется для управления высоковольтными устройствами с задействованием сигналов низкого напряжения. Итак, в этом проекте вы узнаете, как использовать 2-канальный релейный модуль с Arduino и его схемой.
  4. . Схема проекта довольно проста. Основная цель оборудования – измерить значение температуры окружающего пространства, а затем распечатать его на ЖК-дисплее, используя Arduino и термистор. Термистор – это тип переменного резистора, который изменяет его сопротивление в соответствии с температурой окружающей среды. Так что да, вы можете сделать это, как работы LDR (Light Dependent Resistor) с одной разницей. В то время, как LDR меняет свое сопротивление в соответствии с интенсивностью света, сопротивление термистора зависит от температуры окружающей среды.

Самые необычные проекты

Теперь перейдем к необычным проектам с использованием Аrduino микропроцессора:

  1. Игрушка Easy Robot Toy PipeBot . Если вы ищете более простой проект, возможно, тот, с которым вы можете работать со своими детьми, тогда рассмотрите вариант создания игрушки PipeBot. Потребуются лишь материалы, которые всегда находятся под рукой. Когда вы построите, вы получите рулонную политрубку, которой вы можете управлять с помощью вашего смартфона.
  2. 3D-сканер . Разработчик-любитель Ричард создал этот проект для сканирования 3D-моделей своих детей. Это на самом деле довольно революционный дизайн, поскольку он не заставляет людей стоять на месте в течение длительного времени во время сканирования. Вместо этого этот 3D-сканер мгновенно снимает несколько фотографий с разных ракурсов и собирает изображения в виде 3D-сканирования. Ричардский сканер построен с 40 контактами Pis, 40 поддерживающими контакты Pi камерами и 40 8GB SD-картами. Итак, как вы можете себе представить, этот проект мгновенно окупится.
  3. Приспособление для людей с ограниченными возможностями . С помощью ардуиноподобного устройства, называемого Tongueduino, которое разработано исследователем MIT Гершоном Дублоном, отправляется информация на площадку с электродами, расположенными по сетке. Этот пэд помещается в рот пользователя. При подключении к электронному датчику пэд преобразует сигналы от датчика в небольшие импульсы электрического тока через сетку, которые язык читает, как образец человеческого языка. Известно, что язык имеет чрезвычайно плотное сенсорное разрешение, а также высокую степень нейропластичности, способность адаптироваться к каждому человеку. Исследования показали, что электротактильные языковые дисплеи могут использоваться в качестве протезов зрения для слепых. Пользователи быстро учатся читать и перемещаться по естественным средам. С помощью Tongueduino сигналы сопоставляют пространственные и интенсивные карты с количеством импульсов внутри кадра. Пользователь Tongueduino может идентифицировать пиксели и линии, нарисованные на сетке 3x3, коллегой на компьютере. Конечная цель состоит в том, чтобы выйти за рамки простой замены зрения в сторону большего сенсорного увеличения. Соединение с магнитометром может предоставить пользователю внутреннее чувство направления.

Самые простые проекты для начинающих

Приведем примеры нескольких простых самоделок на Ардуино, которые может сделать даже неопытный в конструировании электронных приборов человек:

  1. . RFID обозначает радиочастотную идентификацию. Каждая RFID-карта имеет уникальный идентификатор, встроенный в нее, и считыватель RFID используется для считывания RFID-карты no. EM-18 RFID-считыватель работает на частоте 125 кГц, поставляется со встроенной антенной и может питаться от источника питания 5 В. Он обеспечивает последовательный выход вместе с выходом Weigand. Диапазон составляет около 8-12 см. Параметры последовательной связи – 9600 бит/с, 8 бит данных, 1 стоповый бит. Эта беспроводная RF-идентификация используется во многих системах.
  2. Знаменитый Аrduino проект – . Переключатель датчика наклона представляет собой электронное устройство, которое определяет ориентацию объекта и дает свой выход, высокий или низкий, соответственно. В нем есть ртутный шар, который перемещается. Таким образом, датчик наклона может включать или выключать схему, в зависимости от ориентации. В этом проекте мы взаимодействуем с датчиком Mercury/Tilt с Arduino UNO. Мы контролируем светодиод и зуммер в соответствии с выходом датчика наклона. Всякий раз, когда мы наклоняем датчик, будильник включается.
  3. На Ардуино делается элементарный проект – . С простым знанием цепи Arduino и Voltage Divider Circuit мы можем превратить Arduino в цифровой вольтметр и измерить входное напряжение с помощью Arduino и ЖК-дисплея 16x2. Arduino имеет несколько аналоговых входных контактов, которые соединяются с аналого-цифровым преобразователем (АЦП) внутри Arduino. Arduino ADC – это десятибитовый преобразователь. Это означает, что выходное значение будет находиться в диапазоне от 0 до 1023. Мы получим это значение, используя функцию analogRead . Если вы знаете опорное напряжение, вы можете легко рассчитать текущее напряжение на аналоговом входе. Мы можем использовать схему делителя напряжения для расчета входного напряжения.

Доброго времени суток, Хабр. Запускаю цикл статей, которые помогут Вам в знакомстве с Arduino. Но это не значит, что, если Вы не новичок в этом деле – Вы не найдёте ничего для себя интересного.

Введение

Было бы не плохо начать со знакомства с Arduino. Arduino – аппаратно-программные средства для построения систем автоматики и робототехники. Главным достоинством есть то, что платформа ориентирована на непрофессиональных пользователей. То есть любой может создать своего робота вне зависимости от знаний программирования и собственных навыков.

Начало

Создание проекта на Arduino состоит из 3 главных этапов: написание кода, прототипирование (макетирование) и прошивка. Для того, чтоб написать код а потом прошить плату нам необходима среда разработки. На самом деле их есть немало, но мы будем программировать в оригинальной среде – Arduino IDE. Сам код будем писать на С++, адаптированным под Arduino. Скачать можно на официальном сайте . Скетч (набросок) – программа, написанная на Arduino. Давайте посмотрим на структуру кода:


main(){ void setup(){ } void loop(){ } }

Важно заметить, что обязательную в С++ функцию main() процессор Arduino создаёт сам. И результатом того, что видит программист есть:


void setup(){ } void loop(){ }

Давайте разберёмся с двумя обязательными функциями. Функция setup() вызывается только один раз при старте микроконтроллера. Именно она выставляет все базовые настройки. Функция loop() - циклическая. Она вызывается в бесконечном цикле на протяжении всего времени работы микроконтроллера.

Первая программа

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


int Led = 13; // объявляем переменную Led на 13 пин (выход) void setup(){ pinMode(Led, OUTPUT); // определяем переменную } void loop(){ digitalWrite(Led, HIGH); // подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду digitalWrite(Led, LOW); // не подаём напряжение на 13 пин delay(1000); // ожидаем 1 секунду }

Принцип работы этой программы достаточно простой: светодиод загорается на 1 секунду и тухнет на 1 секунду. Для первого варианта нам не понадобиться собирать макет. Так как в платформе Arduino к 13 пину подключён встроенный светодиод.

Прошивка Arduino

Для того, чтоб залить скетч на Arduino нам необходимо сначала просто сохранить его. Далее, во избежание проблем при загрузке, необходимо проверить настройки программатора. Для этого на верхней панели выбираем вкладку «Инструменты». В разделе «Плата», выберете Вашу плату. Это может быть Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo или другие. Также в разделе «Порт» необходимо выбрать Ваш порт подключения (тот порт, к которому вы подключили Вашу платформу). После этих действий, можете загружать скетч. Для этого нажмите на стрелочку или во вкладке «Скетч» выберете «Загрузка» (также можно воспользоваться сочетанием клавиш “Ctrl + U”). Прошивка платы завершена успешно.

Прототипирование/макетирование

Для сборки макета нам необходимы следующие элементы: светодиод, резистор, проводки (перемычки), макетная плата(Breadboard). Для того, чтоб ничего не спалить, и для того, чтоб всё успешно работало, надо разобраться со светодиодом. У него есть две «лапки». Короткая – минус, длинная – плюс. На короткую мы будем подключать «землю» (GND) и резистор (для того, чтоб уменьшить силу тока, которая поступает на светодиод, чтоб не спалить его), а на длинную мы будем подавать питание (подключим к 13 пину). После подключения, загрузите на плату скетч, если вы ранее этого не сделали. Код остаётся тот же самый.


На этом у нас конец первой части. Спасибо за внимание.