Что можно делать на ардуино
Забавные и полезные «ардуинные поделки»
Нужно сказать, что вместо оригинальных «ардуин» я предпочитаю использовать ESP32 dev board: при гораздо более низкой цене, они предоставляют намного большую функциональность. Как-то, я купил на «Алибабе» мелкооптовую партию в сто штук по неплохой цене, затем 80 продал на eBay, а 20 оставил себе для поделок и подарков увлеченных «ардуиненьем» друзьям и приятелям. ESP32 при этом обошлись мне бесплатно (даже что-то, вроде, заработал – но тут же потратил для закупки контроллеров, дисплеев etc. – на PayPal-е деньги на залеживаются).
Впрочем, все проекты, упомянутые в этой статье, очень легко портировать на оригинальные «ардуины».
Я не буду приводить в этой статье код, схематику, и использованные детали (BOM, bill of materials), поскольку все это есть в описании проектов на гитхабе, и нет смысла перегружать статью излишней информацией. Правда, все описания там на английском, но, поскольку это мой английский (говорю я on English, наверное, все-же намного понятнее, нежели пишу), то у вас проблем возникнуть не должно. Кроме того, там полно красочных картинок! Ну, а если будет что неясно, то спрашивайте по-русски тут или даже на гитхабе.
Итак, поделка №1: «Цифровой магический шар»
Как-то, борясь с «ковидной скукой», «наардуинил» вот такую электронную игрушку, цифровой «Magic 8 Ball». Если вы не видели подобный шар «вживую», то, должно быть, вспомните по великолепному фильму «Interstate 60» с Гэри Олдменом, Кристофером Ллойдом, Майклом Джей Фоксом и Джеймсом Марсденом.
Проект получился не очень сложный, но достаточно занимательный и «насыщенный» разными контроллерами. Исходные коды и схематика доступны на гитхабе.
Главные отличия от подобных проектов «magic 8 ball» (а их хватает) заключаются в многоязычности, реалистичной (если, конечно, это можно так назвать) анимации, голосовой поддержке и имплементацией нового (как я надеюсь) типа UI.
Прошу прощения за качество презентации, но я не только не видеоблогер, но даже и не учусь
Поделка №2: «умный» стартер мотора автомобиля
Уже весьма продолжительное время (более 18 лет), на всех моих автомобилях была установлена опция удаленного запуска двигателя. Получив и опробовав, в первый раз, эту опцию с Toyota Matrix, я, в дальнейшем, буквально требовал от дилеров установки подобной опции на всех машинах, что я покупал или брал в лиз (а подавляющее большинство из них были Nissan Altima разных лет, см. эту статью).
И, действительно, эта опция чрезвычайна удобна как зимой, в мороз, так и летом, в жару: можно из дому прогреть или охладить салон перед поездкой. Меня долго занимал вопрос: а возможно-ли этот процесс как-то автоматизировать (для меня было особенно важно из-за регулярных поездок в офис: утром, порой, просто «заматываешься» в спешке и забываешь нажать на кнопку)?
В результате, я решил остановиться на самом простом варианте – «тупом» и прямолинейном роботе-«кнопконажималке». Поскольку 3D принтером я до сих пор так и не обзавелся, поэтому конструкцию «робота» пришлось собирать из кусочков полудюймовой деревянной доски. Эти кусочки были надёжно скреплены шурупами, потом вся конструкция, в «истинных традициях» русских инженеров, была доведена до кондиции напильником (я не шучу!), покрашена и «финиширована» для приятных тактильных ощущений нашим «лучшим старым другом», черной изолентой. Кстати, в RL эта штука выглядит намного круче, чем на фотках.
В качестве главного «привода» был выбран сервомотор MG995 – крутящего момента у него хватит не только, чтобы нажать на кнопку, но и намного больше. Второе достоинство данного «серва», что для управления им практически ничего не нужно – только подключить control wire к нужному пину dev board, а для питания и земли подойдет обычный 5-вольтовый блок (т.е. не нужны платы ни бриджей, ни драйверов).
К слову сказать, конструкция в общем получилась, как любят говорить американцы, «solid as a rock» («твердая, как скала»). И работает, как хорошие часы: очень крепкая, надежная и софт не глючит.
Изначально я подумывал о простой «тупой нажималке», которую потом можно было-бы интегрировать в openHAB (ну, или другой проект “Smart Home”). Но потом еще подумал: «У меня в распоряжении есть мощный SoC, с достаточным количеством памяти и Wi-Fi, так в чем же дело?!» и засел ваять «умную программку».
Эту программку вы можете найти вот тут.
Как она работает (вкратце): стартует web server, через который доступна страница конфигурации. Поскольку я решил обойтись «минималистическим решением», и не добавлять ни контроллер real time clock, ни temperature sensor, требуется подключение к интернету через Wi-Fi. Программа синхронизирует время с NTP сервером (я использую time.google.com), а «забортную» температуру получает от openweathermap.org (это абсолютно бесплатно, нужно просто зарегистрировать эккаунт). В назначенное время программка «командует» мотору «нажать» сначала кнопку «close doors», а потом «engine start» (такую последовательность предусмотрел Nissan). Для других производителей автомобилей, вы можете легко изменить эту последовательность (но, AFAIK, у всех она примерно одинаковая).
Самое обидное, что из-за проклятого COVID-19, и, соответственно, работы из дому, мне так и не довелось воспользоваться в «штатном режиме» этой нетривиальной разработкой, ну, а сейчас уже поздно. Впрочем, выбрасывать я ее не собираюсь: кто знает, может, через полтора года и пригодится
Поделка №3: «умный» Wi-Fi ремоут для «глупых» устройств с инфракрасными пультами
Там же лежит крохотный snippet, для чтения IR кодов с реальных пультов.
Код до неприличия простой и прямолинейный; даже у людей с минимальным опытом «ардуиненья» не должен вызывать вопросов.
Интеграция с Google Home (или Alexa, или Siri) самая простецкая, через io.adafruit и ifttt.com (т.е. мы добавляем не, собственно, smart device, а лишь actions), но работает, на удивление, весьма неплохо. Думаю, что поддержку smart home можно «запилить» и через более «правильную» интеграцию, но лично мне это пока не интересно, да, и если честно сказать, не особо нужно – «работает – не трогай! (с) «Первая Заповедь Программиста»
Инструкции по интеграции смотрите вот тут, там все очень просто.
Вот, собственно, пока и все на сегодня. Впрочем, среди моих других проектов на гитхабе вы, возможно, сможете найти еще что-нибудь интересное. Ну, и у меня вообще есть много забавных проектов, но не все пока выложено на гитхаб. Если вам не лень, то «простарьте» понравившиеся вам проекты – всего лишь клик мышкой, а мне приятно!
Дата-центр ITSOFT — размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.
Проекты ардуино для начинающих
В этой статье вы найдете обзор инженерных проектов ардуино с кратким описанием каждого из них. Мы постарались не просто рассказать о проектах для начинающих, но и дать краткие комментарии с примерами и схемами реализации. Большинство проектов могут быть созданы с контроллерами Arduino Uno R3, Nano или Mega. Надеемся, что ваше знакомство с платформой продолжится, и вы сможете не только повторить уже существующие идеи, но и придумать свои решения, вдохновленные примерами.
Проекты Arduino для начинающих
Если посмотреть на все проекты ардуино, информация о которых доступна в интернете, то можно их разделить на несколько основных групп:
По каждой из этих групп можно найти множество самых разнообразных материалов в книгах и на сайтах. В этой статье мы начнем знакомство с описанием наиболее простых проектов, с которых рекомендуется стартовать начинающим.
Как создавать проект на ардуино
Проект Ардуино – это всегда сочетание электронной схемы, некоторых связанных друг с другом аппаратных и механических устройств, системы питания и программного обеспечения, управляющего всем этим хаосом. Поэтому приступая к работе, вы должны твердо понимать, что создавая устройство в одиночестве, вы должны будете стать и программистом, и электронщиком, и конструктором.
Если речь идет не об учебном проекте, то вы обязательно столкнетесь со следующими этапами реализации с такими вот задачами:
Каждый из этих этапов создания проекта достоин отдельной статьи. Но мы уделим главное внимание этапам сборки электронных схем (основы электроники) и программирования контроллера.
Электронные схемы
Электронные схемы обычно собираются с применением макетных плат, скрепляющих элементы друг с другом без пайки и скрутки. О том, как работают модули и схемы подключения можно узнать на нашем сайте. Обычно в описании проекта указаны способы монтажа деталей. Но для большинства популярных модулей есть уже десятки готовых схем и примеров в интернете.
Программирование
Создание и прошивка скетчей производится в специальной программе – среде программирования. Наиболее популярной версией такой среды является Arduino IDE. На нашем сайте вы сможете найти информацию о том, как скачать, установить и настроить эту программу.
Где купить все необходимое
Мы собрали ссылки Aliexpress на стартовые наборы Arduino Starter Kit, в которых есть все самое необходимое для создания своих первых проектов.
Простые проекты Ардуино
Давайте начнем наш обзор с традиционно самых простых, но очень важных проектов, включающих в себя минимальное количество элементов: светодиоды, резисторы и, конечно же, плату ардуино. Все примеры рассчитаны на использование Arduino Uno, но с минимальными изменениями будут работать на любой плате: от Nano и Mega до Pro, Leonardo и даже LilyPad.
Проект с мигающим светодиодом – маячок
Все без исключения учебники и пособия для начинающих по ардуино стартуют с примера мигания светодиодом. Этому есть две причины: такие проекты требуют минимального программирования и их можно запустить даже без сборки электронной схемы – уж что-что, а светодиод есть на любой плате ардуино. Поэтому и мы не станем исключением – давайте начнем с маячка.
Нам понадобится:
Что должно получиться в итоге:
Светодиод мигает – включается и выключается через равные промежутки времени (по умолчанию – 1 сек). Скорость включения и выключения можно настраивать.
Схема проекта
Схема проекта довольно проста: нам нужен только контроллер ардуино со встроенным светодиодом, подсоединенным к пину 13. Именно этим светодиодом мы и будем мигать. Подойдут любые популярные платы: Uno, Nano, Mega и другие.
Подсоединяем Arduino к компьютеру, убеждаемся, что плата ожила и замигала загрузочными огоньками. Во многих платах «мигающий» скетч уже записан в микроконтроллер, поэтому светодиод может начать мигать сразу после включения.
Программирование в проекте Ардуино
Если в вашей плате нет загруженного скетча маячка – не беда. Можно легко загрузить уже готовый пример, доступный в среде программирования Ардуино.
Открываем программу 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, Сезам, открой дверь
В проекте реализуется открытие двери с помощью определенной голосовой команды. Чтобы войти в помещение, достаточно назвать фразу «Сезам, откройся».
Для создания потребуются Ардуино Уно, серводвигатель, Bluetooth модуль.
Для разблокирования двери используются команды Google Now. Для смартфонов и планшетов есть приложение с названием «Сезам», которое и отправляет команду дверному замку при произношении слов «О’кей Google, Сезам, откройся».
Сервопривод подключается к дверному замку. Модуль Bluetooth ожидает команду, и при ее получении подает сигнал Ардуино через serial порт. Arduino Uno отдает команду сервоприводу и дверь открывается.
Светодиодный куб 4х4х4.
Куб из светодиодов на базе Ардуино – это развлекательное осветительное устройство. Он может быть разного размера с различными режимами подсветки. Куб оснащен кнопкой переключения режимов.
Для создания понадобится 64 светодиода, 4 резистора 100 Ом, проводники, макетная плата, коннекторы, коробка, источник питания на 9 В и плата Ардуино Уно.
На коробке рисуется или распечатывается эскиз квадрата 4х4. Проделываются отверстия, в которые помещаются светодиоды. Аноды нужно соединить между собой, затем коробку требуется повернуть и вытащить диоды. Аналогично формируются еще 3 слоя. Все слои нужно соединить с помощью оставшихся катодов. На макетную плату ставится получившийся куб и подключается к плате.
Робот пылесос
На базе Ардуино можно создать полезную вещь для дома – робота-уборщика. Самостоятельно сделанная модель не будет уступать по своим характеристикам магазинному экземпляру.
Для сборки потребуется:
Пылесос оборудован ИК датчиками. Они реагируют, когда пылесос приближается к препятствию, и дают ему команду остановиться и развернуться. При столкновении со стеной или другим препятствием срабатывает один из выключателей, соединяющий бампер и корпус робота.
Система распознавания лиц и слежения за ними на Ардуино.
Веб-камера закрепляется на поворотном механизме и подключается к ПК, на котором установлено программное обеспечение OpenCV. Когда программа обнаруживает лицо, начинается вычисление его центральной точки. Полученные координаты передаются на микроконтроллер Ардуино, который управляет сервомоторами и следит за лицом.
Для реализации потребуются:
Автоматизированная система для аквариума
Автоматизация задач для аквариума помогает облегчить жизнь пользователя. Проект должен отвечать за следующие действия:
Чтобы собрать устройство, потребуются плата Ардуино Уно, пьезо сигналка, RGB лента, белая диодная лента, датчик температуры и влажности, LCD экран, часы, 2 реле, ик-приемник, транзисторы.
Схем реализации прибора существует множество. Пример одной из них приведен ниже.
Требуется также прописать код для включения того или иного цвета в зависимости от условий и настроить работу ЖК экрана.
Теплица для растений
В умной теплице для цветов происходит мониторинг и регулировка температуры и освещения и полив почвы. Особенно это актуально для теплолюбивых тропических растений, в которых необходимо постоянно поддерживать высокую температуру. Управлять можно автоматически или удаленно с планшета или смартфона.
Чтобы собрать проект, нужны следующие компоненты:
Фоторезистор отвечает за измерение освещенности. Температурный сенсор получает температуру воздуха. Модуль влажности почвы помещается в землю и измеряет уровень воды в ней.
Отслеживание потребляемого электричества в реальном времени при помощи Ардуино и LabVIEW.
Прибор может использоваться в умном доме в качестве измерителя потребляемой электроэнергии на современных счетчиках. Считывание информации происходит через светодиод счетчика – просчитывается длительность между миганиями.
Принцип работы следующие. Ардуино считывает частоту миганий и подает информацию через беспроводной модуль. Модуль, установленный на компьютер, получает эти данные и передает их в программу LabVIEW, в которой отображаются данные потребления мощности в режиме реального времени.
Мигание светодиода детектирует фоторезистор. Аналоговые данные считываются с помощью делителя напряжения.
Для работы потребуются:
В программе будет отображаться график потребления за последние 5 минут и в реальном времени.
Аудиоплеер
Своими руками на базе Ардуино можно создать аудиопроигрыватель. Его конструкция проста – он состоит из динамика, транзистора, micro-sd карты с записанными на нее треками. В качестве платы используется Ардуино, также можно взять контроллер Seeeduino 2.21 или Garagino на ATmega328.
Музыка записывается на заранее отформатированную карту памяти и сохраняется с простыми наименованиями.После сбора схемы требуется прописать код, включить питание, после чего начнется воспроизведение музыки.
Рекомендации по работе с проектами Ардуино в Интернете
Найдя в интернете интересующий вас проект, попробуйте сначала понять его принцип действия. Посмотрите, как связаны между собой элементы, какие функции они выполняют, каковы ограничения. Попробуйте сперва создать прототип устройств (электронная схема с прошивкой) и только затем пытайтесь полностью повторить то, что видите в описании.
Другие идеи проектов
Проекты умного дома на Ардуино
Проекты умного дома являются одним из примеров того, как перейти от «игрушек» и тренажеров к реальным системам, помогающими и облегчающим жизнь. Как правило, с помощью ардуино невозможно создать полноценные автономные решения, но отдельные компоненты сделать вполне реально.
При этом нужно понимать, что сталкиваясь с реальными инфраструктурными объектами, мы должны соблюдать особую предусмотрительность при работе с электричеством, отоплением, водопроводом под давлением, канализацией. Любые эксперименты здесь нужно проводить обязательно под контролем профессионала.
Что может являться прототипом умного дома на ардуино:
Каждое из этих направлений может содержать в себе десятки разных проектов. Вы можете без труда найти себе подходящий вариант в интернете или в одной из наших статей.
Проекты «Зеленой робототехники»
Юные ардуинщики, живущие в небольших городах и сельской местности, где много природы и не очень много «цивилизации», могут с успехом использовать ардуино для исследования и охраны природы, а также автоматизации сельского хозяйства. Вот некоторые из идей проектов, которые можно реализовывать своими силами на уровне прототипов и готовых решений:
Проекты с дронами: аэрофотосъемка, внесение удобрений.