Как подключить светодиодную ленту к arduino
Перейти к содержимому

Как подключить светодиодную ленту к arduino

  • автор:

RGB светодиодная лента

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

Светодиодные ленты бывают двух типов: аналоговые и цифровые.
В аналоговых лентах все светодиоды включены в параллель. Следовательно, вы можете задавать цвет всей светодиодной ленты, но не можете установить определенный цвет для конкретного LED. Эти ленты просты в подключении и не дорогие.
Цифровые светодиодные ленты устроены немного сложнее. К каждому светодиоду дополнительно устанавливается микросхема, что делает возможным управлять любым светодиодом. Такие ленты намного дороже обычных. В данной статье мы рассмотрим работы только с аналоговыми светодиодными лентами.

Аналоговые RGB светодиодные ленты

RGB светодиодная лента

Техническая спецификация:
— 10.5мм ширина, 3мм толщина, 100мм длина одного сегмента
— водонепроницаемая
— снизу скотч 3М
— макс. потребление тока (12В, белый цвет) — 60мА на сегмент
— цвет свечения (длина волны, нм): 630нм/530нм/475нм

Схема светодиодной RGB ленты

Схема RGB светодиодной ленты

Лента поставляется в рулонах и состоит из секций длиной по 10 см. В каждой секции размещается 3 RGB светодиода, типоразмера 5050. Т.е. в каждой секции получается, что содержится 9 светодиодов: 3 красных, 3 зеленых и 3 синих. Границы секций отмечены и содержат медные площадки. Поэтому, при необходимости, ленту можно обрезать и спокойно припаиваться. Схема светодиодной ленты:

Энергопотребление

В каждой секции ленты, последовательно подключены по 3 светодиода, поэтому питание 5В не подойдет. Питание должно быть 12В, но можно подавать напряжение и 9В, но тогда светодиоды будут гореть не так ярко. Одна LED-линия сегмента потребляет приблизительно 20мА при питании 12В. Т.о. если зажечь белый цвет (т.е. красный 100%, зеленый 100% и синий 100%), то энергопотребление секции составит около 60мА. Теперь, можно легко посчитать потребление тока всей ленты. Итак, длина ленты составляет 1 метр. В ленте 10 секций (по 10 см каждая). Потребление ленты при белом цвете составит 60мА*10=600мА или 0.6А. Если использовать ШИМ fade-эффект между цветами, то энергопотребление можно снизить вдвое.

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

Для того, чтобы подключить ленту, необходимо припаять провода к 4 контактным площадкам. Мы использовали белый провод для +12В, а остальные цвета в соответствии с цветами светодиодов. Контактные площадки на лентеСрежьте защитную пленку на конце ленты. С какой стороны будет производится подключение — не важно, т.к. лента симметричная. Срезаем защитную пленкуЗачистите слой изоляции, чтобы оголить контактные площадки. Зачищаем до медных площадокЗалудите их. ЛужениеПрипаяйте четыре провода. Лучше использовать многожильный провод (например ПВ3 или кабель ПВС), он более гибкий. Припаиваем провода Припаиваем проводаДля защиты от воды и внешних воздействий можно использовать термоусадочную трубку. Если светодиодная лента будет использоваться во влажной среде, то дополнительно, контакты можно промазать силиконом. Термоусадочная трубка Термоусадочная трубка

Работа с светодиодной лентой

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

Подключение светодиодной ленты к контроллеру Arduino

Рассмотрим пример подключения светодиодной ленты к популярному контроллеру Arduino. Для подключения, можно использовать недорогие и популярные мосфеты STP16NF06. Можно также использовать и обычные биполярные транзисторы, к примеру TIP120. Но по сравнению с мосфетом, у него больше потери напряжения, поэтому все же рекомендуется использовать первые.
На схеме ниже показано подключение RGB светодиодной ленты при использовании N-канальных мосфетах. Затвор мосфета подключается к pin1 контроллера, сток к pin2 и исток к pin3. Подключение к Arduino через мосфетыНиже, показана схема подключения при использовании обычных биполярных транзисторов (например TIP120). База транзистора подключается к pin1 контроллера, коллектор к pin2 и эмиттер к pin3. Между базой и выводом контроллера необходимо поставить резистор сопротивлением 100-220 Ом. Подключение к Arduino через биполярные транзисторыК контроллеру Arduino подключите источник питания с напряжением 9-12 Вольт, а +12В от светодиодной ленты необходимо подключить к выводу Vin контроллера. Можно использовать 2 раздельных источника питания, только не забудьте соединить «земли» источника и контроллера.

