Приложение не видит светодиодную ленту
Я уже рассказывал про RGBW светодиодную ленту в одном из своих обзоров, теперь пришло время рассмотреть и контроллеры для них. В этом посте – контроллер с Bluetooth. Расчленёнка внутри.
Поставляется контроллер в антистатическом пакете чуть больше него самого по размеру. Кроме устройства в комплекте только гребенка 5×1 с шагом между контактами 2 мм. для подключения ленты, и инструкция с QR кодом для скачивания приложения.
Напряжение питания составляет от 5 до 24 В.
Устройство ничем не примечательно, из корпуса выглядывает только «хвост» с гнездом 5,5×2,1 мм. для подключения блока питания.
Подключение более чем незамысловатое – скачиваем приложение «Happy Lighting», включаем Bluetooth, и подключаемся к устройству. Все, можно работать! И ничего не работает.
Я скачивал приложение на следующие телефоны:
1) Samsung Galaxy A6+;
2) Samsung Galaxy Grand Prime;
3) LG G4s.
Поэтому вывод простой, дело не в телефоне (-ах), а в самом приложении.
Похоже, приложение настолько кривое, что (судя по отзывам) у десятков людей, купивших контроллер, ничего не работает.
Тогда вскрываем?
Вот и обещанная расчлененка:
Рулит всем небезызвестный контроллер ST17H26ES16 китайской компании Lenze Technology, про который я рассказывал в одном из прошлых обзоров. Кстати, с устройством из того обзора тоже были косяки. Совпадение?
Еще раз приведу распиновку микросхемы:
Помимо нее на борту стоит ATtiny45 и линейный стабилизатор HT7133-1 и 4 ключа 3400L.
Судя по плате, изготовлена она 28 мая 2018. Монтаж компонентов производился машиной, претензий к нему нет. Следы неотмытого флюса обнаружены только на проводах питания и у гребенки для подключения ленты.
О чем это я и для кого?
Я хочу рассказать как быстро и просто можно оживить ленту на базе "умных" светодиодов типа WS2811(12), SK6812, INK1003 и других без лишних затрат, имея только ардуино, библиотеку Adafruit NeoPixel, кусок ленты и час свободного времени, чтобы получить подобную занятную иллюминацию или что то еще в соответствии с вашей целью. Моя цель — не эта гирлянда или готовый скетч. Весь код в тексте и в прилагаемом скетче служит только для того, чтобы показать возможности сторонней библиотеки от компании Adafruit, накидан на скорую руку, и никак не является образцом для подражания или пособием по программированию. Он всего лишь работает с кусочком ленты и демонстрирует несложные эффекты. Вам не нужно ничего тупо повторять. Считайте это подробным справочником по нескольким функциям NeoPixel с примерами их использования в коде СИ. Посему просьба оставить мокрые тапки для своих котов)
Для кого обзор? Конечно для тех, кто только начинает знакомство со смарт-лентами и имеет представление о том, как работает ардуино и как пишется под него код.
Теперь поехали)
Достаточно популярными "умные ленты" стали уже давно. Среди них существует множество китайских клонов, собранных как на обычных диодах RGB и внешними управляющими регистрами, так и "полноценные", с использованием ws2812 со встроенным в корпус 5050 контроллером. Принцип работы практически одинаков для всех лент и матриц с SPI (последовательным) интерфейсом. Это относится к WS2811(12), SK6812, INK1003 и другим подобным драйверам. На вход первого контроллера ленты передается непрерывный поток данных, в каждом пакете которого содержится 3 или 4 (для RGBW пикселей)байта со значением цвета для каждого из 3 или 4 светодиодов в пикселе. Контроллер первого пикселя "откусывает" себе первые 3(4) байта, устанавливает свой цвет в соответствии с содержимым, а остальной поток пропускает к следующим пикселям, где происходит аналогичное "откусывание" и дальнейшая передача "из рук в руки" до тех пор, пока в потоке не возникнет пауза в 50 мкс, означающая что пора принимать данные с начала)В зависимости от типа контроллера, тактовая частота может составлять 400 или 800 кГц. Это позволяет не видеть глазу переходных процессов при реализации достаточно сложных световых эффектов. В различных контроллерах может быть разной тактовая частота, разное кодирование 0 и 1 Lo-Hi уровнями и наоборот, разное следование цвета в пакете и другие мелочи, значительно усложняющие жизнь нормальным людям при выборе средств реализации задуманной елочной гирлянды или пересвета днища в 14-ке) Ленты могут иметь и 4 вывода — два питающих, один управляющий, и один тактируемый. В моем примере лента имеет три вывода — питание 12В и управление. Так же есть моменты, связанные с питанием ленты — это опять же напряжение — 5 или 12В и ток потребления на метр. Я использовал отдельный блок питания 12В. При этом нужно учитывать, что питание ленты и ардуино никак не должны между собой быть связаны, если у вас разные напряжения питания! Только по общему проводу для передачи данных. С ардуинки нужно подключить вывод GND к минусовому проводу ленты и управляющий пин 6 (или какой назначите) ко входу ленты D in. +12В подается на ленту от своего
источника питания, ардуинка питается от своего (либо от USB).
Капиталисты из Adafruit рекомендуют сигнальный провод подключать через резистор порядка нескольких сот Ом, а на саму ленту перед первым контроллером вешать по питанию электролит 1000-2000uF, но у меня все прекрасно работает и напрямую, и через килоОмный резистор при длине шлейфа около 0,5 метра и без каких либо кондеров на ленте. Все страхи актуальны имхо при гораздо бОльших отрезках ленты, чем мой)
С подключением в общем то ничего хитрого нет. Рассмотрим программную часть.
Для управления ws2812 настоящие true-программисты напишут true-код на ассемблере и прошьют true-контроллер от фирмы майкрочип, но для простых смертных выход тоже есть! Добрые дяди из Adafruit написали замечательную библиотеку, заточенную под ардуино, при помощи которой можно на простом cи из г.на и костылей (как в моем случае) соорудить вполне себе работающий г.но код и не заботиться об организации интерфейса и не заглядывать в даташиты контроллеров лент. Об этом уже позаботились авторы библиотеки и нам не нужно ничего знать, кроме ее функций и конфигурирования двух строк в привычной среде.
Что еще следует понимать — каждый пиксель — это память. И она не бесконечна. Например ардуинка uno R3 потянет не более 500 пикселей.
uint32_t HEX_Math(uint32_t SummColor, uint32_t HEX_R, uint32_t HEX_G, uint32_t HEX_B)
SummColor+=((HEX_R << 16)|(HEX_G << 8)|(HEX_B));
return SummColor;
>
Если мы имели 0x9000FE и 0x03, 0x02, 0x01, функция вернет значение 9302FF.
Следующая "штатная" функция — uint16_t n = strip.numPixels(); — возвращает задекларированное количество пикселей в ленте. Полезна в тех случаях, когда у вас гора кода и своих функций, а применяться код будет к разным лентам с разным количеством пикселей в них. Чтобы не перебивать все в коде, следует заранее использовать в счетчиках этот вызов.
strip.setBrightness(100); — устанавливает яркость всей ленты, вызывается в setup() единожды. В коде использовать нельзя, для этого задавайте параметры яркости значениями RGB. (55,0,0) — тоже красный, но не такой яркий как (255,0,0). Полезность этого для себя нашел в том, что неудобно отлаживать код, когда рядом на столе бьет в глаз в разнобой разный злой колор с уровнями 200-255). А так — установил временно strip.setBrightness(30) и работай себе спокойно. Выше этого значения ни один диод не прыгнет, как бы вы не задавали уровень в коде. Просто все итоговые цвета пикселей будут пропорционально пересчитаны для этого значения, как самого яркого.
Подключение нескольких лент к разным выходам ардуины — тоже не вопрос. Пишем в заголовке еще одну ленту с нужным количеством пикселей и пин управления.
Adafruit_NeoPixel strip_a = Adafruit_NeoPixel(24, 5);
Adafruit_NeoPixel strip_b = Adafruit_NeoPixel(45, 6);
Я этим не пользовался, но сложного в этом ничего не вижу.
Остается файл Adafruit_NeoPixel.h — заголовок библиотеки, но в нем нам искать нечего. Там прописаны конфигурации пинов, смещения цветов для RGB и RGBW, частоты для разных типов лент, объявлены уже рассмотренные нами функции а так же различные типы и константы.
keywords.txt содержит перечень имен функций и констант.
Это собственно все, что нам дает библиотека Adafruit NeoPixel — вполне достаточно для написания чего нибудь светящегося, мерцающего и переливающегося)
Теперь, имея некий "справочник" можно прописать параметры и начать кодить что нибудь свое, родное)
//***********************************************************************************************
void setup() //Это мы уже рассмотрели выше, забежав малость вперед, зато теперь все ясно и понятно —
strip.begin();
strip.show();
strip.setBrightness(55); // Выше писал для чего и как)
// В процессе кодинга-отладки полезными окажутся:
Serial.begin(9600); // Это для вывода значений переменных в порт. Интерфейс тут — "Инструменты" --> "Монитор порта".
// Пишем в коде Serial.print(Count);, ставим код на паузу delay(5000), и 5 секунд зрим значение
// переменной Count и осознаем почему у нас она не считает что либо или считает не так)
randomSeed(analogRead(0)); // инициализация аналогового входа для получения с него псевдослучайных значений.
// Тоже может пригодиться
>
//***********************************************************************************************
void loop() // Здесь непосредственно будет выполняться код и вызываться функции, код которых вы напишите за пределами петли
SetMyColor(0, 0, 155); // Давай покрасим эту ленту в синий цвет) — вызываем функцию 1
delay(3000);
TurnOffSecondPixel(); // И погасим каждый второй) — вызываем функцию 2
delay(3000);
>
//***********************************************************************************************
void SetMyColor(uint8_t r, uint8_t g, uint8_t b) //Тело функции 1
for(uint8_t i=0; i<strip.numPixels(); i++) //В цикле считаем пиксели
strip.setPixelColor(i, r, g, b); //И красим их
strip.show(); //За циклом включаем цвета
>
//***********************************************************************************************
void TurnOffSecondPixel() //Тело функции 2
for(uint8_t i=0; i<strip.numPixels(); i++) //В цикле считаем пиксели
if(i%2)strip.setPixelColor(i, 0, 0, 0); //И тушим каждый второй (0,0,0)
>
strip.show(); //За циклом включаем что осталось
>
//***********************************************************************************************
По ссылке под видео скетч содержит больше десятка функций, реализованных с помощью библиотеки Adafruit NeoPixel. Кроме этого в примерах к библиотеке так же есть несколько интересных реализаций, на основе которых можно строить свои занятные вещи.
Беспроводными технологиями сегодня уже никого не удивишь. В каждом доме есть роутер, ноутбук, смартфон и даже телевизор, которые работают по WiFi. А вот мир умных бытовых приборов еще не так повсеместно распространен и только-только начинает вселяться в наше жилье. Тем интереснее будет нам сегодня посмотреть на один из примеров реализации беспроводного управления светом в помещении c помощью комплекта Tuya от компании Arlight. Мы подключим светодиодную MIX-ленту (LED, 24V) и выключатель к смартфону и Яндекс Алисе, чтобы управлять по вай-фай.
Серия устройств Arlight Tuya
Набор беспроводного света Arlight
То, что я сейчас покажу, это самый простой сценарий использования комплекта Tuya для управления светодиодной лентой с изменяемой цветовой температурой и любого источника света 230в, подключаемого через релейный модуль. Он состоит из:
- Панели выключателей
- Релейного модуля
- Диммера с блоком питания
- Устройства 230В, подключаемого к реле: это может быть как бытовая техника, так и светильник, например диодная RGB, LED или MIX-лента в нашем случае
Для начала быстренько пройдемся отдельно по этим аксессуарам
Панель выключателей
Настенная панель с двумя клавишами, которая отвечает за включение и выключение светового прибора. А также за смену режима работы при его наличии у источника света.
Для его установки и подключения не требуются провода. Он работает совместно с другими модулями по RF433MHz, а питание получает от встроенного кинетического источника питания, то есть при нажатии на клавишу, вырабатывается энергия для работы панели.
Поскольку не требуется никакого внешнего питания, панель можно смонтировать на любую поверхность, вплоть до стеклянной столешницы перед любимым креслом. Даже отверстия в стене не нужно будет проделывать, так как в комплекте с ним идет двусторонний скотч.
Диммер (блок питания для диодной ленты)
Диммер — это модуль, который реализует на практике смену режимов работы светодиодной ленты по команде с выключателя, смартфона или голосового помощника (через беспроводное соединение).
Диммер совмещен с адаптером питания, благодаря которому входной ток в 230V преобразуется в 24 вольта для LED ленты.
Реле (wifi контроллер)
Беспроводное реле которое разрывает цепь и позволяет управлять включением и выключением устройства по WiFi.
Светодиодная MIX-лента Arlight
Светодиодная MIX-лента используется как для декоративной подсветки интерьера, так и для основного освещения. Она дает возможность выбирать нужный оттенок белого света в широком диапазоне от теплого (2800К) до холодного (6500К) что позволяет позволяет создать освещение под любое настроение. Теплый для вечернего уюта, холодный для утреннего пробуждения.
Как подключить светодиодную ленту Arlight к беспроводному выключателю?
Подключение всех компонентов между собой не требует обладания какими-либо специальными навыками электрика и под силу каждому.
Если все сделали правильно, то одна кнопка будет работать на включение/выключение и смену яркости света (диммирование), а вторая на смену цветовой температуры.
В случае, если система не функционирует, то проверьте плотность соединения проводов в клеммах. А также попробуйте переставить местами черные провода светодиодной ленты в коннекторах диммера Arlight
Для привязки реле нужно нажать один раз на кнопку на самом реле
После чего нажать на кнопку на выключателе. Теперь этой же кнопкой можно включать и отключать реле.
Управление лентой Arlight с телефона через мобильное приложение
По завершении установки и запуска программы нас попросят принять политику конфиденциальности
И завести учетную запись в сервисе. Для этого указываем электронную почту
И вводим код подтверждения, отправленный на email
После чего задаем пароль для авторизации
Добавление светильника
Приложение попросит ввести актуальные данные от WiFi сети для подключения к роутеру. Поддерживается только диапазон 2.4 ГГц, поэтому у вас должна иметься рабочая сеть на данной частоте.
Управление светом
Активация и отключение ленты производится через меню диммера.
Здесь можно назначить таймер
Или установить необходимую яркость и выбрать цветовую температуру (оттенок белого света)
Управление светодиодной лентой с помощью Алисы
Но какая современная система умного дома не поддерживает работу с голосовым ассистентом? Правильно, никакая. Вот и в Tuya от Arlight реализована поддержка Алисы. А это означает, что при наличии Яндекс Станции можно управлять умной светодиодной лентой при помощи голосовых команд. А это избавляет от лишних действий по поиску смартфона, запуску приложения и поиска в нем нужных настроек.
Подключение к Яндекс Станции
Авторизуемся под своей учетной записью и даем разрешение на подключение к Яндекс Станции
В результате в списке у нас появится два новых прибора.
Управление через колонку Яндекс Станция со смартфона
С главного экрана большой кнопкой питания мы можем включать и выключать ленту.
Также есть шкала для изменения яркости света
И отдельное меню выбора тона от теплого до холодного белого
Команды для Алисы
Точно также можно привязать к мобильному приложению или умной колонке любое из более тысячи моделей светильников в линейке Arlight на любой вкус и создать полноценный умный свет по всему дому, на террасе и приусадебном участке с управлением через смартфон или голосового помощника.
Отзыв
Итак, серия умных устройств Tuya от Arlight несомненно интересная стоящая внимания. К основным достоинствам системы можно отнести:
Сценариев применения как в офисе, так и в быту огромное количество, поэтому каждый сможет найти применение набору гаджетов Arlight Tuya в соответствии со своими задачами.
Видео
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.
Последние посетители 0 пользователей онлайн
Но ведь он может купить 6 дифференциальных пробников да, на 100МГц. А потом он может найти программиста, кторый напишет ему программу, может даже в матлабе, что выдаст ему его хотелку в одно окошко. Жаль только порядок цен его не устроит.
Люди добрые, помогите с печаткой под два транзистора и схемой. Скачал все печатки и все схемы с форума и ужаснулся в разбежностях. Там резисторы не все, там конденсаторы последовательно на 250В, там ещё какая-то релюшка на 5В. трансформатор уже мотаю на E70 18 первички 2*1,5мм и 6 вторички ПВ3 16мм2 переодетый в термоусадку. Детали заказывал по схеме с первого поста. Дошёл до печатки и запутался основательно. Может кто-то рисонуть плату для не опытного? В идеале, хочется отказаться от самопитания и поставить БП 24В. Вентиль есть хороший на 220В. ШИМ есть 3844 и 2845 (предпочтительнее). Спасибо.
Из этого подозреваю что толком, или осознано информацию не особо искали, из того что нашлось с ходу по гуглу в первых же ссылках: - датчик именно магниторезестивный. - датчики проверяются осциллографом чуть ли не на коленке. - датчик при проверке требует внешнее питание. - сигнал датчика токовый и для проверки требует сборки небольшой согласующей схемы. - конкретные схемы найти можно как и в статьяю так и по запросу "замер тока осциллографом".
Проверить работоспособность Д,Х. можно безо всякого сервиса!
Я имею в виду всю протяжённость проводки. Возможно, где-то по трассе или в какой-нибудь колодке что-нибудь подкорачивает. Блок управления не видит датчик, но и не видит ни обрыва, ни полного замыкания. Поэтому и выдаёт ошибку вне зависимости от того, подключен ли этот датчик. На отключение датчика с исправной проводкой он реагирует иначе, сам же видишь.
Читайте также: