Ivalt.ru

И-Вольт
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Управляемая розетка 220в arduino

Радиомодули для Ардуино с большим радиусом действия

Секреты подключения радиомодулей от CDSENET на базе микросхемы SI4463

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

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

Задумывая канал связи для хитрой автомобильной охранной системы, я заказал себе на Алиэкспрессе радиомодуль от EBYTE на базе микросхемы SI4463 мощностью 500 мВт. Надо сказать, что подобных модулей на частоты от 170 до 915 МГц с выходной мощностью от 100 мВт до 1 Вт существует достаточно много.

Мне нужен был радиомодуль, который обеспечит оповещение в городской среде на расстояние метров 300 – 500 с учетом прохождения радиосигнала через стены зданий. Был соблазн взять максимально дальнобойный модуль мощностью 1 Вт, использующий протокол LoRa. Обещанная дальность радиосвязи по прямой видимости для них равнялась — 8000 метров. Но цена на такие радиомодули зашкаливала за 1000 руб. К тому же мощность их показалась мне избыточной.

В результате был куплен менее мощный модуль на 500 мВт, но его подключение к Ардуино вызвало ряд трудностей. Дело в том, что выводы радиомодулей серии типа Е50, Е53 и т.д. производителя CDSENET несколько отличаются от выводов наиболее распространенных среди ардуинщиков модулей на микросхеме SI4463. А описаний схем подключения их к Ардуино в интернете, похоже, совсем нет.
Рассмотрим для примера типичный радиомодуль такого плана CDSENET E36-TTL-100.

Как видим, он имеет 7 выводов. С четырьмя выводами все понятно:

GND – это земля.
VCC – питание 3,5 – 5,5 В.
TXD – выход сигнала.
RXD – вход сигнала.

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

Оказалось, что выводы М0 и М1 управляют режимами работы радиомодуля. Для стандартного режима работы с Ардуино нам нужно соединить оба этих вывода с землей. Если же вы хотите использовать все возможные режимы работы модуля, такие как режим сохранения энергии или спячки, то эти выводы следует подсоединять к цифровым выводам Ардуино и подавать на них либо низкий, либо высокий уровень. Как это делать, расписано в даташите.

Вывод AUX при этом выполняет вспомогательную функцию. Когда модуль не готов к работе на этот вывод подается «низкий уровень». Когда радиомодуль готов к работе – высокий.
То есть в скетче мы имеем возможность контролировать готовность радиомодуля к передачи данных. Впрочем, вполне можно обойтись и без этого.

Схема подключения радиомодуля к Ардуино Нано у меня выглядела так.

Схема подключения радиомодуля CDSENET E36-TTL-100 к Ардуино Нано

Выводы TXD и RXD радиомодуля я подсоединил к цифровым выводам Ардуино D10 и D11, назначив их в скетче RXD и TXD соответственно. Это важный момент. Вывод RXD радиомодуля должен быть подсоединен к выводу TXD ардуино. А вывод TXD к RXD.

Скетч для отправки радиосообщения, состоящего из одной цифры «5» будет выглядеть таким образом:

Скетч для приемника будет выглядеть так:

Дальность передачи таких модулей превзошла все мои ожидания. Модуль мощностью 100 мВт по прямой передавал данные на расстояние 1 км. А модуль в 500 мВт был успешно испробован на дальность 3 км. На большем расстоянии экспериментов я еще не делал.

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

Настройка радиомодулей

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

Рассмотрим, как это можно сделать на примере радиомодуля E50-TTL-500 производства фирмы EBYTE. Даташит на этот модуль можно посмотреть тут .

Для настройки радиомодуля лучше всего использовать специальный модуль E15-USB-T2 . Его можно купить отдельно, но у меня продавец приложил его в подарок к радиомодулю.

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

Если нет такого переходника можно подключить радиомодуль к компьютеру через любой TTL свисток. Чтобы ввести радиомодуль в режим программирования, следует на контакты М0 и М1 радиомодуля подать плюс.

Теперь нам понадобится программа AccessPort. Ее можно скачать тут . Распаковать и запустить файл AccessPort.exe