Пример программы

#define REDPIN 5 #define GREENPIN 6 #define BLUEPIN 3 #define FADESPEED 5 // чем выше число, тем медленнее будет fade-эффект void setup() < pinMode(REDPIN, OUTPUT); pinMode(GREENPIN, OUTPUT); pinMode(BLUEPIN, OUTPUT); >void loop() < int r, g, b; // fade от голубого к фиолетовому for (r = 0; r < 256; r++) < analogWrite(REDPIN, r); delay(FADESPEED); >// fade от фиолетового к красному for (b = 255; b > 0; b--) < analogWrite(BLUEPIN, b); delay(FADESPEED); >// fade от красного к желтому for (g = 0; g < 256; g++) < analogWrite(GREENPIN, g); delay(FADESPEED); >// fade от желтого к зеленому for (r = 255; r > 0; r--) < analogWrite(REDPIN, r); delay(FADESPEED); >// fade от зеленого к зеленовато-голубому for (b = 0; b < 256; b++) < analogWrite(BLUEPIN, b); delay(FADESPEED); >// fade от зеленовато-голубого к голубому for (g = 255; g > 0; g--) < analogWrite(GREENPIN, g); delay(FADESPEED); >>

Теги:

none Опубликована: 2011 г. 0 2

Вознаградить Я собрал 0 3

Оценить статью

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

Инструкция по подключению Arduino к адресной светодиодной ленте

Инструкция по подключению Arduino к адресной светодиодной ленте

