Светодиодные полосы выцветания с питанием от Arduino, контролируемые датчиком: 6 шагов (с изображениями)
Светодиодные полосы выцветания с питанием от Arduino, контролируемые датчиком: 6 шагов (с изображениями)
Anonim
Image
Image

Недавно я обновил свою кухню и знал, что освещение улучшит внешний вид шкафов. Я выбрал «True Handless», так что у меня есть щель под рабочей поверхностью, а также доска, под шкафом и наверху доступных шкафов, и я хотел их осветить. Осмотревшись, я не смог найти именно то, что хотел, и решил попробовать сделать это самостоятельно.

Для освещения я выбрал одноцветные светодиодные ленты теплого белого цвета (водонепроницаемые с гибким пластиковым покрытием для защиты).

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

НО … Мне не нужен был большой переключатель, и я хотел получить первоклассный вид на то, как появляются огни, поэтому, осмотревшись и обнаружив несколько переключателей увеличения / уменьшения, а также один с поддержкой Alexa, я все еще не смог его найти. который мог управлять всем освещением и при этом хорошо выглядеть, поэтому я решил сделать свой собственный.

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

(И это стоило не намного больше, чем один сборный блок от Amazon - с запасными частями!).

Вот видео этого в действии

Шаг 1: Детали

Ниже приведен список деталей, которые я использовал на Amazon. Не стесняйтесь щелкнуть ссылку, чтобы купить их, но если у вас есть похожие предметы, используйте их !!! Обратите внимание, что некоторые из них - это «несколько» предметов, поэтому у вас должно быть достаточно запчастей, чтобы сделать их для друзей и семьи или просто для других проектов - но они настолько недороги, что покупка одного из них часто компенсируется расходами на перевозку …

Детали для этого проекта:

Полный набор Arduino (Примечание: не требуется, но в нем есть много вещей для будущих игр!):

Arduino NANO (используется внутри коробки):

Датчик PIR:

Светодиодные полосы:

Светодиодный драйвер (источник питания):

Платы MOSFET:

Нажмите, чтобы переключить:

Черный ящик для Arduino и MOSFET:

Белый ящик для датчика и переключателя:

Подключение провода от компонентов к светодиодным лентам:

Вилки и розетки 2,1 мм:

Провод для подключения Arduino к другим компонентам:

Тепловые радиаторы (для полевых МОП-транзисторов):

Двусторонний термолента:

Рукава термоусадочные

Шаг 2: технологии и их совместимость

Технологии и их совместимость
Технологии и их совместимость
Технологии и их совместимость
Технологии и их совместимость

Чтобы сделать это, сначала нам нужно сделать схему…

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

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

Я соединил его с парой красных светодиодов, и это позволило мне проверить, как работает затухающая часть программы (я временно установил тайм-аут через 10 секунд, чтобы я мог видеть эффект постепенного затухания и нарастания.). Это работает так: светодиоды включаются / выключаются мгновенно (в отличие от традиционных лампочек), поэтому вам не нужно подавать переменное напряжение - вы можете включать и выключать их так быстро, что они выглядят не такими яркими.. Это называется импульсно-волновой модуляцией (сокращенно ШИМ). По сути, чем дольше вы держите их включенными, тем ярче они становятся.

ПРИМЕЧАНИЕ: после того, как я подключил фактические световые полосы, ток, потребляемый каждой из полных полос, заставляет их быть немного менее яркими И они немного по-разному затухают - поэтому я сделал программу с некоторыми настраиваемыми настройками)

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

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

Я обманул здесь - я мог бы просто купить настоящие полевые МОП-транзисторы, но некоторые из них уже установлены на небольшие печатные платы, вместе с винтовыми разъемами и симпатичными маленькими светодиодными индикаторами SMD на плате, чтобы вы могли видеть их состояние. Сэкономить время на пайке? Да, черт возьми!

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

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

Я добавил небольшой переключатель Push to Make рядом с датчиком, чтобы я мог постоянно «включать» свет и выключать его вторым нажатием. Это был компонент, с которым у меня было больше всего проблем, поскольку комбинация вещей означала, что Arduino часто думал, что переключатель был нажат, поэтому он включал и выключал свет случайным образом. Казалось, что это комбинация шума внутри Arduino, длины кабеля, шума на линии заземления / 0 В и того, что соединения внутри переключателей зашумлены, поэтому их необходимо «устранить дребезгом». Я поигрался с несколькими вещами, но в конечном итоге остановился на проверке программы. Я нажимал кнопку в течение нескольких миллисекунд - в основном отключая подпрыгивание, но также игнорируя любой шум.