Смотрим номер компорта, на котором открылся наш модуль, и указываем его в окне программы AccessPort. Соединяемся.

В нижнем окне набираем команду: C1 C1 C1

Появляется ответ: С0 00 00 18 DC 44

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

В даташите есть такая таблица:

Первые два байта (00 00) задают адрес, по которому будет доставлятся радиосообщение. Первый байт — верхний адрес. Второй байт — нижний адрес. Эти два байта должны быть одинаковыми на передатчике и приемнике. Каждый из этих байтов можно менять в пределах от 00H до FFH.

Третий байт кодирует сразу три параметра радиомодуля — тип протокола UART ( 8N1 по умолчанию), скорость передачи по UARTу (9600 bps по умолчанию),и скорость передачи данных по радиоканалу (1 kbps по умолчанию).
Как мы видим, по умолчанию этот третий байт равен 18. Эта цифра получается следующим образом:
Смотрим в таблицу. Тип протокола кодируется в двоичной системе bin битом 00, скорость по UARTу — 011, скорость по радиоканалу — 000.
Записываем эти биты подряд — 00011000 Их нам нужно перевести в шеснадцатеричую систему HEX. Для этого открываем калькулятор Windows, в окне вид выбираем «Программист», слева ставим точку напротив Bin. Набираем 00011000. Переносим точку и ставим ее напротив HEX. Видим результат — 18.

Теперь, например, мы хотим изменить скорость передачи модуля по радиоканалу и установить 10 kbps.
Тогда по битам, согласно таблицы, у нас будет 00011100. Переводим в HEX и получаем — 1С.

Читать еще:  Как проверить мощность розетки

Значит, чтобы изменить скорость передачи и сделать ее равной 10kbps нам в программе AccessPort.exe нужно ввести команду: С0 00 00 1С DC 44

Четвертый байт кодирует частоту, на которой будет осуществляться радиопередача. Частота высчитывается по формуле — 148 MHz + значение четвертого байта * 0,1 MHz
В настройках по умолчанию четвертый байт имеет значение DC. Это в HEX. Переводим в десятичную систему — ставим точку напротив Dec. Получаем — 220. Подставляем в формулу — 148 +220*0,1 = 170. То есть дефолтная частота передачи — 170 MHz.

Попробуем в дефолтной настройке изменить частоту и сделать ее равной, например, 160 MHz. Для этого решим уравнение — 148 +х*0,1 = 160
У нас получается, х = 120. Переводим это число в HEX и получаем — 78.
Соответственно команда будет выглядеть так — С0 00 00 18 78 44

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

ДИММЕР ПЕРЕМЕННОГО ТОКА НА АРДУИНО

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

Теоретическая часть и схема

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

Рисунок 1. Сетевая синусоида (зеленые стрелки показывают точки пересечения нуля)

На рисунке далее приведена принципиальная схема всего регулятора мощности переменного тока.

Рисунок 2. Принципиальная схема цифрового диммера переменного тока

Элементы R1, R2, IC1, D1 и C3 создают схему детектора пересечения нуля. Он предназначен для обеспечения надлежащей оптоизоляции сетевого напряжения. Таким образом получаем сигнал, который можно безопасно подключить к входам и выходам Arduino. Далее показан выходной сигнал детектора пересечения нуля (вывод 4 микросхемы IC1). Согласно спецификации TLP521-1 это микросхема состоящая из фототранзистора, оптически связанного с инфракрасным излучающим диодом на основе арсенида галлия. Конечно, можно использовать и другие аналогичные оптопары.

Рисунок 3. Выходной сигнал цепи детектора пересечения нуля

Итак, тут будем использовать импульс пересечения нуля в качестве триггера для главной цепи управления. Это легче понять, просмотрев код Arduino и выходную волну. Радиоэлемент IC3 — тиристор BT138. Нагрузка включена последовательно с тиристором и линией переменного тока, поэтому он определяет количество энергии, которое должно быть подано на нагрузку.

Внимание: монтажное основание BT138, что используется для крепления радиатора, подключено к контакту 2. Вы не должны касаться радиатора или прикручивать его к металлическому корпусу!

Радиодетали R4, R5 и C2 реализуют схему демпфирования для IC2, а C1 и R7 создают схему демпфирования для IC3. Эти детали помогают устройству быть совместимым с различными типами нагрузок, такими как индуктивные. Оптрон IC2 является компонентом обеспечивающим надлежащую гальваническую развязку между цифровой стороной и линией переменного тока 220 В. Выбранный тип — MOC3021. Также можете использовать другие аналогичные, но будьте осторожны, чтобы не использовать детали со встроенным детектором пересечения нуля. Они полезны для переключения нагрузок переменного тока (ВКЛ / ВЫКЛ), а не для диммирования.

Разработка печатной платы

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

Рисунок 5. Расположение деталей печатной платы диммера переменного тока

Все компоненты обычные по размеру. Поэтому будет легко паять и использовать схему в качестве готового модуля. R2, R4, R5 и R7 — резисторы мощностью 1 Вт. Резистор R1 и R6 0,25 Вт. C1 и C2 могут быть выбраны типа MKT или полиэстер, но убедитесь что они имеют номинальное напряжение не менее 400 В. Конденсаторы с номинальным напряжением 250 В тоже в принципе можно брать, но 400 В — это разумный выбор при подстраховке для напряжений конденсаторов. K1 — разъем MKDSN. P1 — традиционный 4-контактный штекерный разъем.

Сборка схемы регулятора

На рисунке показан опытный образец печатной платы. Схема PCB и файл Gerber прилагаются в архиве. Установленный радиатор подходит для тестов. Для долгосрочного использования надо использовать больший по размеру радиатор. Расположение IC3 около границы печатной платы значительно облегчает задачу установки любого радиатора.

Рисунок 6. Первый прототип схемы управления

Теперь время подключить схему к плате Arduino и начать управлять нагрузкой переменного тока. Выбрана Arduino Nano, но вы можете использовать и другие подобные платы. Пример кода Arduino для диммера переменного тока смотрите далее:

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

Практические испытания

Все что нужно сделать, это изменить время отключения симистора в обоих циклах, чтобы переменная «dim» определяла мощность передаваемую нагрузке. В качестве отправной точки установим диммер на середину. Это означает что в течение 5 мс симистор отключен. А теперь давайте подтвердим теорию на практике, изучив форму волны нагрузки. Использовался обычный трансформатор на 220 В / 12 В.

Рисунок 7. Проверка нагрузки и необходимых соединений

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

Рисунок 8. Форма выходного сигнала в 50% мощности (dim = 5000)

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

Форум по обсуждению материала ДИММЕР ПЕРЕМЕННОГО ТОКА НА АРДУИНО

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

Кодовая кнопка для ограничения доступа к объектам, простая схема с реле на МК Attiny13.

Читать еще:  Купити материнську плату розетка

Сборник из 10 конструкций и схем приставок к цифровым мультиметрам, расширяющих функционал измерительных приборов.

Arduino

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для р

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для р

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для р

Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для р

Arduino Ethernet Shield позволяет подключить плату Arduino к сети. Она основана на ethernet -микросхеме Wiznet W5100 (datasheet). Wiznet W5100 поддерживает стеки TCP and UDP в IP-сети. Он поддерживает до четырёх одновременных подключений к сокетам. Для соз

АЦП-ЦАП для умного дома, т.е. центральный нервный узел. Соединено по USB.
UPDATE.
С появлением адаптера 1-wire не используется. Специализированный адаптер оказался проще в настройке и удобнее в работе.

Используется как модуль управления шторами. Работает с подключением платы силовых ключей. Управляет тремя двигателями 12 вольт. Считывает информацию с шести конечников и двух датчиков освещенности. Отображает информацию на пульте ручного управления (диспле

Блок Управления электроприводами ХВСи ГВС,, учет воды, контроль протечек
Состав:
Arduino Mega 2560
L293D Motor Shield Управление задвижками
Радио модуль NRF24L01+ MySensors
Электроприводы

Сбор информации от различных датчиков , типа DHT22, PIR. герконы. На некоторых платах только реле. Данные платы работают в общей сети RS485 (свой протокол). По результатам состояний сенсоров и реле формируеться посылка для Master контроллера (Arduino UNO+W

Пока основной элемент умного дома. Регулирует температуру дома по расписанию, включает свет в прихожей по датчику движения, сигнализация по темпертаруер и датчику газа. Через блютуз подключен к телефону(телефон с установленной программой Kascada HMI исполл

Управляет освещением комнаты двумя SSR реле. Принимает и обрабатывает сигналы от ИК пульта (на пульте от телевизора есть «дополнительные» кнопки)

На основе Arduino Nano реализовано считывание и отправка данных с датчков:

  • MQ2
  • MQ13
  • DHT22
  • HCSR501

Arduino Nano купил тут — https://goo.gl/TaoqvG
Сетевой Ethernet Шилд ENC28J60 купил тут -https://goo.gl/qJfqUS

На основе Arduino Nano реализовано считывание и отправка данных с датчков:

  • MQ2
  • MQ13
  • DHT22
  • HCSR501

Arduino Nano купил тут — https://goo.gl/TaoqvG
Сетевой Ethernet Шилд ENC28J60 купил тут -https://goo.gl/qJfqUS

Ардуино Уно. Использутся как контроллер разных датчиков. Когда кончатся порты — будет заменен на Mega. Отличается названием в /dev/: Uno — ttyACM0, Mega — ttyUSB0.
UPDATE:
Заменен на адаптер 1-wire USB. Планируется использование как АЦП для 1-wire.

Плата Arduino UNO R3 занимает промежуточное положение между платами Arduino Nano и Arduino Mega.

Версия R3 отличается удобным расположением кнопки сброса микроконтроллера, дополнительным микроконтроллером ATmega16U2 вместо ATmega8U2, а также дополнител

Китайская ардуинка служит в качестве сервера датчиков и исполнительных устройств (пока только ИК управление). Связана с системой по сети через W5100.

Покемон состоит из Arduino Uno, ethernet shield, relay shield(8 твердотельных релешек), горсть ds18b20 и DHT22, последний пока просто стоит без дела, ещё не допилил скетч.

Используется как микроконтроллер
Ардуино Уно. Использутся как контроллер разных датчиков. Когда кончатся порты — будет заменен на Mega. Отличается названием в /dev/: Uno — ttyACM0, Mega — ttyUSB0.

Платформа Arduino Nano 3.0 построена на микроконтроллере ATmega328, имеет небольшие размеры и может использоваться в разных проектах. Nano разработана и продается компанией Gravitech. Ниже привожу технические характеристики:

Контроллер с платой приёма радио-сигналов от беспроводных датчиков движения (установлены во всех комнатах). Через Arduino с Ethernet-шилдом данные о движении поступают в систему.

Несколько модулей на базе Arduino и радио-модулей 433Mhz. Модули разные — меряют температуру/влажность, некоторые оснащены датчиком движения.

Для приёма информации с датчиков и передачи её в центральную систему используется модуль с приёмником и Ethern

Центральный блок.
Обеспечивает взаимодействие радио-сети с ПК.
Также может работать автономно в случае временного отсутствия ПК, с ограниченными возможностями по управлению.

Ардуино для начинающих. Урок 5. Кнопки, ШИМ, функции

В этом уроке мы узнаем: как подключить кнопку к ардуино, как подавить дребезг контактов, как в прошивке обработать нажатие на кнопку, как послать ШИМ сигнал, как создать свою функцию и как управлять светодиодом.

В этом уроке используются следующие детали:

Большая макетная плата на 1600 точек с 4 шинами питания:Купить
Набор резисторов из 100 штук на все случаи:Купить
Набор светодиодов из 100 штук:Купить
5 штук кнопок в удобной форме:Купить
Соединительные провода 120 штук:Купить

Подключение кнопки к Arduino

Как видите, ничего сложно в подключении кнопки к ардуино нет. Обратите внимание, что кнопка установлена так, что каждый ее контакт подключен к разным линиям макетной платы. Так же вы можете заметить резистор на 10 кОм который притягивает контакт к земле. Это нужно для того, что бы мы на 8 контакте не ловили наводок. Попробуйте убрать этот резистор из схемы. Светодиод будет загораться при шевелении проводов или кнопки. Теперь давайте рассмотрим скетч:

В этом уроке, как и прошлом, в самом начале мы объявляем переменные со значениями пинов к которым у нас подключены кнопка и светодиод. Далее в функции setup() мы обозначаем какой пин используется как вход, а какой как выход. В функции loop() мы используем условный оператор if с оператором сравнения и проверяем приходит ли на пин 8 высокий сигнал. Если да то включаем светодиод, если нет то выключаем. Описание функций и операторов вы найдете в справочнике по языку программирования Arduino

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

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

Читать еще:  Легранд наружные розетки под дерево

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

Подключение светодиода к Arduino

Теперь светодиод подключен к 11 пину ардуино, которой умеет делать ШИМ. И нам пришлось добавить токоограничивающий резистор на 220 Ом перед светодиодом, что бы его не спалить. Это необходимо потому, что светодиоды работают при напряжении 3.3 В, а пин ардуино отдает 5 В. Теперь посмотрим что нужно изменить в скетче:

В этом примере мы изменили значение переменной ledPin на 11. Так же добавили переменную для хранения уровня ШИМ ledLevel. При нажатии на кнопку будем увеличивать эту переменную. Функция debounce() осталась без изменений. В цикле мы теперь используем функцию analogWrite().

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

24 комментариев

Здравствуйте)))
Подскажите пожалуйста новечьку,
Как можно реализовать такой скечь
При нажатии на кнопку светодиод плавно загорается если нажать ещё раз на кнопку то светодиод плавно тухнет…?