Как подключить адресную ленту к Ардуино? На сегодня это наша третья статья. В прошлых статьях мы уже разобрали, что из себя представляет адресная лента и примерно поняли, как она устроена. А также поговорили о плате Arduino Nano , по средствам которой мы буем управлять лентой, установили необходимое программное обеспечения и даже написали свою первую программу. Теперь же пришло время подключить все вместе и сделать простую световую анимацию. Для начала необходимо разобраться с потреблением светодиодной ленты. Дело в том, что каждый светодиод в пикселе потребляет до 20 мА, в зависимости от яркости его свечения. Напомню, что яркость свечения задаем мы сами из программы. Итого получается, что каждый пиксель может потреблять до 60 мА. Это довольно много, если учитывать, что мы можем использовать несколько метров ленты. Но в рамках данной статьи я буду экспериментировать с отрезком на 5 пикселей. И по этой причине запитаю адресную ленту прямо от Arduino Nano . Хотя я бы сам не рекомендовал так делать, лучше всего ставить отдельный блок питания и подключить ленту к нему, а с МК реализовать только управление. Как мы помним из прошлых статей, управление будет осуществлено любым из цифровых выходов с D 2 по D 13. В данном случае я решил использовать D 5 (просто для примера, Вы можете использовать любой). Итак, подключаем ленту к Arduino Nano . GND к GND , +5 V к +5 V и D — input к D 5 на плате Nano . Я не стал ничего придумывать и просто припаял. Визуально выглядит адресная лента подключенная к Ардуино: 3_01.JPGА вот схема подключения адресной ленты к Arduino: 3_01_02.pngТут главное помнить, что адресная светодиодная лента имеет направление и важно не перепутать к какому концу ленты подключать плату Arduino. Но об этом я уже говорил в прошлых статьях и больше заострять на этом внимание не будем. Следующим действием предлагаю подключить плату Адруино к компьютеру и уже заняться написанием нашей первой программы под адресную светодиодную ленту. 3_02.JPGПишем программу для управления адресной светодиодной лентой через Arduino. Установка библиотеки Первый раз – это всегда очень волнительно. В первый раз можно наделать кучу ошибок, причем в последствии понимаешь, что данные ошибки и нарочно придумать сложно, не то, чтобы их случайно допустить, и это касается не только программирования. Но для того я и пишу данную статью, чтобы максимально облегчить путь от идеи до результата. Сейчас я достаточно подробно опишу все, что буду делать. Это поможет сформировать в голове новичка четкое представление о подключении Arduino. Для начала давайте откроем IDE Arduino . Это программа, которую мы установили в одной из прошлых статей. 3_03.PNGПолучилось? Отлично! Далее нам необходимо установить библиотеку. Это нужно, чтобы управлять адресной лентой. Дело в том, что лента принимает определенный набор команд, но нам, как молодым разработчикам, пока не интересно, что это за команды и как они устроены. Мы просто хотим управлять цветами. И библиотека управления адресной лентой поможет нам сделать это максимально просто и быстро. Мы будем сообщать программе, где какой цвет хотим видеть, а программа, с помощью библиотеки, будет формировать наборы команд, понятные для микросхем адресной ленты. На самом деле все достаточно просто и очевидно, нужно только привыкнуть. Поэтому нажимаем «Скетч» -> «Подключить библиотеку» — > «Управлять библиотеками». 3_04.pngПосле этого появится окно «Менеджер библиотек». Кстати, данному окну нужно немного времени чтобы прогрузиться, поэтому пару секунд оно будет не активным, нужно подождать. 3_05.PNGНа данный момент мы будем использовать библиотеку « Adafruit NeoPixel ». Проще всего будет воспользоваться поиском. Как видно, в списке есть похожие название, нужно быть внимательным и не перепутать. 3_06.pngСледующим шагом нам необходимо установить библиотеку, для этого есть соответствующая кнопка. Нажимаем и ждем. После того, как установка будет завершена, кнопка «Установить» пропадет, зато появится выпадающий список, позволяющий выбрать версию. Пока что ничего менять не будем и просто закроем окно. 3_07.pngПишем программу для управления лентой через Ардуино И теперь мы приступаем к следующему этапу — написанию программы. Начнем с чего-то простого и потом будем постепенно совершенствовать. Наша первая программа будет выглядеть следующим образом: 3_08.PNG#include «Adafruit_NeoPixel.h» #define LED_COUNT 5 #define LED_PIN 5 Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); void setup() < strip.begin(); //Инициализируем ленту. >void loop() < for (int i = 0; i < LED_COUNT; i++) < strip.setPixelColor(i, strip.Color(255, 0, 0)); // Красный цвет. strip.show(); delay(300); >for (int i = 0; i < LED_COUNT; i++) < strip.setPixelColor(i, strip.Color(0, 0, 0)); // null >strip . show (); delay (300); > На первый взгляд это может показаться немного не понятным. Сейчас мы пройдемся по коду и используемые нами команды приобретут смысл. Начнем с первой строчки. Тут мы объявляем библиотеку. Дело в том, что перед этим мы только ее скачали, а чтобы использовать в программе, необходимо ее объявить. Для этого используется директива # include <>. Где в скобках указано имя файла, который будет использоваться при компиляции, как часть кода. В нашем случае это название библиотеки. Кстати да, библиотека – это файл с программой. Вторая и третья строчки, — тут мы задаем кол-во пикселей в нашей ленте и номер вывода, с которого будет организовано управление. Обратите внимание: речь идет именно о количестве пикселей, то есть чипов в ленте, а не о количестве светодиодов. В некоторых адресных лентах, например с чипом ws2811 и ws2818 управление происходит кратно 3 диодам, поэтому лента с 60 диодами на метр будет управляться всего 20 пикселями. Если у вас адресная лента ws2812b, ws2813 или ws2815, то управление происходит кратно одному диоду, то есть количество пикселей = количество светодиодов. Идем далее. Директива # define определяет идентификатор и последовательность символов, которой будет замещаться данный идентификатор при его обнаружении в коде. Давайте разберем вторую строку более подробно «#define LED_COUNT 5». «LED_COUNT» — это идентификатор, которому соответствует символ «5». Это позволит нам в теле программы (везде, где нужно) написать «5», писать «LED_COUNT». Возможно, это звучит немного непотяно, но подумайте вот о чем: нам пришло в голову изменить кол-во пикселей в ленте и тогда нам придется во всем коде менять их кол-во. Но благодаря # define , мы имеем возможность поменять всего лишь последовательность символов в идентификаторе. Понятное дело, в нашей программе возможно заменить все значения, потому что тут всего 2-а десятка строк. Но бывают и очень большие программы, где действия по замене потребуют огромного количества времени и терпения. В пятой строке мы объявляем экземпляр класса Adafruit_NeoPixel и передаем его конструктору значения о длине ленты, выводе управления и типу адресной ленты. В данной статье мы не будем разбирать само понятие классов, поэтому предлагаю просто принять данную строчку как должное, где в скобках мы передаем необходимые параметры. Скажу только одно: тут мы создали объект под именем « strip ». И этот объект полностью отвечает за работу подключенной ленты. В теле функции setup () мы сообщаем компилятору, что данный объект « strip » у нас будет использован. По сути, эту команду инициализации пока тоже нужно принять как необходимый минимум. А дальше у нас уже идет самое интересное — основная часть программы, в которой и происходит волшебство, она находится в теле функции loop (). Но перед этим необходимо ввести новое понятие – цикл. Цикл — это определенный блок программы, выполняющийся по кругу. Даже сама функция loop () является циклом. Циклы бывают конечными и бесконечными и у циклов так же, как и у функций, есть тело, где написаны повторяющиеся команды. В данной программе мы использовали цикл – for . Если данный цикл описан правильно, то он, как правило, конечен. Цикл for имеет 3 параметра «for(int i = 0; i < LED_COUNT; i++)< >». Первый параметр задает начальное значение для переменной i . Кстати, в данном случае переменная i инициализируется при начале работы цикла и забывается при окончании работы цикла. Второй параметр – это условие, при котором цикл продолжает выполняться. В нашем случае цикл выполняется до тех пор, пока i меньше 5. И третий параметр прибавляет единицу к i , при каждом повторе цикла. Сейчас ограничимся этим коротким объяснением. В дальнейшем у меня выйдет короткая статья, посвящённая программированию. Итак, вернемся к программе. С 13-ой по 17-ую строку у нас расположен цикл, цикл на 5 повторений, где i меняется от 0 до 4 включительно. В 14-ой строке мы вызываем метод setPixel , объекта strip и передаем ему два параметра. Где i это номер пикселя на адресной ленте, а « s trip.Color(255, 0, 0)» его цвет. Про то, как задается цвет по системе RGB мы уже говорили ранее. Скажу только очевидную вещь, «255, 0, 0» — это максимально красный цвет. Получается, когда мы объявили объект strip и передали ему, что в нашей адресной ленте будет 5 пикселей, то в памяти было зарезервировано 5 ячеек, предназначенные для хранения цвета. И теперь в данном цикле мы их заполняем. В 15-ой строке расположена команда, которая выводит на ленту цвета из памяти в МК (микроконтроллер). То есть последовательность такая: сначала пишем цвета в память, потом разом выводим их на адресную ленту. Изначально пока мы еще не успели заполнить память, там хранятся нулевые цвета «0, 0, 0». И в 16-ой строке у нас стоит задержка в 300 млс. Получается, изначально мы имеем 5 ячеек памяти, где записаны только нулевые цвета. Потом в цикле поочередно в каждую из ячеек пишется красный цвет, выводится на ленту и происходит небольшая задержка. Теперь давайте разберем строки кода с 18-й по 23-ю. Тут происходит практически то же самое. В таком же цикле, мы обнуляем цвета, только это происходит без какой-либо задержки. И данные поступают на адресную ленту уже после выполнения всего цикла, то есть обнуления всех цветов. И уже после этого мы используем задержку. На мой взгляд все достаточно просто. Светодиоды поочередно загораются красным, а затем гаснут и все это происходит по кругу. Результат выполнения программы вы можете увидеть ниже.
Заключение В данной статье мы написали свою первую программу для управления адресной лентой. Теперь Вы сами можете повторить это. Также Вы можете использовать не только красный цвет, но и самостоятельно поэкспериментировать с палитрой и более сложными цветами. А уже в следующих статьях мы постепенно усложним задачу.