Что касается настоящего устройства, я нашел небольшую ненавязчивую коробку для датчика и нажимного переключателя, а также другую, которая подходила ко всем платам и кабелям MOSFET. Чтобы упростить задачу, я купил двухжильный кабель, по которому можно было проводить ток (и пометил один кабель для облегчения идентификации), и проложил его по кухне к начальным точкам каждой из световых полос. Я также купил несколько розеток и вилок, которые позволили мне подключить кабели к вилке, и установил четыре розетки в большую коробку. Таким образом, я мог переупорядочить световые полосы, чтобы они начинались с доски, через ручки, под шкафом и над подсветкой шкафа, просто отключив их от сети, а не меняя код.

Эта коробка также легко поместила Arduino NANO (опять же сторонняя плата менее чем за 3 фунта стерлингов) вверху. Чтобы получить небольшие соединения с NANO и MOSFET-транзисторами и т. Д., Я использовал одножильные кабели различных цветов (я использовал один с термостойкой изоляцией, но в этом нет необходимости). Я по-прежнему использовал двухжильный кабель с более высоким номинальным током от полевых МОП-транзисторов к розеткам.

Для высверливания ящиков у меня, к счастью, было в наличии сверло для колонн, но даже без него вы можете просверлить пилотное отверстие с помощью сверла меньшего размера, а затем расширить отверстие до нужного вам размера с помощью ступенчатого сверла (https:// amzn.to/2DctXYh). Таким образом вы получите более аккуратные и контролируемые отверстия, особенно в коробках из АБС-пластика.

Просверлите отверстия согласно схеме.

В белом квадрате я отметил положение датчика и место, где лежала белая линза Френеля. Затем, как только я нашел центр этого, я просверлил пилотное отверстие, а затем использовал более крупное ступенчатое сверло, чтобы расширить его (вы можете просто использовать сверло для дерева большего размера). Затем мне пришлось отшлифовать отверстие немного большего размера, НО я не протолкнул всю линзу Френеля через отверстие - сохраняя отверстие меньшего размера, это не делает датчик таким «видимым».

Вы также найдете на белой коробке несколько выступов, которые выступают сбоку, чтобы вы могли прикрутить коробку к стене и т. Д., Но я отрезал их. Затем я расширил небольшой вырез в коробке, предназначенный для кабеля, с одной стороны, чтобы он соответствовал большему 4-жильному кабелю, который я использовал, а с другой стороны коробки я расширил его, чтобы он соответствовал коммутатору (см. Рисунок).

Шаг 3: Подключение

Подключение его
Подключение его

См. Прилагаемую схему подключения.

По сути, вы можете использовать вставные разъемы, а затем припаять контакты, которые идут с Arduino, или, как я, просто припаять непосредственно к контактам на плате Arduino. Как и в случае любой пайки, если у вас нет опыта, посмотрите видео на Youtube и сначала потренируйтесь, но по сути: 1) Используйте хороший нагрев (не слишком горячий и не слишком холодный) на утюге и убедитесь, что на наконечнике нет ямок.. 2) Не «загружайте» припой на кончик утюга (хотя рекомендуется «оловить» конец при первом запуске, а затем стереть или сбить излишки - потренируйтесь прикасаться кончиком утюга к компоненту и вскоре после этого прикоснитесь припоем к наконечнику и к компоненту одновременно, и он должен «потечь» на плату. 3) Не перегревайте компоненты (ВАЖНО !!!) - если кажется, что он не течет, дайте ему остыть и попробуйте снова через некоторое время, а также не работайте над одной и той же областью слишком долго. 4) Если у вас нет трех рук или нет опыта владения палочками для еды, купите одну из этих вещей «Руки помощи», чтобы удерживать компоненты вместе (например, Чтобы облегчить жизнь, я также распаял 3-контактные разъемы на платах MOSFET. Для этого расплавьте немного припоя на существующее паяное соединение, чтобы оно снова растеклось, затем используйте плоскогубцы, чтобы протянуть штыри, пока припой все еще расплавлен. Если у вас есть насос или фитиль для снятия припоя, чтобы отвести расплавленный припой перед тем, как вытащить компонент (например, https://amzn.to/2Z8P9aT), вы можете обойтись и без него. Точно так же вы можете просто припаять непосредственно к контактам, если хотите (хотя лучше, если вы подключаете напрямую к плате).

Теперь взгляните на схему подключения.

Возьмите кусок тонкого одножильного провода и снимите с его конца немного изоляции (я считаю, что инструменты для снятия изоляции и резак https://amzn.to/2DcSkom хороши), затем скрутите провода и расплавьте на них немного припоя, чтобы держите их вместе. Протолкните провод через отверстие в плате, а затем припаяйте провод на место.

Продолжите это для всех проводов к Arduino, которые я перечислил (используйте необходимое количество цифровых контактов - у меня есть 4 комплекта ламп, но вы можете использовать больше или меньше). В идеале используйте цветной кабель, соответствующий использованию (например, красный 12 В, черный GND и т. Д.).

Чтобы сделать вещи аккуратными и предотвратить короткое замыкание, я рекомендую надевать небольшой кусок термоусадочной трубки (https://amzn.to/2Dc6lD3) для каждого соединения на провод перед пайкой. Держите его подальше во время пайки, затем, когда соединение остынет и после проверки всего, наденьте его на соединение и нагрейте с помощью теплового пистолета в течение нескольких секунд. Он сжимается, чтобы получился аккуратный стык.

ПРИМЕЧАНИЯ: Я где-то читал, что между некоторыми контактами Arduino D12 или D8 есть перекрестные помехи. На всякий случай я использовал D3 для четвертого вывода - но если вы хотите попробовать другие, не стесняйтесь, просто не забудьте обновить его в коде.

Отрежьте кабели до разумной длины, чтобы они поместились внутри коробки, затем снова обрежьте и залудите концы. На этот раз припаяйте кабели к платам MOSFET на контактах, как показано. Каждый цифровой выход (D9, D10, D11 и D3) следует припаять к одной из четырех плат. Что касается выходов GND, я собрал их все вместе и соединил с помощью куска припоя - не лучший способ, но все равно все прячется в коробке….

Arduino на полевые МОП-транзисторы

Входное напряжение. Я подключил +12 В и GND таким же образом, и поместил их вместе с некоторыми короткими отрезками двухжильного кабеля в блок Chocblock. Это позволило мне использовать Choblock в качестве разгрузки от натяжения для входящего питания от драйвера светодиода / блока питания, а также позволило более аккуратно соединить более толстые двухжильные кабели. Сначала я залудил концы кабелей, но обнаружил, что они не подходят для соединений на платах MOSFET, поэтому в итоге я отрезал луженые концы, и они лучше подошли.

Я взял еще несколько отрезков двухжильного кабеля длиной 4 см и припаял их к гнездам 2.1. Обратите внимание, что на них есть три контакта, и один используется для подачи питания при удалении соединения. Используйте соединение для внутреннего контакта (12 В) и внешнего (GND), а третий контакт оставьте отключенным. Затем пропустите каждый кабель через отверстия в боковой части коробки, добавьте гайку, затем вставьте их в выходные клеммы разъема MOSFET и затяните их.

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

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

Припаяйте провода к контактам на плате датчика (вы можете удалить контакты, если хотите), и, используя короткий кабель (черный!), Подключите соединительный кабель, чтобы продолжить кабель GND на одной стороне переключателя. Затем припаяйте другой провод от 4-жильного кабеля к другой стороне переключателя.

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

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

Власть

Драйвер светодиодов (источник питания), который я купил, имел два выходных хвостовика, оба из которых имели выход 12 В и заземление, поэтому я использовал оба из них и разделил использование так, чтобы 2 светодиода проходили через два полевых МОП-транзистора и питались от одного из них. выходы блока питания, а остальные 2 светодиода - из другого выхода. В зависимости от нагрузки от светодиодов, которые вы используете, вы могли выбрать другой источник питания и иметь только один выход.

Таким образом, в моей коробке есть 2 отверстия, куда входят кабели от источника питания, и я затем вставляю внутрь блок Chocblock, чтобы выполнить соединение, а также обеспечить снятие напряжения.

Шаг 4: Программа Arduino

Программа Arduino
Программа Arduino

Программа (прилагается) должна быть относительно понятной, и я постарался дать комментарии повсюду. Пожалуйста, не стесняйтесь вносить поправки в соответствии с требованиями вашего собственного проекта.

ВАЖНО: Я изначально установил это на комплекте деталей и Arduino UNO. Если вы затем используете платы Arduino NANO, загрузчик на них, вероятно, будет старше. Вам не нужно обновлять это (есть способ сделать это, но он не нужен для этого проекта). Все, что вам нужно сделать, это выбрать Arduino NANO в меню «Инструменты»> «Плата», а затем выбрать правильный вариант в «Инструменты»> «Процессор». После выбора COM-порта вы также можете выбрать, что происходит, если вы подключаетесь к последовательной консоли (Инструменты> Последовательный монитор).

Это мой первый проект Arduino, и я был рад, что его действительно легко загрузить, установить и использовать инструменты программирования Arduino (то, что позволяет вам вводить программы и выгружать их на плату). (загрузите IDE с

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

Как работает код

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

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

Я выбрал значения, которые мне подходят, но, пожалуйста, экспериментируйте. Однако: 1) Я бы не советовал слишком сильно увеличивать максимальную яркость - хотя это работает, я чувствую, что свет слишком яркий и неразборчивый (а с длинной цепочкой светодиодов дополнительный ток заставляет полевые МОП-транзисторы нагреваться - в чем корпус поменять коробку на более вентилируемую). 2) смещение работает для текущих значений, но из-за того, что светодиоды не увеличивают свою яркость линейно в зависимости от подаваемой мощности, вы также можете обнаружить, что вам также необходимо настроить другие параметры, пока не получите хороший эффект. 3) В режиме постепенного увеличения я установил максимальную яркость подсветки под прилавком на 255 (они потребляют меньше тока, поэтому не перегревайте полевые МОП-транзисторы, а также я хочу видеть, что я готовлю!).

После части настройки есть один большой цикл.

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

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

Затем он входит в другой цикл, сбрасывая значение, если датчик срабатывает снова. Если это не сбросить, то, когда таймер Arduino достигает этой точки, он выходит из цикла и вызывает процедуру TurnOff.

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

Шаг 5: складываем все в коробку

Собираем все в коробку
Собираем все в коробку
Собираем все в коробку
Собираем все в коробку

После того, как вы все подключили, самое время проверить это.

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

На датчике есть пара регулируемых потенциометров, которые позволяют регулировать чувствительность PIR, а также время срабатывания датчика. Поскольку мы контролируем элемент «как долго» в коде, вы можете оставить его на самом низком уровне, но можете свободно настраивать параметр чувствительности. Также есть перемычка - я оставил ее в положении по умолчанию, а также она позволяет «перезапустить» датчик - если он обнаруживает вас только один раз, а затем всегда истекает время ожидания, то пора переместить этот переключатель!

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

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

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

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

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

Вы также можете изменить настройки программы (я заметил, что чем длиннее светодиодные полосы, тем темнее они отображаются при «полной яркости»), и вы можете просто подключить Arduino к компьютеру и повторно загрузить новую программу.

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

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

Если вы посмотрите на расположение всего в коробке, вы увидите, что платы MOSFET могут располагаться по обе стороны от коробки, а кабель от выхода этих петель и гнездо 2,1 мм можно затем разместить рядом. к самому полевому МОП-транзистору через отверстие и прикрепленную гайку, чтобы удерживать его на месте. Небольшая капля клея помогает удерживать их на месте, но при необходимости их все еще можно снять.

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

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

Затем просто закройте коробку крышкой, подключите ее и наслаждайтесь!

Шаг 6: Резюме и будущее

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

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

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

Я мог бы просто купить сами полевые МОП-транзисторы (или использовать другой метод) для управления высоким током светодиодных лент, но это означало бы покупку вспомогательных компонентов (диод, резистор и т. Д.), А светодиод SMD на плате был полезен., так что я чувствовал, что заплатить небольшую дополнительную плату за доски было оправдано.

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

На нашей кухне свет должен быть акцентным, поэтому мы используем его постоянно. Однако изначально я рассматривал возможность добавления датчика освещенности, чтобы включить состояние «ВКЛ» только в том случае, если было достаточно темно. Из-за поэтапных циклов в коде было бы легко добавить светозависимый резистор к одному из аналоговых контактов на Arduino, а затем изменить условие прорыва в цикле `` ВЫКЛ '', чтобы просто дождаться, пока датчик И LDR не перестанут работать. быть ниже определенного значения, например, while ((digitalRead (SENSOR) == LOW) and (LDR <= 128));.

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