Сообщество - Arduino & Pi
Добавить пост

Arduino & Pi

1 377 постов 20 573 подписчика

Популярные теги в сообществе:

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


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

Полезное чтиво для взрослых и детей: что почитать тем, кто увлекается робототехникой? Образование, Развитие, Робототехника, Чтение, Что почитать?, ВКонтакте (ссылка)

Людям всех возрастов будет интересен рассказ «Хоровод» (1942) о «трех законах роботехники», с которого началось первое осмысленное рассуждение о пользе роботов для человечества и их потенциале, когда еще самих роботов даже не существовало. Фантаст Айзек Азимов предсказал появление многих технологий будущего в своих трудах. На данный момент рассказ «Хоровод» (1942) входит в следующий сборник, доступный для чтения в электронном формате: ссылка.

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

Идея для данного поста возникла благодаря комментариям пользователя @LMI1 под одной из наших публикаций. За это ему благодарность!

#enjoyrobotics

Показать полностью 1

Учимся простым командам по работе с Bluetooth-интерфейсом

С помощью платы ENJOY BOARD попробуем управлять выводом текстовой информации на символьном LCD дисплее 1602 через приложение на смартфоне.

Подключение, программирование, тесты и отладка — все эти важные этапы разработки электронного устройства подробно объясняются в прикрепленном видео. Программирование выполнено в среде разработки Enjoy Block, скачать ее можно на нашем сайте (https://enjoy-robotics.ru/) (поддерживается на macOS и Windows версий 8.1 и выше). Для Win 7 подойдет MBlock 5 (https://www.mblock.cc/en/download/).

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

Решением является разработанная нами универсальная плата ENJOY BOARD (со встроенными Wi-Fi и Bluetooth), совместимая со всеми популярными наборами: Квадропод, Манипулятор, Умный Дом и другие.

Протоколы связи — или как электронные устройства общаются между собой

Протоколы связи — или как электронные устройства общаются между собой Arduino, Электроника, Самоделки, Робот, Робототехника

В наших обучающих наборах используются контроллеры ESP32 и Arduino Nano. Их легко подключать к компьютеру, программировать и управлять ими. На их основе можно создать практически любое электронное устройство, что мы регулярно подтверждаем на нашем YouTube канале (ищите по названию аккаунта).

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

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

1. UART является стандартным протоколом последовательной связи, который широко используется для связи между контроллерами, а также платы контроллера с персональным компьютером (например, для загрузки кода в плату). Он состоит из двух проводов — TX (передача данных) и RX (прием данных). UART поддерживает коммуникацию один-к-одному, где одно устройство передает данные другому.

2. I2C является протоколом шины данных для связи нескольких интегральных микросхем (ИС) вместе. Это могут быть чип ATMega328P или ESP32 внутри программируемого контроллера, которые подключаются к микросхемам внутри других контроллеров или датчиков. Этот протокол также двухпроводной и его линии связи именуются следующим образом: SDA (передача данных) и SCL (синхронизация).

Очень важным преимуществом I2C является возможность подключить к контроллеру Arduino/ESP32 несколько устройств, используя одну шину и уникальные адреса. Подобный способ управления используется между Arduino/ESP32 и дисплеем 1602 со встроенным переходником для I2C.

3. SPI — это протокол последовательной связи, который чаще всего используется для взаимодействия с TFT-дисплеями, модулями памяти, система идентификации через RFID метки. Состоит из четырех проводов — MOSI, MISO, SCK и SS.

Показать полностью 1

Посмотрим, сколько наберёт этот прелестный «Робот-паук» ^_^

Красивая девушка собирает сотни и тысячи лайков за несколько минут. Посмотрим, сколько наберёт этот прелестный «Робот-паук» ^_^

#enjoyrobotics

Посмотрим, сколько наберёт этот прелестный «Робот-паук» ^_^ Электроника, Самоделки, Arduino, Робототехника
Показать полностью 1

Давайте заглянем внутрь потенциометра!

Давайте заглянем внутрь потенциометра! Arduino, Электроника, Самоделки

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

Потенциометры используются для изменения сопротивления в цепи поворотом ручки. Имеют три контакта для подключения, два из которых — для высокого и низкого потенциалов (в случае с Ардуино: 5 вольт и 0 вольт постоянного тока соответственно).

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

Показать полностью 1

Плата ENJOY BOARD отлично подходит для всех наших наборов

ENJOY BOARD — универсальная плата для всех устройств и роботов, выпускающихся под маркой ENJOY ROBOTICS.

Enjoy Board поставляется как на базе Arduino Nano, так и ESP32. Во втором случае вы получаете более мощный процессор и больше оперативной памяти для своих задач. В ESP32 имеются встроенные модули Wi-Fi и Bluetooth, что позволяет легко подключаться к интернету и взаимодействовать с другими устройствами через беспроводное соединение.

В плате ENJOY BOARD предусмотрена возможность установки аккумуляторной батареи для автономной работы всех проектов на ее основе! Под каждый вывод GPIO разведены дополнительные контакты питания, что упрощает процесс сборки.

#enjoyrobotics

Плата ENJOY BOARD отлично подходит для всех наших наборов Электроника, Arduino, Самоделки
Показать полностью 1

Учимся избегать ошибок в терминологии при изучении робототехники

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

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

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

Разберем несколько таких ситуаций.

Arduino — это микроконтроллер, компьютер или плата разработки?

Часто называют Arduino микроконтроллером, но на деле эта название бренда, итальянской компании, которая, будучи никому неизвестной, в 2005 году вывела на рынок собственные платы разработки, упростившие порог вхождения в сферу программирования и робототехники для школьников, студентов и многих других людей. Плата Arduino выполнена на базе 8-битного микроконтроллера ATMega, который выполняет вычислительные операции в ней. В платах Arduino Nano, которые используются и в наших обучающих наборах, основой является ATMega328P.

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

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

#enjoyrobotics

Учимся избегать ошибок в терминологии при изучении робототехники Arduino, Электроника
Показать полностью 1

Угадайте звездного капитана юмористической команды «Сборная Красноярска» по описанию одного из участников

Ну что, потренировались? А теперь пора браться за дело всерьез.

Показать полностью

Создание автоматического долива воды в чайник — своими руками

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

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

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

Видео

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

Водопровод

Наибольшие опасения у меня вызывала необходимость прокладывать водопровод к чайнику. Однако, когда я в очередной раз менял фильтры для воды, я осознал, что нет необходимости прокладывать масивную полипропиленовую трубу. Вместо этого можно использовать тонкую и гибкую трубку, которую можно легко спрятать за кухонной мебелью и которая почти не отличается от обычного электрического провода. Эта трубка надежная легко монтируется и не занимает много места. Для ее соединения я использовал проверенные временем быстросъемные соединители John Guest, которые позволяют соединять трубу без необходимости пайки или сварки. К ним можно подобрать большое количество различных фитингов.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Чайник

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

Я все еще удивлен, почему его продавцы называют его термопотом? Это определенно не термопот. В термопоте сначала кипятится весь объем воды, а потом весь день поддерживается ее температура, тратя на это электроэнергию 30-70 Ватт в час.
Я бы назвал его чайником с проточным нагревом, но это звучит слишком сложно для среднестатистического человека. Возможно бы ему подошло название «Экочайник», но я не занимаюсь их продажей или производством, так что пусть они сами разбираются, как его правильно называть.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Встроенный датчик уровня воды

Датчик нижнего уровня воды в чайнике, подобно многим бытовым приборам, включает в себя геркон и поплавок с магнитом.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Магнит, интегрированный в поплавок, опускается вместе с уровнем воды. Когда магнитное поле достигает контактов геркона, они замыкаются, отправляя сигнал микроконтроллеру о том, что вода закончилась.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Датчик минимального уровня соединен одним контактом геркона с GND, а другим — с микроконтроллером чайника и подключен через подтягивающий резистор к 5 В. Для соединения с Ардуино требуется лишь два провода. Однако, поскольку я для Arduino использую встроен

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Поплавковый клапан

Я приобрел поплавковый клапан, разработанный для поддержания уровня воды в аквариуме. Механизм его работы аналогичен работе клапана в туалетном бачке.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Заполнение емкости продолжается до тех пор, пока поплавок, поднимаемый водой, не перекроет поток воды. Когда уровень воды понижается, устройство автоматически открывается.

Электромагнитный клапан

Электромагнитный клапан должен быть закрытым в неактивном состоянии. Я заказал модель на 12 В, но продавец отправил мне версию на 24 В. Чтобы избежать долгого ожидания нового клапана, я нашел для него у себя в запасах блок питания на 24 В. Так же возможно использование повышающего преобразователя XL6009, но в моем случае он был бы избыточным.

Ток потребления электромагнитного клапана в открытом состоянии составляет 200 мА.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Механизм работы электромагнитного клапана усиливает уверенность в безопасности системы автоматического долива воды. Он почти всегда находится в закрытом положении и открыть его намного труднее, чем закрыть. Электромагнитное поле — единственное, что может открыть клапан, и никакие другие средства не могут этого сделать. Я попытался открыть его с помощью обычного неодимового магнита, но это мне не удалось.

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

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Источник питания для электроклапана

Поскольку я получил ЭМ-клапан на 24 В, то я нашел в своих запасах блок питания от старого настольного светильника, который подходит мне по напряжению и току. Ток, который он выдает, превышает максимальный ток нагрузки, которая будет подключена к нему, более чем в два раза, что очень благоприятно для надежности и долговечности. Более того, большую часть времени блок питания будет находиться в состоянии покоя, поскольку добавление воды не происходит слишком часто.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Микроконтроллер

Я выбрал для использования Arduino Pro Mini, потому что у меня их много и я доверяю микроконтроллерам больше, чем дискретной логике. В микроконтроллере можно включить режим WDT (Watchdog Timer), который в случае любой непредвиденной ситуации немедленно восстановит его работу из зависшего состояния.
Конечно для такой простой задачи, можно было бы использовать и Attiny, но, как я уже упоминал, у меня есть много Arduino, и было бы неразумно их не использовать.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Многие новички боятся прошивать Arduino Pro Mini из-за отсутствия в ней USB-UART моста. Но хочу вас успокоить, если использовать USB-TTL мост FTDI FT232, то даже соединительные провода не понадобятся. Просто соедините две платы, как показано на изображении. Чтобы обеспечить надежный контакт, немного придавите их друг к другу и нажмите кнопку «Прошить» в Arduino IDE. Это все, ничего сложного.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Алгоритм работы автодолива

Основные шаги работы можно представить следующим образом:
Вода подключается через тройник к выходу водоочистного фильтра с использованием трубки диаметром 1/4". Эта трубка протягивается к чайнику и подключается к электромагнитному клапану.
Когда штатный датчик минимального уровня воды сигнализирует о необходимости долить воду, электромагнитный клапан открывается. Важно, чтобы он открылся на время, достаточное для долива половины объема емкости чайника. Это предотвращает случайный перелив и исключает необходимость использования датчика максимального уровня воды.
Если электромагнитный клапан не сработал или не закрылся, в системе предусмотрено механическое запирание воды с помощью поплавкового клапана. Это обеспечивает дополнительную защиту от протечек.
Также, чтобы обеспечить безопасность, долив воды осуществляется только в присутствии человека. Для определения наличия человека можно использовать датчик наличия воды. Если в чайнике вода заканчивается, то это происходит из-за того, что кто-то хочет выпить чай, и система будет оповещена о необходимости долить воду.
Для обеспечения дополнительной защиты, можно так же установить датчик протечки воды с управляемым электромеханическим клапаном на водопроводной трубе. В случае обнаружения протечки, датчик отправит сигнал электромагнитному клапану для перекрытия водопровода. Однако, учитывая надежную защиту чайника, использование этого датчика может быть необязательным.

Таким образом, можно использовать 5 степеней защиты:
1. Электромагнитный клапан.
2. Уменьшенный в 2 раза объем долива воды.
3. Механический, поплавковый запорный клапан.
4. Присутствие человека при срабатывании долива воды.
5. Датчик протечки воды с исполнительным клапаном на стояке.

Если сопоставить безопасность с другими массово производимыми бытовыми устройствами, то я могу привести свой собственный опыт с ПММ. В посудомоечной машине основная защита зависит от единственного электромагнитного клапана. Если он заклинил или не закрылся из-за заедания реле, пробоя симистора или куска ржавчины из водопровода, то риск затопления становится высоким. У меня был эпизод, когда ПММ затопила кухню, так как не сработал датчик уровня воды (прессостат), а затем и аварийный датчик в дренажном поддоне. Пенопластовый поплавок просто прилип к поддону и не смог оторваться от него под воздействием воды. В результате, контакты остались разомкнутыми, и входной клапан продолжал лить воду. К счастью, у меня был установлен датчик протечки воды, который сработал вовремя, иначе было бы невозможно избежать серьезных проблем.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Схема

Я осознаю, что задача достаточно простая и можно было бы использовать схему одновибратора на микросхеме NE555, модифицировав реле с таймером под эти нужды. Однако, для меня более простым и экономичным вариантом было использование Arduino Pro mini. Во-первых, у меня их достаточно много. Во-вторых, мне не нужно будет ничего сверлить, травить или переделывать.

Так как питание микроконтроллера Arduino будет происходить от встроенного в чайник стандартного линейного стабилизатора, идеи о Wi-Fi отпали сами собой. Впрочем, эти функции не особо нужны, я планирую использовать их в следующем проекте при модернизации кофемашины. Для снижения нагрузки на уже загруженный штатный линейный стабилизатор, я удалил светодиод «Power» с Ардуино и программно перевожу контроллер в спящий режим. В этом режиме он потребляет всего 2 мА и почти не влияет на общее потребление тока заводских плат в чайнике.

Керамический конденсатор 0,22 мкФ защищает не только от дребезга контактов геркона, но и от ложных срабатываний, поскольку помехи от мотора помпы слегка зашумляют линию питания. Конечно, можно было бы установить LC фильтр питания, но, как показывает практика, все работает отлично и без него.

Диод 1N4007 защищает от выбросов ЭДС самоиндукции электромагнитного клапана.

Резистор 10 кОм, подключенный к GND и базе транзистора, блокирует транзистор, на случай, когда в спящем режиме вывод микроконтроллера находится в третьем состоянии и любая мощная электромагнитная помеха может его открыть.

Резистор 1 кОм защищает управляющий выход микроконтроллера.

Транзистор КТ972 работает в режиме ключа и управляет электромагнитным клапаном.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Реализация

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

К чайнику прикрепляю коробку с электроклапаном и подсоединяю к нему вход и выход воды.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

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

Внутри корпуса чайника достаточно места. Я без труда размещаю в нем источник питания 24В для электромагнитного клапана. Там же находит свое место и микроконтроллер Arduino pro mini.

Создание автоматического долива воды в чайник — своими руками Arduino, Своими руками, Самоделки, Электроника, Чайник, Эксперимент, Длиннопост

Код для Ардуино

Я представляю два скетча. Первый является более надежным, так как в нем постоянно активен WDT, но, к сожалению, при этом Arduino потребляет 15 мА, так как работает без перехода в спящий режим. Учитывая, что я использую уже достаточно загруженный встроенный в чайник стабилизатор, для меня важно не перегружать его и по этому я использую другой скетч.

#include <avr/wdt.h>

#define valve 3 // выход управления электроклапаном

#define INT0_PIN 2 // вход прерывания INT0

#define interval 10000 // Интервал времени долива в ms (рассчитывается опытным путем)

void setup()

{

wdt_enable(WDTO_4S); // включаем WDT

pinMode (valve, INPUT); // На всякий случай для безопасности отключаем управление электроклапаном.

pinMode (INT0_PIN, INPUT_PULLUP); // Подтягиваем вход INT0 внутренним резистором

attachInterrupt(INT0, myISR, FALLING); // Настраиваем прерывание на срабатывание при смене значения с HIGH на LOW (FALLING)

}

void loop()

{

wdt_reset(); // кормим собаку

}

void myISR() // Обработчик внешнего прерывания INT0

{

detachInterrupt(INT0); // запрещаем обработку внешнего прерывания INT0 //*****************************

pinMode (valve, OUTPUT); // назначаем выход для управление электроклапаном

digitalWrite(valve, HIGH); // открываем клапан для долива воды

for(uint16_t i=0; i<interval; i++) // выдерживаем заданный интервал, для требуемого объема долива

{

delayMicroseconds(500); // примерно 1 ms

wdt_reset(); // кормим собаку

}

pinMode (valve, INPUT); // отключаем управление электроклапаном и переводим выход в 3-е состояние на всякий случай

//*****************************

attachInterrupt(INT0, myISR, FALLING); // Настраиваем прерывание на срабатывание при смене значения с HIGH на LOW (FALLING) }



Второй скетч является гибридным. Он использует два режима: WDT и Sleep. В коде перед переходом микроконтроллера в спящий режим отключается режим Watchdog Timer (WDT), и контроллер можно пробудить только изменением сигнала от встроенного магнитного датчика «Закончилась вода». После пробуждения контроллера в коде немедленно запускается WDT. Такой режим не представляет опасности при зависании из-за невозможности пробуждения, так как управляющий выход после каждого включения клапана перепрограммируется на вход, исключая его случайное включение от проходящих через него высокоэнергетических частиц, прилетевших из космоса.

#include <avr/sleep.h>

#include <avr/wdt.h>

#define valve 3 // выход управления электроклапаном

#define interval 10000 // Интервал времени долива в 1:10ms. Интервал рассчитывается опытным путем

#define int0_pin 2 // вход внешнего прерывания INT0

void setup()

{

wdt_enable(WDTO_4S); // включаем WDT с интервалом 4 сек

pinMode (valve, INPUT); // Для безопасности отключаем управление электроклапаном. pinMode (int0_pin, INPUT_PULLUP); // Подтягиваем вход INT0 внутренним резистором attachInterrupt(INT0, myISR, FALLING); // Настраиваем прерывание. Сработает при изменении сигнала на входе D2 с HIGH на LOW

}

void loop()

{

set_sleep_mode(SLEEP_MODE_PWR_DOWN); // SLEEP_MODE_PWR_DOWN - самый экономичный режим

sleep_enable(); // разрешить режим сна wdt_disable(); // отключаем WDT перед сном sleep_mode(); // Переводим МК в сон и ждем когда в чайнике закончится вода

}

void myISR() // Обработчик внешнего прерывания INT0

{

detachInterrupt(INT0); // запрещаем обработку внешнего прерывания

wdt_enable(WDTO_4S); // включаем WDT с интервалом 4 сек //***************************** pinMode (valve, OUTPUT); // Активируем вывод для управление электроклапаном digitalWrite(valve, HIGH); // открывем клапан для долива воды

for(uint16_t i=0; i<interval; i++) // выдерживаем заданный интервал, для требемого объема долива

{

delayMicroseconds(5000); // примерно 10 ms

wdt_reset(); // кормим собаку

}

pinMode (valve, INPUT); // отключаем управление электроклапаном (переводим пин в 3-е состояние)

//*****************************

attachInterrupt(INT0, myISR, FALLING); // Настраиваем прерывание 0 на срабатывание при смене значения с HIGH на LOW (FALLING) }

Заключение

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

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

Благодарю вас за то, что дочитали материал до конца! Я надеюсь, что эта статья была вам интересна и вы сможете применить мою DIY самоделку в своих проектах. Если у вас есть какие-либо вопросы, не стесняйтесь задать их в комментариях. Я с удовольствием на них отвечу.

Ссылка на оригинал статьи

Читайте также:

Переделываем настенное зеркало во многофункциональное устройство

Домофон, который знает, как вас зовут — своими руками

Открываем дверь домофона при помощи голосового ассистента

Ардуино робот играет музыку на винных бокалах

Беспроводная гирлянда на новогоднюю ёлку без батареек

Показать полностью 16
Отличная работа, все прочитано!