- Принцип управления нагрузкой через Ардуино
- Синтаксис команд
- Способы управления светодиодами через Ардуино
- Виды транзисторных ключей
- Типы светодиодных лент
- Питание
- Библиотека FastLed. Описание и примеры использования
- Загрузка библиотеки
- Пример работы с библиотекой
- Представление цвета в HSV-модели
- Спектр и радуга.
- Математические операции
- Практические примеры использования
- RBG Гонка
- Мерцание желтого и фиолетового
- Радуга
- Принцип работы транзистора для плавного управления светодиодной лентой
- Управление RGB лентой с помощью Andurino
- Скетч управления яркостью светодиодной ленты Arduino
- Модули управления Ардуино
Принцип управления нагрузкой через Ардуино
Плата Arduino имеет два типа выходных портов: цифровые и аналоговые (управление ШИМ). Цифровой вентиль имеет два возможных состояния — логический ноль и логическая единица. Если к нему подключить светодиод, то он либо загорится, либо нет.
Аналоговый выход представляет собой ШИМ-регулятор, в качестве сигнала с частотой ок. 500 Гц применяется с регулируемым рабочим циклом. Что такое ШИМ-регулятор и как он работает можно найти в интернете. Через аналоговый порт можно не только включать и выключать нагрузку, но и изменять напряжение (ток) на ней.
Синтаксис команд
Цифровой выход:
pinMode(12, ВЫХОД); — установить порт 12 в качестве порта вывода данных;
цифровая запись (12, ВЫСОКИЙ); — подаем логическую единицу на дискретный выход 12, и зажигаем светодиод.
Аналоговый выход:
аналоговый выход = 3; — настроить порт 3 для вывода аналогового значения;
аналогЗапись(3, значение); — формируем на выходе сигнал с напряжением от 0 до 5В. Значение – скважность сигнала от 0 до 255. При значении 255 – максимальное напряжение.
Способы управления светодиодами через Ардуино
Напрямую через затвор можно подключить только слабенький светодиод, да и то лучше через ограничительный резистор. Попытка подключить более мощную нагрузку приведет к ее отключению.
Для более мощных нагрузок, в том числе светодиодных лент, используется электронный ключ — транзистор.
Виды транзисторных ключей
- Биполярный;
- Поле;
- Композит (крепление Дарлингтона).
Через биполярный транзистор | Через полевой транзистор | Через переключатель напряжения |
Когда высокий логический уровень (digitalWrite(12, HIGH);) подается через выходной затвор на базу транзистора, опорное напряжение будет поступать на нагрузку через цепь коллектор-эмиттер. Таким образом, вы можете включать и выключать светодиод.
Аналогично работает полевой транзистор, но так как у него вместо «базы» сток, который управляется не током, а напряжением, ограничительный резистор в этой схеме необязателен.
Биполярный вид не позволяет регулировать большие нагрузки. Ток через него ограничен на уровне 0,1-0,3А.
Полевые транзисторы работают с более мощными нагрузками с током до 2А. Для еще более мощной нагрузки используются полевые транзисторы Mosfet с током до 9А и напряжением до 60В.
Вместо полей можно использовать сборку Дарлингтона из биполярных транзисторов на микросхемах ULN2003, ULN2803.
Микросхема ULN2003 и принципиальная схема электронного переключателя напряжения:
Типы светодиодных лент
Наиболее часто используемая светодиодная лента на микросхеме — WS2812b. Они делятся на 3 класса защиты от окружающей среды: IP64, IP65 и IP67. Лента IP64 имеет наименьшую степень защиты, но ее легче всего разрезать на более мелкие части. Они также поставляются с клейкой основой, которая позволяет прикреплять их к любым типам поверхностей. Ремешки со степенью защиты IP65 также имеют липкую заднюю часть и силиконовое покрытие, что усложняет пайку. Тип IP67 полностью заключен в силикон и не имеет липкой подложки.
Ленты также имеют разную плотность светодиодов. В основном, есть 30 шт/м, 60 шт/м и 144 шт/м. По моему опыту, 30 шт/м — это довольно много, так как каждый светодиод может быть очень ярким. Это дает вам максимальное преимущество в цене, а также простой выбор мощности
Почти все светодиодные ленты WS2812b можно разрезать на несколько полос меньшего размера. Каждую из медных прокладок можно разрезать пополам и использовать для соединения секций вместе. Провода можно припаять к каждому концу. Только не забудьте соединить GND <-> GND, VCC <-> VCC и DIN <-> DOUT. Ниже представлена матрица светодиодов из секций ленты IP64, 60 светодиодов/м.
Питание
Поскольку большинство адресных светодиодных лент работают при напряжении 5 вольт, мы можем использовать термины «ватт» и «ток» как синонимы. Количество тока (ампер), потребляемого каждым светодиодом, зависит от его цвета и яркости. Если горит только один из трех красных, зеленых или синих светодиодов, он потребляет меньше энергии. Если для пикселя установлен белый цвет (все три светодиода горят), он будет использовать максимальную мощность.
Рекомендуется исходить из того, что каждый из светодиодов будет потреблять максимум 20 мА (фактическое значение немного ниже). Это дает нам 20 мА + 20 мА + 20 мА = 60 мА на пиксель. Поэтому, например, для светодиодной ленты с разрешением 150 пикселей нам нужен ток максимум 9А. Для этих целей нам понадобится блок питания не менее 10 А. Однако лента будет потреблять максимум 9 А только тогда, когда все светодиоды горят на максимальной яркости. Если мы немного уменьшим яркость и не будем давать загореться одновременно всем светодиодам в течение длительного времени, нам понадобится гораздо менее мощный блок питания. Ниже представлен график энергопотребления полосы в зависимости от настройки яркости
Также важно использовать качественный блок питания на 5 вольт. Многие блоки питания, особенно китайские, используют более дешевые компоненты и фактически не могут поддерживать такой уровень мощности. Даже при наличии высококачественного источника питания я бы рекомендовал оставлять около 20-30% запаса на всякий случай. Попытка использовать большое количество тока может привести к падению напряжения, снижению яркости светодиодов или, что еще хуже, к повреждению их или блока питания.
Для тех, кто менее знаком с электрической терминологией, напряжение можно рассматривать как давление воды, а ток — как поток воды. Если мы попытаемся увеличить расход воды (ток) выше, чем может выдержать подача, давление (напряжение) в воде уменьшится. В каждую полоску встроены небольшие провода для соединения одного светодиода с другим. Они действуют как трубы, по которым движется вода (ток). Если мы попытаемся настроить все светодиоды на максимальную яркость белого, они потребляют слишком много воды (энергии) для этих маленьких трубок.
Когда мы доходим до конца длинной полосы, напряжение падает и ухудшается яркость и цветопередача светодиодов. Чтобы исправить это, нам просто нужно подать питание и землю на обе стороны полосы. Многие ленты даже имеют дополнительную пару контактов для проводов 5V и GND на каждом конце, специально для «доставки» большей мощности.
Помимо уменьшения яркости, мы также можем уменьшить ток, отключив все красные, зеленые или синие светодиоды в полосе. Если мы используем комбинацию двух из трех светодиодов на каждый пиксель, мы можем уменьшить ток до двух третей от нормального потребления. Если мы запрограммируем наши светодиоды только на красный, зеленый или синий, мы сможем сократить энергопотребление на треть, поскольку два из трех светодиодов выключены. Например, если мы знаем, что будем использовать только желтый (красный + зеленый) и фиолетовый (красный + синий) цвет с максимальной яркостью 100, максимальное потребление будет 12,5 мА на пиксель.
Яркость 100 использует около 19 мА из графика, умноженного на 2/3, поскольку мы знаем, что хотим использовать только два из трех цветов одновременно, что дает нам 12,5 мА на пиксель. В зависимости от того, насколько сильно вы ограничиваете себя, количество энергии, необходимой для каждого пикселя, может быть значительно уменьшено. Если вы точно знаете, какая максимальная яркость и цвета вам нужны, вы можете рассчитать конкретное максимальное энергопотребление. Хотя, как правило, хорошей идеей будет дать себе как можно больше гибкости, чтобы создавать более широкий спектр анимаций и цветов.
Для более практичного расчета необходимого блока питания светодиодной ленты на сайте есть специальный калькулятор
Библиотека FastLed. Описание и примеры использования
Итак, у вас есть адресная светодиодная лента, и вы хотите ее осветить. На первый взгляд задача может показаться сложной, но она просто работает! Есть много способов начать работу со светодиодными лентами, и один из самых простых и гибких способов — использовать библиотеку FastLED, доступную для Arduino. Эта библиотека поддерживает все наиболее распространенные типы светодиодных лент, включая Neopixel, Dotstar и многие другие. Он предлагает расширенное управление цветом и математику цвета, что делает его хорошим выбором для многих проектов.
Загрузка библиотеки
Библиотеку можно скачать здесь. Доступно много версий, но я бы порекомендовал загрузить самую последнюю, чтобы убедиться, что библиотека поддерживает ваш тип чипа. Чтобы скачать, нажмите на ссылку «Исходный код (zip)» последней версии. Извлеките содержимое архива в папку библиотеки Arduino IDE. На моем компьютере это:
(C:)> Program Files (x86)> Arduino> Библиотеки
Теперь библиотека загружена, и вы готовы начать программирование.
Пример работы с библиотекой
Для начала нужно решить, сколько светодиодов использовать, тип ленты и определиться с проводами для подключения.
#include #define NUM_LEDS 60 //Количество светодиодов #define DATA_PIN 13 //Вывод данных #define CLOCK_PIN 14 //Вывод часов CRGB LEDsNUM_LEDS</a>;// массив, в котором хранятся цвета каждого светодиода void setup() { delay (2000 г.); FastLED.addLeds(LEDs,NUM_LEDS); //чип, номер контакта данных, номер контакта часов, последовательность цветов, //рабочая частота (при необходимости. По умолчанию 24 МГц) } apa102,data_pin,clock_pin,rgb,data_rate_mhz(10)
Чтобы зажечь нужный нам светодиод, пишем следующее
void loop() { leds0 = CRGB::DarkGreen; //записываем значение нужного нам цвета для первого светодиода FastLED.show(); //Вывод на последовательный порт delay(30);
}
Полный список предопределенных цветов см в таблице ниже:
CRGB::AliceBlue | 0xF0F8FF | |
CRGB::Аметист | 0x9966CC | |
CRGB::Антиквайт | 0xFAEBD7 | |
CRGB::Аква | 0x00FFFF | |
CRGB::Аквамарин | 0x7FFFD4 | |
CRGB::Azure | 0xF0FFFF | |
CRGB::Бежевый | 0xF5F5DC | |
CRGB::Биск | 0xFFE4C4 | |
CRGB::Черный | 0x000000 | |
CRGB::BlanchedAlmond | 0xFFEBCD | |
CRGB::Синий | 0x0000FF | |
CRGB::Синий фиолетовый | 0x8A2BE2 | |
CRGB::Коричневый | 0xA52A2A | |
CRGB::БерлиВуд | 0xDEB887 | |
CRGB::CadetBlue | 0x5F9EA0 | |
CRGB::Шартрез | 0x7FFF00 | |
CRGB::Шоколад | 0xD2691E | |
CRGB::Коралл | 0xFF7F50 | |
CRGB::Васильковый синий | 0x6495ED | |
CRGB::Кукурузные рыльца | 0xFFF8DC | |
CRGB:: малиновый | 0xDC143C | |
CRGB:: Голубой | 0x00FFFF | |
CRGB:: Темно-синий | 0x00008B | |
CRGB:: DarkCyan | 0x008B8B | |
CRGB::DarkGoldenrod | 0xB8860B | |
CRGB:: Темно-серый | 0xA9A9A9 | |
CRGB:: Темно-зеленый | 0x006400 | |
CRGB::DarkKhaki | 0xBDB76B | |
CRGB:: Темно-пурпурный | 0x8B008B | |
CRGB:: DarkOliveGreen | 0x556B2F | |
CRGB:: Темно-оранжевый | 0xFF8C00 | |
CRGB::DarkOrchid | 0x9932CC | |
CRGB:: Темно-красный | 0x8B0000 | |
CRGB::DarkSalmon | 0xE9967A | |
CRGB:: DarkSeaGreen | 0x8FBC8F | |
CRGB:: DarkSlateBlue | 0x483D8B | |
CRGB:: DarkSlateGray | 0x2F4F4F | |
CRGB:: Темно-бирюзовый | 0x00CED1 | |
CRGB:: Темно-фиолетовый | 0x9400D3 | |
CRGB:: DeepPink | 0xFF1493 | |
CRGB:: DeepSkyBlue | 0x00BFFF | |
CRGB:: ДимГрей | 0x696969 | |
CRGB:: ДоджерСиний | 0x1E90FF | |
CRGB::FireBrick | 0xB22222 | |
CRGB::ЦветочныйБелый | 0xFFFFAF0 | |
CRGB::ForestGreen | 0x228B22 | |
CRGB:: Фуксия | 0xFF00FF | |
CRGB::Гейнсборо | 0xDCDCDC | |
CRGB::GhostWhite | 0xF8F8FF | |
CRGB::Золото | 0xFFD700 | |
CRGB::Золотарник | 0xDAA520 | |
CRGB::Серый | 0x808080 | |
CRGB::Зеленый | 0x008000 | |
CRGB::Зелено-желтый | 0xADFF2F | |
CRGB:: Медвяная роса | 0xF0FFF0 | |
CRGB::ХотПинк | 0xFF69B4 | |
CRGB::IndianRed | 0xCD5C5C | |
CRGB::Индиго | 0x4B0082 | |
CRGB::Слоновая кость | 0xFFFFF0 | |
CRGB::Хаки | 0xF0E68C | |
CRGB:: лаванда | 0xE6E6FA | |
CRGB::LavenderBlush | 0xFFF0F5 | |
CRGB::ГазонГрин | 0x7CFC00 | |
CRGB::ЛимонШифон | 0xFFFACD | |
CRGB::Голубой | 0xADD8E6 | |
CRGB::LightCoral | 0xF08080 | |
CRGB::LightCyan | 0xE0FFFF | |
CRGB::LightGoldenrodYellow | 0xФАФАД2 | |
CRGB::светло-зеленый | 0x90EE90 | |
CRGB::Светло-серый | 0xD3D3D3 | |
CRGB::Светло-розовый | 0xFFB6C1 | |
CRGB:: Лосось | 0xFFA07A | |
CRGB::LightSeaGreen | 0x20B2AA | |
CRGB::LightSkyBlue | 0x87CEFA | |
CRGB::LightSlateGray | 0x778899 | |
CRGB::LightSteelBlue | 0xB0C4DE | |
CRGB::Светло-желтый | 0xFFFFE0 | |
CRGB:: Лайм | 0x00FF00 | |
CRGB:: ЛаймГрин | 0x32CD32 | |
CRGB::Лен | 0xFAF0E6 | |
CRGB::Пурпурный | 0xFF00FF | |
CRGB::бордовый | 0x800000 | |
CRGB::СреднийАквамарин | 0x66CDAA | |
CRGB::MediumBlue | 0x0000CD | |
CRGB::MediumOrchid | 0xBA55D3 | |
CRGB:: Медиумпурпле | 0x9370ДБ | |
CRGB::MediumSeaGreen | 0x3CB371 | |
CRGB::MediumSlateBlue | 0x7B68EE | |
CRGB::MediumSpringGreen | 0x00FA9A | |
CRGB:: Средний бирюзовый | 0x48D1CC | |
CRGB::MediumVioletRed | 0xC71585 | |
CRGB::Полуночный синий | 0x191970 | |
CRGB::МинтКреам | 0xF5FFFA | |
CRGB::МистиРоуз | 0xFFE4E1 | |
CRGB::Мокасины | 0xFFE4B5 | |
CRGB::НавахоБелый | 0xFFDEAD | |
CRGB::Морской | 0x000080 | |
CRGB::OldLace | 0xFDF5E6 | |
CRGB::Оливковый | 0x808000 | |
CRGB:: OliveDrab | 0x6B8E23 | |
CRGB::оранжевый | 0xFFA500 | |
CRGB:: OrangeRed | 0xFF4500 | |
CRGB::Орхидея | 0xDA70D6 | |
CRGB::PaleGoldenrod | 0xEEE8AA | |
CRGB:: Бледно-зеленый | 0x98FB98 | |
CRGB::Бледно-бирюзовый | 0xAFEEEE | |
CRGB::PaleVioletRed | 0xDB7093 | |
CRGB::Папайяхип | 0xFFEFD5 | |
CRGB::PeachPuff | 0xFFDAB9 | |
CRGB::Перу | 0xCD853F | |
CRGB::Розовый | 0xFFC0CB | |
CRGB::плед | 0xCC5533 | |
CRGB::Слива | 0xDDA0DD | |
CRGB::Пудерсиний | 0xB0E0E6 | |
CRGB:: Фиолетовый | 0x800080 | |
CRGB::Красный | 0xFF0000 | |
CRGB:: РозиБраун | 0xBC8F8F | |
CRGB::RoyalBlue | 0x4169E1 | |
CRGB::СедлБраун | 0x8B4513 | |
CRGB:: Лосось | 0xFA8072 | |
CRGB::СэндиБраун | 0xF4A460 | |
CRGB::SeaGreen | 0x2E8B57 | |
CRGB::Ракушка | 0xFFF5EE | |
CRGB::Сиена | 0xA0522D | |
CRGB::Серебро | 0xC0C0C0 | |
CRGB::Небесно-голубой | 0x87CEEB | |
CRGB::SlateBlue | 0x6A5ACD | |
CRGB::SlateGray | 0x708090 | |
CRGB::Снег | 0xFFFAFA | |
CRGB:: SpringGreen | 0x00FF7F | |
CRGB::SteelBlue | 0x4682B4 | |
CRGB:: Сан | 0xD2B48C | |
CRGB :: Сине-зеленый | 0x008080 | |
CRGB::Чертополох | 0xD8BFD8 | |
CRGB::Помидор | 0xFF6347 | |
CRGB::Бирюзовый | 0x40E0D0 | |
CRGB:: Фиолетовый | 0xEE82EE | |
CRGB::Пшеница | 0xF5DEB3 | |
CRGB::Белый | 0xFFFFFF | |
CRGB::Белый дым | 0xF5F5F5 | |
CRGB::Желтый | 0xFFFF00 | |
CRGB::ЖеллоуГрин | 0x9ACD32 |
Но это не единственный способ задать цвет. Ниже приведены еще несколько вариантов.
lEDs[i].r = 100; //устанавливаем значение каждого цветового компонента RGB LEDs[i].g = 12; светодиодов[i].b = 255; Светодиоды[i].красный = 100; //другой способ написать LEDs[i].green = 12; LEDs[i].blue = 255; светодиоды[i]0 = 50; // красный //и еще один LEDs[i][1] = 100; // зеленые светодиоды[i][2] = 150; // синие светодиоды[i] = 0x640СFF; //один и тот же цвет в шестнадцатеричном формате LEDs[i].setRGB(100, 12, 255); Светодиоды[i] = Светодиоды[j]; //Простая копия LEDs[i] = CRGB(50, 100, 150); LEDs[i] = CRGB::Red; //Установить цвет из списка цветов
Представление цвета в HSV-модели
lEDs[i] = CHSV(224, 187, 255); //оттенок/насыщенность/яркость светодиодов[i].setHSV(224, 187, 255); //другой способ написать LEDs[i].setHue(224); // устанавливаем полностью насыщенный яркий цвет спектра CHSV; //задание спектра с диапазоном от 0 до 255 speccolor.hue = 224; спектрцвет.насыщенность = 187; спектрцвет.значение = 255; hsv2rgb_spectrum (цвет спектра, светодиоды [i]);
Читайте также: 3014 SMD: техническая характеристика светодиода
Спектр и радуга.
Различают два типа трансформации HSV — спектральную и радужную. Первый тип использует линейную зависимость для изменения каждого цвета. Недостаток в том, что при таком методе мы получаем едва заметный желтый цвет в цветовой палитре. В «радуге» все основные цвета распределяются равномерно, что гораздо удобнее для человеческого восприятия.
ЧСВ hsv(160, 255, 255); // синий цвет в пространстве радуги hsv CRGB rgb; hsv2rgb_rainbow (hsv, rgb); // в rgb получаем (0, 0, 255)
Цвета радуги и т д имеют следующие значения
- Красный (0..) «HUE_RED»
- Оранжевый (32..) «ОТТЕНОК_ОРАНЖЕВЫЙ»
- Желтый (64..) «HUE_YELLOW»
- Зеленый (96..) «HUE_GREEN»
- Аква (128..) «HUE_AQUA»
- Синий (160..) «HUE_BLUE»
- Фиолетовый (192..) «HUE_PURPLE»
- Розовый(224..) «HUE_PINK»
Точно так же преобразование спектра:
ЧСВ hsv(171, 255, 255); // чистый синий цвет в спектре hsv CRGB rgb; hsv2rgb_spectrum (hsv, rgb); // в rgb получаем (0, 0, 255)
Цвета в спектре и т д имеют следующие значения
- Красный (0..)
- Желтый (42..)
- Зеленый (85..)
- Аква (128..)
- Синий (171..)
- Фиолетовый (213..)
Преимущество преобразования спектра в том, что преобразование в rgb происходит несколько быстрее.
Функцию hsv2rgb_spectrum, как и функцию hsv2rgb_rainbow, можно вызывать для массового преобразования.
ЧСВ вчс[10]; светодиоды CRGB[10]; hsv2rgb_rainbow (hsvs, светодиоды, 10); // преобразовать все
Математические операции
Библиотека также поддерживает математические операции
lEDs[i] += CRGB(0, 5, 0); //добавлены зеленые светодиоды[i].addToRGB(5); //добавляем яркости всем каналам RGB LEDs[i]++; // приращение трех компонентов RGB light[i] -= CRGB(5, 0, 0); //вычесть 5 из красных светодиодов[i].subtractFromRGB(5); //вычитаем яркость из RGB светодиодов[i]—; //уменьшение трех компонентов RGB[i].r = 5; // присваиваем значение только красной составляющей
Изменение яркости
светодиоды[i].fadeLightBy(64); Светодиоды[i] %= 192; Светодиоды[i].nscale8_video(192); Светодиоды[i].fadeToBlackBy(64); светодиоды[i].nscale8(192); Светодиоды[i].maximizeBrightness(); светодиоды[i] /= 2; Светодиоды[i] *= 2;
Практические примеры использования
Теперь разберем на практике, как можно применять полученные знания на практике. Для этого приведу в пример 3 простых скетча для ленты из 150 светодиодов
RBG Гонка
Эта первая небольшая анимация просто проходит через светодиоды между тремя основными цветами. В коде есть красная, зеленая и синяя части. В каждом разделе мы перебираем каждый отдельный пиксель и меняем их один за другим. Обратите внимание, что команда «FastLED.show» находится внутри цикла. Если мы удалим его, он обновит светодиоды только после того, как мы их все поменяем. Не забудьте изменить количество светодиодов на 150.
#include CRGB LEDs[150]; void setup () { FastLED.addLeds (светодиоды, 150); } void loop() { for(int i = 0; i < 150; i++) { LEDs[i] = CRGB(100, 0, 0); FastLED.show(); } for(int i = 0; i < 150; i++) { LEDs[i] = CRGB(0, 100, 0); FastLED.show(); } for(int i = 0; i < 150; i++) { LEDs[i] = CRGB(0, 0, 100); FastLED.show();
}
}
Мерцание желтого и фиолетового
Эта анимация быстро регулирует яркость фиолетовых и желтых секций, j-петля регулирует яркость, а i-петля определяет секции. Измените значения в i-loop, чтобы настроить, где начинается и заканчивается каждая цветовая часть.
#include CRGB LEDs[150]; void setup () { FastLED.addLeds (светодиоды, 150); } void loop() { for(int j = 0; j < 100; j++) { for(int i = 0; i < 75; i++) { LEDs[i] = CRGB(j, j, 0); } FastLED.show(); } for(int j = 0; j < 100; j++) { for(int i = 75; i < 150; i++) { LEDs[i] = CRGB(j, 0, j); } FastLED.show();
}
}
Радуга
Радужная анимация — это ваш классический цветовой цикл. Каждый раз, когда цикл выполняется, значения RGB в верхней части цикла обновляются. Он начинается с максимума красного и быстро меняет цвета один за другим, постепенно исчезая.
#include CRGB LEDs[150]; инт г = 255; интервал б = 0; инт г = 0; void setup () { FastLED.addLeds (светодиоды, 150); } void loop() { if(r > 0 && b == 0){ r—; г++; } if(g > 0 && r == 0){ g—; б++; } если(b > 0 && g == 0){ r++; б—; } for(int i = 0; i < 150; i++) { LEDs[i] = CRGB(r, g, b); } FastLED.show(); } Материал также доступен на моем канале: Яндекс Дзен и в группе ВК Другие сопутствующие материалы:
- Подключает датчик BME280 к Arduino
- Обзор модуля воспроизведения MP3 и WAV DY-SV17F
- Обзор MP3-модуля DFPlayer Mini (DFR0299)
- Внешние прерывания ARDUINO и ESP
- Подключает ЖК-экран к Arduino и ESP8266
- Распиновка отладочных плат для семейства Arduino
- 1
- 2
- 3
- 4
- 5
Категория: Arduino, ESP8266 и ESP32 | Добавлено: : ВСЕ , (01.02.2023) Просмотрено: 1473 | Теги: адресная лента, Arduino IDE, Arduino, FastLED, WS2812B | Рейтинг: 0.0/0
Делиться: |
Общее количество комментариев: 0 | |
Только зарегистрированные пользователи могут добавлять комментарии.
[Регистрация | Вход]
Категории разделов
Arduino, ESP8266 и ESP32 [36] Полезная информация об этих микроконтроллерах |
Моддинг Red Alert 2 [12] Цикл статей о моддинге игры Red Alert 2 |
LVGL (Light and Versatile Graphics Library) [3] Серия обучающих статей о библиотеке LVGL |
Объявление о розыскеНовые статьи
1 | Просмотр MP3… 05.10.2023 Просмотров: 76 |
2 | Создание W… 06.05.2023 Просмотров: 119 |
3 | Исследование б… 24.04.2023 Просмотров: 67 |
Новые проекты
1 | Мы переделываем… 04.16.2023 Скачиваний: 108 Просмотров: 292 |
2 | ESP3D. Контроль… 03.04.2023 Скачиваний: 21 Просмотров: 365 |
3 | Классный Wi-… 27.02.2023 Скачиваний: 52 Просмотров: 733 |
Статистика
Всего онлайн: 3Гости: 3Пользователи: 0
Copyright https://projectalt.ru © 2023. | Мобильная версия |
Принцип работы транзистора для плавного управления светодиодной лентой
Транзистор действует как кран, только для электронов. Чем выше напряжение, подаваемое на базу биполярного транзистора или сток полевого эффекта, тем меньше сопротивление в цепи эмиттер-коллектор, тем выше ток, проходящий через нагрузку.
Подключив транзистор к аналоговому порту Arduino, присвойте ему значение от 0 до 255, измените напряжение, подаваемое на коллектор или сток, от 0 до 5В. По цепи коллектор-эмиттер будет проходить от 0 до 100% опорного напряжения нагрузки.
Для управления светодиодной лентой ардуино нужно подобрать транзистор подходящей мощности. Рабочий ток для питания светодиодного измерителя 300-500мА, для этой цели подходит биполярный силовой транзистор. Для большей длины требуется полевой транзистор.
Схема подключения светодиодной ленты к ардуино:
Управление RGB лентой с помощью Andurino
Помимо однокристальных светодиодов, Arduino также может работать с цветными светодиодами. Подключив выходы каждого цвета к аналоговым выходам Arduino, можно произвольно изменять яркость каждого кристалла, добиваясь нужного цвета свечения.
Схема подключения RGB-светодиода Arduino:
Контроллер полосы Arduino RGB устроен аналогично:
Контроллеры Arduino RGB лучше всего монтировать на полевых транзисторах.
Две кнопки можно использовать для плавной регулировки яркости. Один увеличит яркость свечения, другой уменьшит.
Скетч управления яркостью светодиодной ленты Arduino
количество светодиодов = 120; установить средний уровень яркости
недействительная установка() {
pinMode(4, ВЫХОД); установить четвертый аналоговый порт на выход
pinMode(2, ВВОД);
pinMode(4, ВВОД); установить второй и четвертый цифровые порты на ввод для опроса кнопок
}
недействительный цикл(){
button1 = цифровоеЧтение(2);
button2 = цифровоеЧтение(4);
если (button1 == HIGH) нажатие первой кнопки увеличит яркость
{
светодиод=светодиод+5;
аналоговая запись (4, светодиод);
}
если (button2 == HIGH) нажатие второй кнопки уменьшит яркость
{
светодиод = светодиод — 5;
аналоговая запись (4, светодиод);
}
При удержании первой или второй кнопки плавно изменяется напряжение, подаваемое на управляющий контакт электронного ключа. Тогда будет плавное изменение яркости.
Модули управления Ардуино
Для создания полноценного драйвера светодиодной ленты можно использовать сенсорные модули.
ИК-управление
Модуль позволяет программировать до 20 команд.
Радиус сигнала составляет ок. 8 м.
Цена комплекта 6 у.е.
По радиоканалу
Четырехканальный прибор с дальностью действия до 100м
Цена комплекта 8 у.е.
Позволяет включать освещение даже при приближении к квартире.
Бесконтактный
Датчик расстояния способен увеличивать и уменьшать яркость света движением руки.
Дальность действия до 5 м.
Цена модуля 0,3 у.е.
Главный светодиод