Управление светодиодной лентой

Управление светодиодной лентой

В данной статье будет рассмотрен способ создания разноцветной подсветки с использованием светодиодной ленты и включение ленты при присутствии человека в комнате. Для управления лентой будет использоваться плата Arduno NANO, инфракрасный приёмник(ИК) и датчик присутствия. Данная статья будет полезна для всех, кто хочет сделать освещение из светодиодной ленты и у кого нет желания нести расходы на приобретение дорогостоящих контроллеров для управления ею, так как с помощью данной платы можно обеспечить любую комбинацию цветов и режимов для светодиодной ленты. Управлять ими можно будет с помощью обычного пульта от телевизора или с помощью телефона.

Для данного проекта все компоненты можно заказать на Aliexpress, например:

  • Arduino Nano — 160р.
  • ИК приёмник с пультом — 55р.
  • Датчик присутствия HC-SR501 — 37р
  • Светодиодная лента от 200р за метр, есть и дешевле, но с поддержанием управления цветами и в ней должно быть три цвета (RGB).
  • Понадобится ещё блок питания для светодиодной ленты, но это зависит от модели ленты и питающего напряжения.

На рисунке выше показана схема подключения ИК приёмника, датчика и светодиодной ленты .

Светодиодная лента с пультом управления

Плата Arduino имеет аналоговые, цифровые и ШИМ порты. В данном проекте мы будем использовать ШИМ порт D5 для выхода Date ИК приёмника и цифрой порт D6 для выхода OUT датчика присутствия, а ШИМ порт D3 для входа DIN светодиодной ленты.

ШИМ порты считывают значения от 0 до 255, чтобы считывать данные с ИК приёмника. Цифровые порты у нас принимают значения 0 или 1, это соответствует включению и выключению света, а в нашем случае порт считывает значение с датчика присутствия, то есть датчик определяет наличие в помещении людей. ШИМ порт передаёт на светодиодную ленту сигнал для управления цветами ленты и помогает нам делать разные комбинации оттенков. Оставшиеся разъёмы датчиков подключаются следующим образом, GND в GND, VCC в 5.

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

Библиотека Adafruit_NeoPixel.h для управления светодиодной лентой.

Подробнее как её устанавливать написано на сайте http://arduino.on.kg/Adafruit_NeoPixel . Библиотека написана на C++, поддерживает светодиодные ленты и неопиксельные кольца, основанные на светодиодах WS2812 и WS2811. Из данной библиотеки нам понадобятся следующие функции:

Ардуино управление светодиодной лентой

Ардуино код:
1) Для инициализации нашей ленты и дальнейшей работы с ней, необходимо в секции setup() вызвать две команды ранее созданного объекта ленты.
strip.begin() — Функция begin() настроит порт Arduino и выставит значения по умолчанию.
strip.show() — Функция show() передаст команду на выключение всем пикселям.

2) Для того чтобы задать любому пикселю ленты определенный цвет, существует функция strip.setPixelColor(n, red, green, blue).

Где параметр:
n — Номер пикселя в ленте (отсчет идет с нуля, то есть если в вашей ленте 60 пикселей, то первый из них будет 0, а последний 59)
red — Число от 0 до 255 определяющее яркость красного светодиода в пикселе.
green — Число от 0 до 255 определяющее яркость зеленого светодиода в пикселе.
blue — Число от 0 до 255 определяющее яркость синего светодиода в пикселе.

3) Функция show() передает данные в ленту. Данную функцию необходимо вызывать каждый раз после того, как вы изменили цвета пикселей или настройки ленты.

Так же понадобится библиотека IRremote.h для ИК приёмника, чтобы приёмник мог понимать наши сигналы с пульта или телефона.Примеры работы с данной библиотекой и установка можно посмотреть по данной ссылке http://arduino.on.kg/peredacha-dannyh-v-infrakrasnom-diapazone-pri-pomoshchi-Arduino. Из данной библиотеки нам понадобятся следующие функции:

1) Функция для подключения порта ИК приёмника IRrecv irrecv(RECV_PIN).
2) Функция для приёма данных results.value присваивает переменной значение которые приходят на приёмник.

Данных библиотек нам хватит для написания нашей программы.
Создадим программу в которой будет четыре режима у светодиодной ленты:
Режим 0 – выключение светодиодной ленты.
Режим 1 – включение красного цвета на ленте, если кто-то вошёл в комнату или ходит в комнате.
Режим 2 — включение белого цвета на ленте, если кто-то вошёл в комнату или ходит в комнате.
Режим 3 – мигают случайные цвета на ленте с интервалом 200 мс.

Чтобы режимы работы светодиодной ленты не занимали в программе много места, мы создадим для них отдельные подпрограммы, которые называются mode0(), mode1(), mode2(), mode3(). Так же можно будет дополнительно создать свои режимы работы, главное фантазия.

LED лента Ардуино подключение, управление

Светодиодная лента Ардуино подключение, управление

Управление светодиодной лентой от Ардуино с питанием 12 Вольт или 5 Вольт можно осуществлять с помощью модуля электромагнитного (твердотельного) реле или mosfet транзистора. При использовании магнитного реле невозможно будет включать LED ленту плавно. Рассмотрим в этой статье, как подключить светодиодную led ленту к плате Ардуино и управлять ею для создания красивого декоративного освещения в комнате.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • LED лента 12 / 5 Вольт
  • источник питания 12 / 5 Вольт
  • mosfet транзистор / модуль реле
  • датчик движения
  • макетная плата
  • коннекторы
  1. Подключение адресной LED ленты к Ардуино
  2. Подключение мосфет транзистора к Ардуино
  3. Управление светильником от датчика HC-SR04

Представленные в этом обзоре схемы и программы подходят для управления и подключения rgb ленты к Ардуино. Смотрите также на нашем сайте руководство по управлению адресной ленты ws2812b от микроконтроллера Arduino Uno. При выборе транзистора обратите внимание на его характеристики — максимальный ток и напряжение, который способен выдержать mosfet транзистор для включения светодиодной ленты.

Как подключить светодиодную ленту к Ардуино

Как подключить светодиодную ленту к Ардуино

На схеме мы представили первый вариант подключения светодиодной ленты к Arduino: через транзистор или мосфет модуль. Транзистор позволяет плавно включать светодиодную LED ленту и регулировать яркость света с помощью PWM сигнала от микроконтроллера. Можно использовать в схеме 5 и 12 вольтовую RGB светодиодную ленту. Соберите схему, чтобы запрограммировать светодиодную ленту от Ардуино.

Скетч управления LED лентой через транзистор

#define LED 10 void setup() < pinMode(LED, OUTPUT); >void loop() < // плавное включение led ленты for(int i=0; i// плавное выключение led ленты for(int i=255; i>=0; i--) < analogWrite(LED, i); delay(5); >>

Подключение светодиодной ленты к Ардуино через реле

Скетч управления LED лентой через реле Ардуино

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

Скетч управления LED лентой через реле Ардуино

#define LED 10 void setup() < pinMode(LED, OUTPUT); >void loop()

Скетч управления LED лентой с датчиком движения

Скетч управления LED лентой с датчиком движения

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

unsigned long counttime; byte w = 1; #define LED 10 #define PIR 2 void setup() < pinMode(LED, OUTPUT); pinMode(PIR, INPUT); >void loop() < // если движение есть - включаем led ленту if(digitalRead(PIR) == HIGH) < digitalWrite(LED, HIGH); w = 0; >// если нет движения - запускаем счетчик и цикл while if(digitalRead(PIR) == LOW) < counttime = millis(); w = 1; >while (w == 1) < // если нет движения в течении 10 сек - выключаем ленту if(millis() - counttime >10000) < digitalWrite(LED, LOW); w = 0; >// если движение есть - включаем свет и выходим из while if(digitalRead(PIR) == HIGH) < digitalWrite(LED, HIGH); w = 0; >delay(100); > delay(100); >

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *