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В;
Шариковая ручка, и другие элементы конструкции.
Из привода оптических дисков используется блоки с шаговым двигателем и направляющей штангой, которые позиционировали оптическую головку. Из этих блоков извлекают двигатель, вал и каретку.
Управлять шаговым двигателем без дополнительного оборудования у вас не выйдет, поэтому используют специальные платы-драйверы, лучше, если на них будет установлен радиатор двигателя в момент пуска или смены направления вращения.
Полный процесс сборки и работы показан на этом видео.
Заключение
В статье рассмотрена лишь малая капля из всего того, что вы можете сделать на этой популярной платформе. На самом деле всё зависит от вашей фантазии и задачи, которую вы ставите перед собой.
Все об ардуино и электронике!
Arduino - торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники , ориентированная на непрофессиональных пользователей. Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат , продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.
Название платформы происходит от названия одноимённой рюмочной в Иврее , часто посещавшейся учредителями проекта, а название это в свою очередь было дано в честь короля Италии Ардуина Иврейского .
Arduino может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы
Хотите поиграть в видеоигры из детства? Танчики, Контра, Чип и Дэйл, Черепашки Ниндзя… Все эти игры ждут вас! Из данного руководства вы узнаете как просто и быстро собрать и настроить ретро-консоль на базе микрокомпьютера Raspberry Pi и сборки эмуляторов RetroPie.
Вначале статьи будет изложена теория, ближе к ее середине будет рассмотрена практика, максимально кратко так же расскажем об инструменте, о химии, которая необходима в пайке, о дополнительных инструментах. Для того, чтобы получить действительно качественную пайку, Вам все эти вопросы следует хорошо изучить, где-то узнавать подробности, но мы постараемся объяснить все максимально доступно «на пальцах», так что после прочтения вы гарантированно сможете выполнить поставленные задачи.
Популярная глушилка спаммер на базе платы ESP8266 (nodemcu \WEMOS) получила вторую версию прошивки c исправлением ошибок, улучшением интерфейса и добавлением более широкого функционала. Все это собрал до кучи и решил написать пост. Так же добавил подробный ворклог с упрощенной прошивкой через FLASHER (прошивка в 3 клика)
WIFI часы с метеостанцией на ESP8266 и матричном индикаторе на MAX7219
Очень интересный и простой проект часов с веб интерфейсом на базе платы ESP8266 nodemcu и дисплея MAX7219 . Наверное лучший вариант часов и спаренной погодной станции которая получает данные с интернета!
Этот проект сделан на плате WIFI ESP8266 и заточен на управление и мониторинг через приложение BLYNK на вашем смартфоне. Так же в проект можно добавить IP-камеру (или использовать старый смартфон с камерой в виде сервера) для мониторинга в реальном времени через IP Webcam Pro через виджет в приложении BLYNK .Для подачи корма используется шаговый двигатель NEMA17 c шагом в 1.8 градуса - 200 шагов на полный оборот. Двигатель вращает шнек в сантехническомпереходнике, в который из бункера попадает корм.
Давайте начнем с тех возможностей, которые откроются перед вами, если вы обеспечите беспроводной обмен данными между двумя платами Arduino:
Вы понимаете, - втолковывал редактор, - это должно быть занимательно, свежо, полно интересных приключений… Так, чтобы читатель не мог оторваться.
И.Ильф, Е.Петров "Как создавался Робинзон"
.
Начинать работу с Arduino, как и с любой другой платформой программной или аппаратной, всегда интереснее с какого-нибудь реального проекта. Программисты при этом пишут код выводящий «Hello, world», ардуинисты моргают светодиодом. И все радуются как дети.
Я же решил начать с продвинутого проекта, в том числе с тайной надеждой оторвать молодое поколение от Counter-Strike (не получилось).
Как можно догадаться из названия RoboCar4W, первым проектом стал робот-машина о четырех колесах. Начиная работу я уже имел опыт программирования, умел когда-то давно паять, но совершенно не знал даже распиновки Arduino и документацию совершенно не читал. Все премудрости изучал по ходу пьесы и Гугл в помощь.
Поскольку сам проект принципиально не нов, подобных описаний в сети достаточно, все компоненты известны, то никаких неожиданностей не предполагалось. Поэтому задумка была сформулирована в самых общих чертах и главной целью являлось погружение в «мир вещей» с помощью Arduino, как платформы для быстрого прототипирования. В этом опусе возможно кто-то узнает себя в самом начале пути.
Всё "железо" приобреталось на ebay, и по своему опыту хочу сказать, что проще приобрести сразу стартер кит (ищите по словам Arduino Starter Kit), а не собирать подетально. Да и приедет все сразу вместе. Решено было не мелочиться, купить нормальное шасси, нормальные колеса, нормальные моторы, чтоб было "дорохобохато".
Главный секрет успешных покупок на eBay - покупать у продавцов с высоким рейтингом и при этом внимательно читать описание товара. Об этом есть много статей в интернете.
Какую плату семейства Arduino выбрать?
Я взял Arduino UNO, под нее много проектов с описаниями. Но сейчас бы взял Arduino Mega 2560, у нее больше цифровых и аналогов выводов и полная совместимость по проектам с UNO.
В мире разработки программного обеспечения это называют еще «требования к системе».
Задумка проекта была следующей. Первый вариант машины-робота под названием RoboCar4W должен выполнять незамысловатые действия:
Второй вариант машины должен управляться вручную по bluetooth с Android телефона.
Чтобы вам лучше работалось вот весь финальный проект RoboCar4W в сборе (тут без блютуза).
Вот видео ходовых испытаний.
На первом видео RoboCar4W ездит в автоматическом режиме с объездом препятствий на двух разных версиях «прошивки», т.е. скетча, поэтому, если кто самый зоркий и заметил, что поведение робота в разных эпизодах немного отличается.
На втором видео RoboCar4W передвигается при помощи команд, передаваемых «водителем» по Bluetooth с мобильного телефона под Android. На телефоне установлена программа «Bluetooth RC Car». Причем, если близко впереди оказывается препятствие, то робот останавливается, т.е. протаранить что-нибудь не получится (однако есть «секретная» кнопка, которая отключает безопасный режим).
На третьем видео RoboCar4W показывает заранее запрограммированную демо-программу движения с поворотами. Демо-программа активируется по команде с того же мобильного телефона под Android. Робот просто едет некоторое время и делает повороты.
Ошибочно называть наш способ «алгоритм объезда препятствий» или «поиском пути». Это отдельные математические дисциплины, чистая математика. Если вам очень-очень сильно нравится математика, то погуглите указанные словосочетания, чтивом на полгода будете обеспечены.
Пока же нас интересуют вещи гораздо проще. Поэтому мы назовем это просто - алгоритм управления движением 4-х колёсного робота. Разумеется речь идет об автоматическом управлении без участия человека.
Вот этот простой алгоритм записанный словами, для более сложных алгоритмов придется (хочется или нет) составлять блок-схемы.
Чем хорошо, что у нас 4 колеса и все ведущие? Мы можем выполнить (запрограммировать) несколько типов поворотов:
Во втором варианте программы, при управлении с Android-телефона безопасный режим, когда робот старается не допускать лобовых столкновений, может быть отключен, если в программе два раза нажать кнопку
и включен обратно однократным её нажатием.
Важное примечание . Вся логика находится под управлением Arduino. Android здесь выступает просто как игровой пульт (без мозгов) от консоли, его задача - тупо передавать нажатия кнопок (т.е. команды) посредством Bluetooth в Arduino RoboCar4W.
Первоначально в состав машины входил сервопривод, который поворачивал ультразвуковой измеритель расстояния на определенный угол для измерений по трем направлениям. Но в ходе испытаний из-за неосторожного обращения сервопривод сгорел, поэтому теперь датчик расстояния просто жестко закреплен впереди корпуса.
Нет худа без добра, зато скетч стал немного проще.
На будущее, сервопривод покупайте самый простой и дешевый, особая мощность, скорость и точность поворота на заданный угол не нужны, а вывести серво из строя довольно легко, как оказалось. Вполне подойдет SG90 стоимостью $2.
Итак составные части проекта RoboCar4W, описание на английском дается для облегчения поиска на ebay и ему подобных:
Шасси, DC моторы и колеса приобретались сразу в комплекте и даже с инструкцией по сборке.
Аналоговые входы могут использоваться как цифровые выводы портов ввода/вывода. Выводы Arduino, соответствующие аналоговым входам, имеют номера от 14 до 19. Это относится только к выводам Arduino, а не к физическим номерам выводов микроконтроллера Atmega.
Рисовать не обязательно, можно просто свести все в таблицу. У меня получилось так.
Пины D4, D7, D8, D12 будут заняты, если используются любые DC моторы или шаговые.
Пины D9 (Servo #1 control), D10 (Servo #2 control) будут заняты, только если используются сервомоторы.
Сама по себе плата для управления моторами Motor Drive Shield L293D пины Arduino не занимает.
Пины питания 3.3 В, 5 В и «земля» дублируются на Motor Drive Shield в достаточном количестве. Поэтому об их нехватке не стоит беспокоиться.
Если все-таки хотите красиво нарисовать, то бесплатная программа Fritzing вам в помощь.
Это второй очень важный момент. От питания зависит очень многое. Например, серво-мотор при повороте вала на заданный угол начинает потреблять большой ток. При этом если серво подключен по питанию на 5 В Arduino, то происходит «просадка» по напряжению и вся остальная схема начинает глючить, а Arduino даже может перезагружаться при этом.
В любом случае, если в поделке используете моторы, то Motor Drive Shield необходим (или подобная ему схема).
Итак, имеем 4 мотора постоянного тока (DC), сервопривод, саму плату Arduino и несколько датчиков. Моторы самые прожорливые, а вот датчики могут успешно запитываться с разъемов самой платы Arduino, поэтому с ними все просто. Для удобства я свел всё хозяйство в одну таблицу.
Напряжение рекомендованное или типовое. Потребляемый ток | Максимальное напряжение | Чем планируется питать | Примечания | |
---|---|---|---|---|
Плата Arduino UNO R3 | 7 - 12V, 200mA (среднее) | 6 - 20 | «Крона 9V» Li-ion 650mAh, 8.4V | Разъем с плюсом в центре |
Сервомотор MG-995 | 5-6 V, 0.1 - 0.3A (пиковое) | 4.8 - 7.2 | Аккумуляторы (5) шт. Ni-Mh 1.2V = 6V | Питание только от отдельного источника. Если запитать вместе с Arduino, то будет глючить всё. Напряжения Ni-Mh аккумуляторов 4шт. * 1.2В = 4.8V не хватает. Некоторые утверждают, что данную серву не стоит использовать на 6 вольтах только 4,8 |
DC двигатели (4 шт.) | 6 - 8V, ток от 70mA до 250mA | 3 - 12 | аккумуляторы (5+3) шт. Ni-Mh 1.2V = 9.6V | Вы не сможете нормально запустить двигатели от 9В батареи, так что даже не тратьте время (и батареи)! |
Motor Drive Shield L293D | не требуется | 4.5 - 36 | не требуется | |
Модуль Bluetooth HC-0506 | 3.3 V, 50 mA | 1.8-3.6 | С пина 3.3V платы Arduino | |
Ультразвуковой измеритель расстояния HC-SR04 | 5 V, 2 mA | 5 | С пина 5V платы Arduino |
DC/DC преобразователя напряжения у меня не было в наличии. Крона 9V оказался не очень хорошим источником питания, просто у меня он уже был.
А вот от использования Li-ion аккумуляторов большой емкости я отказался. Во-первых, из-за высокой стоимости, во-вторых в китайских интернет-шопах легко нарваться на подделку. Точнее не «легко», а «всегда». Кроме этого Li-ion требует особого обращения, и он не безопасен.
Итак, как видим из таблицы, нам требуется 3 независимых источника питания:
Где ж столько набрать? Саму плату Arduino в любом случае надо питать от отдельного источника, т.к. при «проседании» напряжения, например от включения моторов, плата может перезагружаться или просто глючить. Здесь применяем аккумулятор форм-фактора «Крона 9В», причем разъем который будет подключаться к Arduino должен быть с «плюсом в центре».
Для сервомотора и 4-х DC моторов можно обойтись одним источником питания. Проблема только в том, что сервомотор рассчитан на напряжение 5-6В (максимум 7.2В) и ток 100 - 300мA (пиковое), а DC моторам требуется 6 - 8В (максимум 12В) и ток 250мА.
Для решения проблемы существуют DC-DC преобразователи, но у меня таких не оказалось. В итоге я применил свою "фирменную" схему соединения (безо всяких понижающих электронных схем, только экологически чистые напряжение и ток!): подключил 8 шт. аккумуляторов на 1.2V последовательно и сделал отводы в нужных местах, как показано на схеме.
6В пошло на сервомотор, а 9.6 на DC моторы. Понятно, что аккумуляторы 1--5 будут испытывать повышенную нагрузку.
Для управления серво и DC моторами использовал 4-х канальный Motor Drive Shield на базе микросхемы L293D.
Собрать готовое шасси небольшая проблема. Но не думайте, что без допиливания у вас всё сразу соберется. Поэтому приготовьте надфили.
Подключить нормально несколько моторов, сервомотор или шаговый напрямую к Arduino не удастся. Так как пины (выводы) Arduino являются слаботочными. Для решения проблемы существует дополнительный модуль управления приводами - Motor Drive Shield на базе микросхемы L293D, которая является одной из самых распространенных микросхем, предназначенных для этой цели. Чип L293D известен также как H-мост (H-Bridge).
Я использовал плату, которая обеспечивает 4 канала для подключения на двух микросхемах L293D и сдвиговом регистре. Приобретается на eBay за $5.
Данная плата модуля управления приводами имеет следующие характеристики.
Motor Drive Shield требует небольшой доработки, чтобы можно было после него хоть что-нибудь подключить. Я подпаял сверху необходимые разъемы, получилось вот что.
Моторы могут быть подключены к дополнительному по отношению к плате Arduino источнику питания. Я рекомендую именно такой способ подключения. Для этого нужно снять, разомкнуть перемычку, как показано на картинке.
В этом случае питание Arduino и питание моторов производится независимо друг от друга.
Светодиод на мотор-шилде светится при наличии питания для моторов, если он не горит, то моторы работать не будут.
Новая проблема.
Сервомоторов положение джампера питания не касается, они по прежнему будут запитаны от 5V Arduino. Так как сервомоторы обычно потребляют большой ток и если питания недостаточно, то всё устройство начинает глючить, в «лучшем» случае будет глючить только сервопривод - не будет поворачиваться на заданный угол, либо все время перед каждым поворотом поворачивать сначала в 0 градусов, а уже потом на заданный угол (и если будет успевать). Поэтому я рекомендую питать сервопривод также от дополнительного источника питания. Для этого придется немного переделать схему подключения: откусить плюсовой провод (обычно красный) от стандартного разъема и соединить его с плюсом источника питания напрямую.
При подключении Motor Drive Shield аналоговые пины не используются. Цифровые пины 2, 13 не используются.
Указанные ниже пины используются, только если подключены и используются соответствующие DC двигатели или шаговые двигатели (Stepper):
Эти пины будут заняты, если используются любые DC/steppers: D4, D7, D8, D12.
Указанные ниже пины будут заняты, только если используются соответствующие сервомоторы:
Для начала работы с Motor Drive Shield необходимо скачать и установить библиотеку Adafruit AFMotor .
Пример кода для управления моторами:
DC мотор у меня начал крутиться только при указании скорости больше 100, если меньше - просто жужжит. Минимальную скорость вашего мотора вам придется определить экспериментально.
Для моторов, подключенных к M1 и M2 можно задать частоту: MOTOR12_64KHZ, MOTOR12_8KHZ, MOTOR12_2KHZ, MOTOR12_1KHZ. Наибольшая скорость вращения достигается при 64KHz эта частота будет слышна, меньшая частота и скорость на 1KHz но и использует меньше энергии. Моторы 3 и 4 всегда работают на 1KHz другие значения игнорируются. По умолчанию везде 1KHz.
После этого необходимо прогнать тест моторов. . В начале скетча измените номер мотора в строке (или в строках) типа:
Скетч некоторое время вращает мотор(ы) вперед по ходу движения робота, а затем назад. Посмотрите внимательно в ту ли сторону вращается мотор, и измените полярность подключения если нужно.
Подключаем ультразвуковой измеритель расстояния HC-SR04 Ultrasonic Module. Распиновка выводов:
Время затрачиваемое ультразвуковым дальномером на измерения (определено опытным путем):
Ультразвуковой датчик дальномер, в силу своей физической природы, а не потому что Китай, в некоторых случаях плохо определяет расстояние до препятствия:
Другими словами, для ультразвукового дальномера в идеале было бы отлично, если бы все препятствия имели вид твёрдой плоскости, перпендикулярной направлению излучения ультразвука.
Некоторые проблемы можно решить с помощью инфракрасного датчика расстояния. Но он тоже не идеален:
Хотя если установить эти дальномеры в паре, то эффективность их работы заметно повысилась бы.
Как видим из даташита основные пины «голого» HC-05:
Наш модуль припаян к плате Breakout/Base Board, где уже есть делитель напряжения, поэтому диапазон рабочих напряжений у него от 3.3В до 6В.
Подключаем наш Bluetooth модуль в сборе:
После подачи питания на модуль Bluetooth HС-05 на нем должен заморгать светодиод, что означает работоспособность блютуза.
Включаем bluetooth на мобиле, находим устройство с именем HC-05 и подключаемся, пароль 1234.
Для тестирования заливаем в Arduino простой скетч:
На Android телефон устанавливаем Bluetooth Terminal. Подключаемся к устройству HC-05 и наблюдаем на экране телефона бегущие строки с увеличивающимся счетчиком.
Чтобы модуль мог принимать AT-команды, нужно его перевести в соответствующий режим - для этого нужно установить вывод KEY (PIO11) в логическую 1. На некоторых Breakout/Base Board вместо вывода KEY есть вывод EN (ENABLE), который может или не может быть припаян к выводу на самом чипе. Это касается только чипов HC05. Вот как раз у меня вывод EN платы никуда не припаян. Поэтому его можно припаять отдельным проводом к выводу KEY(PIO11) чипа. Либо во время работы, чтобы перевести HC05 в режим AT-команд на пару секунд закоротить вывод чипа KEY(PIO11) на вывод питания Vcc. Для HC06 вывод KEY не нужен.
Примечание. Каждый раз перед загрузкой программы в Arduino, убедитесь, что модуль Bluetooth не подключен к Arduino. Это вызовет проблемы заливки скетча. Просто отсоедините питание от Bluetooth модуля или провода, соединяющие Arduino и RX, TX контакты модуля.
В начале скетча измените номера моторов в строках типа:
Если заменить строку
то включится режим отладки.
В режиме отладки робот RoboCar4W реально ездить или крутить колесами не будет. Вместо этого активируйте монитор последовательного порта и там увидите как он «ездит» виртуально. Вместо реальной езды вперед в монитор последовательного порта будет писаться строка «Forward», вместо заднего хода с поворотом влево - «Turn Back L(eft)» и т.д. Датчик ультразвукового измерения расстояния тоже ничего не делает, вместо этого расстояния до препятствий генерируются программно и случайно.
Добавить меткиСовсем недавно недорогие микроконтроллеры, такие как Arduino, открыли новые двери для тех, кто хочет сделать интересные приспособления для своих автомобилей. В этой статье мы рассмотрим популярный проект, связанный с Аrduino в автомобиле, который использует эту популярную открытую аппаратную плату.
Самый распространенный проект на Ардуино для автомобиля – установка в машине ЖК-дисплея с особыми функциями и показателями.
Когда Ардуино-дисплей в авто находится в движении, отображаются: процент нагрузки двигателя, напряжение батареи, температура в салоне и температура охлаждающей жидкости двигателя (есть несколько других статистических данных о транспортном средстве, которые могут отображаться, если нужны). Помимо дисплея и микроконтроллера, понадобятся различные датчики для создания этого Аrduino проекта для автомобиля.
Если Аrduino для автомобиля совместим с IDE Teensy 3.6, то читается анимированный растровый образ машины и резервные датчики. Каждый из четырех датчиков на своем месте, так же, как и анимационная картинка автомобиляоторая меняет цвет, исходя из того, насколько близко объект находится к машине (только зеленый означает <5 футов, зеленый и желтый означает <2,6 фута и зеленый, желтый, а красный означает <1 фут).
Этот Ардуино проект для авто очень сложный, потому что резервные датчики взаимодействуют с приемопередатчиком, а затем отображают информацию на маленький ЖК-дисплей.
Проприетарный протокол связи не является типичным, как например, I2C, UART, CAN, USB и так далее. Свойства протокола могут различаться в каждом случае, в зависимости от поставщика.
Прежде чем отключить ЖК-дисплей, нужно проверить три провода, соединяющие трансивер и ЖК-дисплей. В инструкции указывается, что необходим красный провод + 5В, провод черного цвета и синий провод. После подключения осциллографа к синему проводу и заземлению пользователь увидит характерное изображение.
Биты под номерами 0-5 не несут никакой существенной информации и не кодируются.иты 6-8 соответствуют датчикам с названиями A, B, C или D. Необходимо загрузить эскиз в IDE Arduino, который считывает датчики и выводит данные через последовательную консоль.
Для следующего Ардуино проекта в автомобиле можно использовать бесплатное программное обеспечение для редактирования фотографий под названием GIMP для обрезки и изменения размера изображения машины с верхнего вида. Затем необходимо экспортировать изображение в виде 24-битного растрового изображения с именем «car.bmp», которое составляет 110 пикселей на 250 пикселей. После загружаем все на карту microSD и помещаем эту карту в микроконтроллер Teensy 3.6.
Основными причинами, по которым нужно использовать Teensy 3.6 вместо UNO, остается скорость, с которой Teensy может читать SD-карту и отображать изображение с помощью драйвера дисплея RA8875. При использовании UNO процесс займет около 8 секунд, в то время как с Teensy 3.6 займет 1,8 секунды.
Для дальнейшего конструирования проекта с Аrduino для автомобиля потребуется сделать трехмерную печать верхней и нижней крышки ЖК-дисплея для его защиты. В машине необходимо предварительно просверлить отверстия для датчиков.
В конечном итоге, пользователь получит отличное приспособление, контролирующие все возможные параметры автомобиля. Список деталей, которые понадобятся для создания этого ЖК-дисплея Ардуино для автомобиля, приведен ниже:
Для загрузки эскиза проекта Ардуино для авто в виде ЖК-дисплея в Teensy 3.6 вам необходимо установить Teensyduino. Затем вам нужно будет заменить библиотеки Adafruit_RA8875 и Adafruit_GFX в расположении библиотеки Teensy (а не на вашем типичном месте в документах). На Mac операционной системе нужно щелкнуть правой кнопкой мыши по значку приложения Arduino в приложениях, а затем перейти в:
В Windows данная папка находится под основным диском C, в файлах программ x86, Arduino, а затем в папке с аппаратным обеспечением. Как только вы это сделаете, вам нужно будет изменить расположение эскиза в приложении Arduino, отредактировав его в настройках – обычно библиотеки “Тинси” размещаются по следующему адресу:
/Applications/Arduino.app/Contents/Java/hardware/teensy/avr
Из-за проблемы с внутренним температурным датчиком пользователь устанавливает температурный датчик модуля DS18B20 .
Необходимо исправить ошибки, всплывающие при подключении электронного устройства, включая DS18B20 , выводя температуру в 185 градусов по Фаренгейту; дисплей не включается вообще в холодную погоду, а пиксели застревают в неправильном цвете, когда дисплей затемнен.
Обратите внимание, что разгон teensy до 240 МГц не позволяет адаптеру I2C OBD-II взаимодействовать с teensy. Наконец, просто нажмите кнопку «Загрузить». В представленном скетче находятся обширные комментарии, которые помогут пользователю адаптироваться при конструировании ЖК-дисплея для авто.
Вскоре после установки дисплея пользователь поймет, что дисплей работает даже тогда, даже когда автомобиль выключен.
Заглянув в разводку OBD-II, электронщик обнаружит, что линия питания 12 В к разъему OBD-II всегда подключается непосредственно к батарее. Чтобы обойти это, необходимо купить разветвитель OBD-II и отрезать провод, идущий на контакт 16 на одном из двух разъемов на сплиттере, а затем подключить этот разрезаемый провод к добавлению проводки.
Затем, используя мультиметр, необходимо заглянуть в коробку предохранителей на стороне водителя и протестировать существующие предохранители, чтобы узнать, какой предохранитель получил питание после того, как ключ был включен в зажигание.
В конце пользователь подключает добавочный провод к предохранителю, который нужен для того, чтобы дисплей теперь включался только тогда, когда автомобиль работает и находится на ходу. Проведите некоторое исследование того, как правильно добавить схему к вашему автомобилю. Многие подобные проекты описаны на нашем сайте с подробными разъяснениями.
Кроме того, пользователь может добавить кнопку “стоп-старт” на Ардуино для своего дисплея с параметрами для автомобиля.
Технологии не стоят на месте и сегодня автолюбителям предлагается множество различных вариантов для совершенствования своих «железных коней». Одним из таковых является Arduino. Это устройство представляет собой инструмент, использующийся для проектирования электронных устройств. В случае с автомобилем проектирование обычно осуществляется на лобовое стекло. Как сделать бортовой компьютер на Arduino и как его правильно настроить — читайте в этой статье.
[ Скрыть ]
Компы давно и плотно вошли в нашу жизнь. Аппаратная платформа Arduino — это одна из последних разработок с открытым программным кодом, которая построена на обычной печатной схеме. Подробнее о том, как с помощью такой платы сделать разные устройства для авто, мы расскажем далее.
С помощью платы Arduino можно соорудить автомобильный бортовой компьютер, который сможет:
Помимо устройства Arduino вам также потребуется жидкокристаллический модуль, адаптер Блютуз НС-05, а также сканер ELM327 и резисторное устройство на 10 кОм. Разумеется, необходимо приготовить и звуковой индикатор, монтажные провода и сам корпус устройства.
Процедура сборки осуществляется следующим образом:
Чтобы собрать GPS-трекер на базе Arduino, вам потребуется:
Как производится подключение схемы:
Чтобы соорудить парктроник, вам потребуются такие составляющие:
Процедура сборки выглядит следующим образом:
Как видите, микроплата Arduino — это универсальный вариант, с помощью которого можно создать множество различных девайсов. Помимо вышеописанных устройств, вы также можете соорудить спидометр, который будет выдавать информацию о скорости прямо на лобовое стекло, кнопку старт-стоп, и даже сигнализацию для транспортного средства. В целом вариантов очень много, если подойти к вопросу изготовления самодельного гаджета правильно, то у вас все получится.
Разумеется, для этого вы должны обладать знаниями в области электроники и электротехнике, при этом минимальных навыков, вероятнее всего, будет недостаточно. При изготовлении девайсов вам придется принимать собственные решения, о чем в Интернете может и не быть информации. Поэтому будьте готовы к тому, что процесс сборки может занять достаточно долгое время.
Из видео ниже вы сможете узнать, как обустроить климат-контроль путем доработки регулятора отопительной системе на примере автомобиля ВАЗ 2115 (автор ролика — Иван Никульшин).