// переменные с пинами подключенных устройств
int switchPin = 8;
int ledPin = 11;

// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledLevel = 0;

void setup() <
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
>

// функция для подавления дребезга
boolean debounse(boolean last) <
boolean current = digitalRead(switchPin);
if(last != current) <
delay(5);
current = digitalRead(switchPin);
>
return current;
>

void loop() <
currentButton = debounse(lastButton);
//первый цикл, постепенно включает светодиодик
if(lastButton == LOW && currentButton == HIGH) <
for(int i=ledLevel;i 255) ledLevel = 0;
>
currentButton = debounse(lastButton);

//второй цикл, постепенно выключает светодиодик
if(lastButton == LOW && currentButton == HIGH) <
for(int i=ledLevel;i>0;i=i-1) <
ledLevel = ledLevel — 1;
delay(100);
analogWrite(ledPin, ledLevel);>
//if(ledLevel > 255)
ledLevel = 0;
>

Очевидно при нажатии на кнопку в цикле менять значение ledLevel

Денис что такое ledlevel?

//Как можно реализовать такой скечь
//При нажатии на кнопку светодиод плавно загорается если нажать ещё раз на кнопку то светодиод плавно тухнет…?

/*== к примеру, вот так ==*/

// переменные с пинами подключенных устройств
int switchPin = 8;
int ledPin = 11;

// переменные для хранения состояния кнопки и светодиода
boolean lastButton = LOW;
boolean currentButton = LOW;
int ledLevel = 0;

// настройка изменения яркости
int deltaLevel = 5; // Шаг изменения яркости
int sign = 1; // Знак шага
int step_delay = 100; // задержка в шаге изменения яркости светодиода

// настройка сигнализатора окончания изменения яркости
int max_blink = 3; //число морганий светодиода на pin13 (LED_BUILTIN)
int blink_delay = 500; //задержка состояния светодиода на pin13 (LED_BUILTIN)

void setup()
<
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);// потушим светодиод на pin13 (LED_BUILTIN)
>

// функция для подавления дребезга
boolean debounse(boolean last)
<
boolean current = digitalRead(switchPin);
if(last != current)
<
delay(5);
current = digitalRead(switchPin);
>
return current;
>

// При нажатии на кнопку, светодиод медленно увеличивает яркость
// При повторном нажатии на кнопку, светодиод медленно гаснет
void loop()
<
currentButton = debounse(lastButton);
if(lastButton == LOW && currentButton == HIGH)
<
if(ledLevel == 0) sign = 1;
if(ledLevel == 255) sign = -1;
for(int i = 0; i 255) ledLevel = 255;
if(ledLevel
Света 2018-03-12 12:18:59

МУЖЧИНЫ кто согласится написать скетч за вознаграждение,к примеру на телефон.

Здравствуйте. Какой именно скетч вам нужен?

Ардуино Управляемая Розетка С Web Интерфейсом

Загрузил: Caprica Lab

Длительность: 1 мин и 14 сек

Битрейт: 192 Kbps

Ремонт Вектор Старт И Криста 2

Дешёвые Модули Умного Дома С Aliexpress

Подключаем Дисплей От Сотика Или Мобильного Телефона К Ардуино

Home Made — То, что ты можешь сделать

Платы Wi Fi Интернет Реле Заказанные У Jlcpcb Com Inetrelay

Floppy Music Или Как Использовать Флоппи Сейчас

Изготовление Печатных Плат Нетрадиционным Способом

Умный Wifi Sonoff Шнур Первый Шаг К Умному Дому Почти Даром Делаем За 15 Минут Своими Руками

Ломаем Беспроводной Wifi Выключатель Термостат Sonoff Th 10 16 От Itead

Система Автоматического Полива Растений Своими Руками

Мощная Антенна Для Усиления Интернета От Инженера По Автоматизации

Repair Of The Computer Spectr 001 Radio 86Rk

Простая И Мощная Защита Для Аккумулятора Bms Своими Руками

Доделки По Умному Дому Новинки От Itead Studio

Электроника в объективе

Ремонтируем Zx Spectrum 48K Композит Или Ленинград 1

10 Электронных Модулей С Aliexpress Которые Упростят Тебе Жизнь

Умный Коридор 2 Светодиодное Освещение С Arduino

Транзистор Тестер Недорого Но Может Многое

www.ElEnBlog.ru -блог об электронике

Краткий Обзор И Ремонт Компьютера Юниор Пк Фв 6506

Управление Отоплением Сотовым Телефоном

Evgeniy электронные поделки и не только.

Leningrad 1 48K Composit Запуск

Счастливая Обалденная Красивая Песня

Beyoncé Naughty Girl Bobby Newberry Choreography

Рита Дакота Стаи Китов

Типичное Утро Lorein 3

Эндинг Наруто 12

Faded Family Mash Up

Nury Meredow Futbol

Roberto Lee A Rainy Day

Amangul Oyden Cykanda Mp3 Skacat

Крутые Песни Про Тигра

Украинские Народные Песни В Современной Обработке

Двуличный Любовник 2017

Hard Psy Marnik Smack Gam Gam Creeds Remix

Tabal Lovely Memories W Dlj

Beautiful Is Boring That It Remix

Motivos Wayne Madiedo

Реакция На Мирби Мои Истории Из Деревни Анимация

All Girls Are The Same Этот Глупый Свин Не Понимает Мечту Девочки Зайки

Sg Kok Kayu Dj Gak Tau Yang Penting Bernyanyi

Honest Katsuki X Listener

You Raise Me Up Mark Feehily

Pinay Ganda Lip Sync Tiktok Compilation

Ардуино Управляемая Розетка С Web Интерфейсом

Flo Rida Low Dblm X Frxsty Remix Workout Music Official Video 4K Video

Sona Support Vs Brand Euw Master Patch 11 18

Les Mecs Vs Wout Belgiumunited Sup005

Calvin Harris Ft Disciples How Deep Is Your Love Kolishin Remix

Musicograma Amelie Planetas

Салат За 5 Минут Настолько Вкусный Что На Столе Ничего Не Останется Салат На Каждый День

Petruta Sima Popas Folcloric La Baia Verd E Slanic Vol 4 18 09 2021

Всем Встать Суд Идёт Danganronpa Trigger Happy Havoc 3

Morgenshtern X Imanbek X Fetty Wap Leck Сниппет Трека Релиз 30 04 2021 Snippet

Сатылды Чалбасын Дейт

Отзывы О Курсе Стоева В Клинический Гипноз

233 Inilah 5 Manfaat Daun Bandotan Untuk Kesehatan Dari Maag Diabet Sampe Diet

Презентация Ps4 Pro Slim И Их Возможностей От Sony Пресс Конференция Из Ньюйорка На Русском

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector