RSS блога
Подписка
Светодиодная лента WS2812B - Переделка устройства управления
- Цена: $27.62 (White 5m 60 IP30)
- Перейти в магазин
Я уже писал обзор о данной светодиодной ленте. Там эта лента была применена для новогодней подсветки окна. Мне понравились световые эффекты и лента не была демонтирована после новогодних праздников. В прошлом обзоре я описал схему управления данной лентой и разработанное конечное устройство. В этот раз я решил установить такую ленту на даче, чтобы обеспечить комфортный отдых и радость детишкам. В прошлый раз у меня не получилось сделать нормальное управление ик-пультом, в этот раз я улучшил устройство и решил поделится с читателями. К тому же, я давно не делился своими дачными поделками.
Характеристики ленты и ее тесты, можно посмотреть в прошлом моем обзоре. Единственное отличие: на этот раз я приобрел версию ip30 — не имеющую силиконового покрытия и предназначенную исключительно для монтажа внутри помещения.
Кратко напомню:
Сами светодиоды WS2812B представляют собой сборку из микросхемы и 3-х светодиодов (красный, синий и зеленый), благодаря специальному протоколу, микросхема принимает данные только для своей сборки, остальные данные передает дальше по цепочке. Благодаря этому, каждой отдельной сборке можно передать информацию о яркости ее каждого светодиода (красного, синего и зеленого) и получить нужный цвет.
Видим: линии отреза по контактам, собственно контакты с двух сторон: DIN — входные данные, DO — выходные данные, +5V — плюс питания, GND — минус питания, C1 — керамический конденсатор, ну и собственно сам светодиод припаянный 4-мя контактами. Направление передачи данных указано стрелочками.
Для ардуино разработана хорошая библиотека для данных сборок Adafruit_NeoPixel. Которая позволяет раскрашивать каждую сборку в свой цвет. Также у Adafruit есть библиотека для экранов из данных сборок и неплохие примеры использования. Есть и другие библиотеки для работы с данными лентами.
Здесь подробно рассмотрю устройство управления. Прошлое устройство управления эффектами было реализовано на Arduino Pro Mini и управлялось с телефона через bluetooth. Нареканий в работе устройства не было. Но хотелось более простого управления, например пульт ик, чтобы даже маленький ребенок мог спокойно создать комфортную для себя обстановку, да и просто побаловаться. Впрочем, самому тоже иногда удобнее взять пульт и включить или выключить, без телефона. Вид прошлой версии устройства:
Напомню, прошлый раз я предусмотрел ик-приемник в устройстве, однако для работы с WS2812B требуются отключенные прерывания контроллера. Если же в библиотеке отключить их запрет, то из-за большого количества мусора в эфире инфракрасного диапазона, контроллер ведет себя дергано, смотреть на такие эффекты не очень то и приятно. Проблему решил исправить кардинально: подключить второй контроллер, который будет заниматься только обработкой ик-сигналов и, при наличии реальных управляющих команд, сообщать об этом основному контроллеру, который, в свою очередь, будет менять режим. Управление по bluetooth было решено сохранить — пульт при наличии маленьких детей легко может быть утерян, а телефон, в большинстве случаев, находится рядом.
Мне понравилась идея использования разъема для наушников (3 вывода) для подачи питания на устройство управления и получения от него управляющего сигнала. Схема нового устройства (извиняюсь не сильно старался рисовать):
J1- аудиоразъем по которому подается питание на контроллер и сигнал на ленту, J2- Аппаратный Serial с питание и RESET.
Для фильтрации питания использованы конденсаторы: электролит на 470 мкФ и керамика на 100 нФ. В комментариях к прошлому обзору кто-то негодовал, что данный разъем не рассчитан на потребляемые 2А лентой. На самом деле питание приходит через этот разъем только для контроллера и обвязки, а это десятки миллиампер, с которыми вполне справиться данный разъем.
Для простоты повторения конструкции, а также потому, что имел определенный запас деталек, решил использовать dip-версии микросхем и иные элементы не для поверхностного монтажа. Согласен, что утомительно сверлить много отверстий в плате, но при наличии держателя для дримеля это совсем не долго, вот мой сверлильный агрегат:
Контроллеры выбраны следующие: ATmega328 (управление эффектами), ATtiny85 (ик-примник). Сейчас в большинстве устройств я использую sot и tqfp корпуса микросхем. Но тут вполне подошли по размерам и наличию dip-версии данных контроллеров (грубо говоря, просто остались запасы).
Печатную плату разработал в программе Sprint Layout и изготавливал технологией ЛУТ. Подробно, как я это делаю, описывал в одном из первых своих обзоров про шаровый кран. Так выглядит плата (фото вид):
Здесь кратко покажу в виде фотографий, для желающих повторить файл печатной платы.
Напечатал на китайской бумаге для термотрансфера и подготовил заготовку под плату (я сразу делал два устройства, так как размеры заготовки 7 на 10 см):
Процесс обработки утюгом:
Все готово для травления в хлорном железе:
После смывки тонера:
Разделяем близнецов с помощью дримеля:
Делил вот этим инструментом с насадкой типа отрезной диск, процесс немного пыльный, поэтому следует использовать средства индивидуальной защиты:
Мажем глицерином для лужения:
Лудить мне последнее время понравилось оплеткой для демонтажа компонентов намотанной на паяльник (особенно актуально для смд компонентов):
Результат лужения:
Производим монтаж элементов:
Флюс мне понравился под маркой KINGBO, из за отсутствия поршня и нестандартных размеров перелил его в обычный шприц:
Почти готово:
Обратная сторона до смывки флюса:
Как-то в одном из обзоров, я привел фотку тестов платы для освещения и подписал, что провода пока накиданы как попало, далее планируется их стянуть и нормально уложить, через некоторое время один из «внимательных» читателей в комментах к другому (чужому) обзору выложил эту фотку с пометкой, что я таким образом делаю монтаж. Пусть его укусит комарик совести, при чтении этих строчек — тестовая сборка и законченный монтаж — две большие разницы, так и тут это всего лишь промежуточная стадия.
Итоговые платы:
Отладка проходила с применением Arduino Nano, причем, я ее использовал и для программирования ATtiny85 и как прототип ATmega328. Для заливки программы в ATtiny85 использовалась такая схема подключения:
Вот так выглядел макет:
Для заливки программы в Arduino Nano требовалось только отключать конденсатор между выводами reset и gnd. Для визуального контроля работы ATtiny на ее вывод PB1 был подключен светодиод.
Перед началом всех действий требуется инициализировать ATtiny85 и прописать правильные фьюзы. Я использовал внутренний генератор на 8 МГц. Вот строчки из boards.txt:
Я опишу процесс сборки устройства по шагам:
На первом шаге я хотел добиться корректного поведения ATiny85 как приемника инфракрасных сигналов. Я не использовал библиотек, а считывал коды прямо с ножки контроллера. Для получения кодов применил модификацию библиотеки SoftwareSerial, позволяющей использовать только одну ножку контроллера для передачи данных. К этой ножке был прицеплен usb-ttl преобразователь, подключенный к компьютеру. Скетч получения кодов:
В результате, на все кнопки сформировалась соответствующая табличка:
Потом написал скетч обработки полученных кодов, при их получении ATtiny85 должна была выдавать на порт PB0 символы соответствующие нажатым клавишам. Проверка велась также с использованием usb-ttl преобразователя. Код готового устройства:
Далее можно было соединить PB0 ATtiny c одним из выводов ATmega328, которая будет реагировать на соответствующие символы. И переходить к формированию программы для основного контроллера. Проверку работоспособности связки контроллеров делал следующим кодом:
Итоговая программа, обеспечивающая работу конечного устройства (предупреждаю, что код очень сырой и полагаться на него нельзя, это большей частью для демонстрации возможностей платы, но никак не готовый код). Напомню, что мне пришлось переписать код формирования эффектов Adafruit_NeoPixel чтобы удалить из кода все искусственные задержки (delay) и привести программу к пошаговому контролю времени, для возможности оперативного управления эффектами. В данном случае, добавлена обработка инструкций ик-пульта. При этом, bluetooth переехал с программного сериал-порта на аппаратный.
Тестирование проводилось на коротком отрезке ленты, оставшейся с прошлых проектов:
Тесты показали адекватное поведение разработанного устройства и его стабильную работу в течении суток. Мелкая дочка тоже принимала участие в тестировании устройства. И даже оставила свой след зубов (знак качества) на экспериментальном пульте:
Данный след не влияет на качество работы пульта, благо у меня их несколько с распродажи 11.11.
Печатная плата делалась под тот же корпус, что и первая версия, поэтому осталось все это собрать в корпус. Планируется установить ленту на 2-м этаже дачного домика, обеспечив доступ детям к пульту.
В целом, могу сказать, что лента продаваемая данным продавцом, вполне качественная — нареканий в ее работе за прошедшие 3 месяца не было, могу смело рекомендовать к покупке.
На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной! Если будет интересно, расскажу еще про новые «дачные разработки».
Видео работы ленты (из прошлого обзора, так как алгоритм не менялся):
Характеристики ленты и ее тесты, можно посмотреть в прошлом моем обзоре. Единственное отличие: на этот раз я приобрел версию ip30 — не имеющую силиконового покрытия и предназначенную исключительно для монтажа внутри помещения.
Кратко напомню:
Сами светодиоды WS2812B представляют собой сборку из микросхемы и 3-х светодиодов (красный, синий и зеленый), благодаря специальному протоколу, микросхема принимает данные только для своей сборки, остальные данные передает дальше по цепочке. Благодаря этому, каждой отдельной сборке можно передать информацию о яркости ее каждого светодиода (красного, синего и зеленого) и получить нужный цвет.
Видим: линии отреза по контактам, собственно контакты с двух сторон: DIN — входные данные, DO — выходные данные, +5V — плюс питания, GND — минус питания, C1 — керамический конденсатор, ну и собственно сам светодиод припаянный 4-мя контактами. Направление передачи данных указано стрелочками.
Для ардуино разработана хорошая библиотека для данных сборок Adafruit_NeoPixel. Которая позволяет раскрашивать каждую сборку в свой цвет. Также у Adafruit есть библиотека для экранов из данных сборок и неплохие примеры использования. Есть и другие библиотеки для работы с данными лентами.
Здесь подробно рассмотрю устройство управления. Прошлое устройство управления эффектами было реализовано на Arduino Pro Mini и управлялось с телефона через bluetooth. Нареканий в работе устройства не было. Но хотелось более простого управления, например пульт ик, чтобы даже маленький ребенок мог спокойно создать комфортную для себя обстановку, да и просто побаловаться. Впрочем, самому тоже иногда удобнее взять пульт и включить или выключить, без телефона. Вид прошлой версии устройства:
Напомню, прошлый раз я предусмотрел ик-приемник в устройстве, однако для работы с WS2812B требуются отключенные прерывания контроллера. Если же в библиотеке отключить их запрет, то из-за большого количества мусора в эфире инфракрасного диапазона, контроллер ведет себя дергано, смотреть на такие эффекты не очень то и приятно. Проблему решил исправить кардинально: подключить второй контроллер, который будет заниматься только обработкой ик-сигналов и, при наличии реальных управляющих команд, сообщать об этом основному контроллеру, который, в свою очередь, будет менять режим. Управление по bluetooth было решено сохранить — пульт при наличии маленьких детей легко может быть утерян, а телефон, в большинстве случаев, находится рядом.
Мне понравилась идея использования разъема для наушников (3 вывода) для подачи питания на устройство управления и получения от него управляющего сигнала. Схема нового устройства (извиняюсь не сильно старался рисовать):
J1- аудиоразъем по которому подается питание на контроллер и сигнал на ленту, J2- Аппаратный Serial с питание и RESET.
Для фильтрации питания использованы конденсаторы: электролит на 470 мкФ и керамика на 100 нФ. В комментариях к прошлому обзору кто-то негодовал, что данный разъем не рассчитан на потребляемые 2А лентой. На самом деле питание приходит через этот разъем только для контроллера и обвязки, а это десятки миллиампер, с которыми вполне справиться данный разъем.
Для простоты повторения конструкции, а также потому, что имел определенный запас деталек, решил использовать dip-версии микросхем и иные элементы не для поверхностного монтажа. Согласен, что утомительно сверлить много отверстий в плате, но при наличии держателя для дримеля это совсем не долго, вот мой сверлильный агрегат:
Контроллеры выбраны следующие: ATmega328 (управление эффектами), ATtiny85 (ик-примник). Сейчас в большинстве устройств я использую sot и tqfp корпуса микросхем. Но тут вполне подошли по размерам и наличию dip-версии данных контроллеров (грубо говоря, просто остались запасы).
Печатную плату разработал в программе Sprint Layout и изготавливал технологией ЛУТ. Подробно, как я это делаю, описывал в одном из первых своих обзоров про шаровый кран. Так выглядит плата (фото вид):
Здесь кратко покажу в виде фотографий, для желающих повторить файл печатной платы.
Напечатал на китайской бумаге для термотрансфера и подготовил заготовку под плату (я сразу делал два устройства, так как размеры заготовки 7 на 10 см):
Процесс обработки утюгом:
Все готово для травления в хлорном железе:
После смывки тонера:
Разделяем близнецов с помощью дримеля:
Делил вот этим инструментом с насадкой типа отрезной диск, процесс немного пыльный, поэтому следует использовать средства индивидуальной защиты:
Мажем глицерином для лужения:
Лудить мне последнее время понравилось оплеткой для демонтажа компонентов намотанной на паяльник (особенно актуально для смд компонентов):
Результат лужения:
Производим монтаж элементов:
Флюс мне понравился под маркой KINGBO, из за отсутствия поршня и нестандартных размеров перелил его в обычный шприц:
Почти готово:
Обратная сторона до смывки флюса:
Как-то в одном из обзоров, я привел фотку тестов платы для освещения и подписал, что провода пока накиданы как попало, далее планируется их стянуть и нормально уложить, через некоторое время один из «внимательных» читателей в комментах к другому (чужому) обзору выложил эту фотку с пометкой, что я таким образом делаю монтаж. Пусть его укусит комарик совести, при чтении этих строчек — тестовая сборка и законченный монтаж — две большие разницы, так и тут это всего лишь промежуточная стадия.
Итоговые платы:
Отладка проходила с применением Arduino Nano, причем, я ее использовал и для программирования ATtiny85 и как прототип ATmega328. Для заливки программы в ATtiny85 использовалась такая схема подключения:
Вот так выглядел макет:
Для заливки программы в Arduino Nano требовалось только отключать конденсатор между выводами reset и gnd. Для визуального контроля работы ATtiny на ее вывод PB1 был подключен светодиод.
Перед началом всех действий требуется инициализировать ATtiny85 и прописать правильные фьюзы. Я использовал внутренний генератор на 8 МГц. Вот строчки из boards.txt:
###########################################################################
attiny85at8.name=ATtiny85 @ 8 MHz (internal oscillator; BOD disabled)
# The following do NOT work...
# attiny85at8.upload.using=avrispv2
# attiny85at8.upload.using=Pololu USB AVR Programmer
# The following DO work (pick one)...
attiny85at8.upload.using=arduino:arduinoisp
# attiny85at8.upload.protocol=avrispv2
# attiny85at8.upload.using=pololu
attiny85at8.upload.maximum_size=8192
# Default clock (slowly rising power; long delay to clock; 8 MHz internal)
# Int. RC Osc. 8 MHz; Start-up time PWRDWN/RESET: 6 CK/14 CK + 64 ms; [CKSEL=0010 SUT=10]; default value
# Brown-out detection disabled; [BODLEVEL=111]
# Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0]
attiny85at8.bootloader.low_fuses=0xE2
attiny85at8.bootloader.high_fuses=0xD7
attiny85at8.bootloader.extended_fuses=0xFF
attiny85at8.bootloader.path=empty
attiny85at8.bootloader.file=empty85at8.hex
attiny85at8.build.mcu=attiny85
attiny85at8.build.f_cpu=8000000L
attiny85at8.build.core=tiny
###########################################################################
Я опишу процесс сборки устройства по шагам:
На первом шаге я хотел добиться корректного поведения ATiny85 как приемника инфракрасных сигналов. Я не использовал библиотек, а считывал коды прямо с ножки контроллера. Для получения кодов применил модификацию библиотеки SoftwareSerial, позволяющей использовать только одну ножку контроллера для передачи данных. К этой ножке был прицеплен usb-ttl преобразователь, подключенный к компьютеру. Скетч получения кодов:
#include <SendOnlySoftwareSerial.h> // See http://forum.arduino.cc/index.php?topic=112013.0
//SoftwareSerial Serial(1,0); // Receive, Transmit (Receive not used)
SendOnlySoftwareSerial Serial1(0); // Transmit serial on Trinket/Gemma pin GPIO #0/D0
// We need to use the 'raw' pin reading methods because timing is very important here
// and the digitalRead() procedure is slower!
#define IRpin_PIN PINB // ATTiny85 had Port B pins
#define IRpin 4
#define MAXPULSE 5000 // the maximum pulse we'll listen for - 5 milliseconds
#define NUMPULSES 50 // max IR pulse pairs to sample
#define RESOLUTION 2 // // time between IR measurements
// we will store up to 100 pulse pairs (this is -a lot-)
uint16_t pulses[NUMPULSES][2]; // pair is high and low pulse
uint16_t currentpulse = 0; // index for pulses we're storing
uint32_t irCode = 0;
void setup(void) {
Serial1.begin(9600);
Serial1.println("Ready to decode IR!");
pinMode(IRpin, INPUT); // Listen to IR receiver on Trinket/Gemma pin D2
}
void loop(void) {
uint16_t numpulse=listenForIR(); // Wait for an IR Code
// Process the pulses to get a single number representing code
for (int i = 0; i < 32; i++) {
irCode=irCode<<1;
if((pulses[i][0] * RESOLUTION)>0&&(pulses[i][0] * RESOLUTION)<500) {
irCode|=0;
} else {
irCode|=1;
}
}
printcode(); // Print IR code to softwareserial
}
void printcode(void) {
uint16_t half;
half=irCode>>16; // Get first 16 bits of code
Serial1.print("0x");
Serial1.print(half, HEX); // Print upper 16 bits in hex
Serial1.println(irCode & 0xFFFF, HEX); // print lower 16 bits in hex
}
uint16_t listenForIR() { // IR receive code
currentpulse = 0;
while (1) {
unsigned int highpulse, lowpulse; // temporary storage timing
highpulse = lowpulse = 0; // start out with no pulse length
while (IRpin_PIN & _BV(IRpin)) { // got a high pulse
highpulse++;
delayMicroseconds(RESOLUTION);
if (((highpulse >= MAXPULSE) && (currentpulse != 0))|| currentpulse == NUMPULSES) {
return currentpulse;
}
}
pulses[currentpulse][0] = highpulse;
while (! (IRpin_PIN & _BV(IRpin))) { // got a low pulse
lowpulse++;
delayMicroseconds(RESOLUTION);
if (((lowpulse >= MAXPULSE) && (currentpulse != 0))|| currentpulse == NUMPULSES) {
return currentpulse;
}
}
pulses[currentpulse][1] = lowpulse;
currentpulse++;
}
}
В результате, на все кнопки сформировалась соответствующая табличка:
1 0xC03FDA25
2 0xC03FE619
3 0xC03FEC13
4 0xC03FCC33
5 0xC03FC639
6 0xC03FDEA1
7 0xC03FC43B
8 0xC03FCE31
9 0xC03FD6A9
0 0xC03FD2AD
* 0xC03FD0AF
# 0xC03FD4AB
left 0xC03FC8B7
up 0xC03FD8A7
right 0xC03FF08F
down 0xC03FEA15
ok 0xC03FC0BF
Потом написал скетч обработки полученных кодов, при их получении ATtiny85 должна была выдавать на порт PB0 символы соответствующие нажатым клавишам. Проверка велась также с использованием usb-ttl преобразователя. Код готового устройства:
#include <SendOnlySoftwareSerial.h>
#define IR_CODE_PIN PINB
#define IR_PIN 4
#define LED_PIN 1
#define SERIAL_PIN 0
#define MAXPULSE 5000 // the maximum pulse we'll listen for - 5 milliseconds
#define NUMPULSES 100 // max IR pulse pairs to sample
#define RESOLUTION 2 // time between IR measurements
uint16_t pulses[100][2];
uint16_t currentpulse = 0;
uint32_t irCode = 0;
SendOnlySoftwareSerial MySerial(SERIAL_PIN);
void setup() {
MySerial.begin(9600);
pinMode(IR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
digitalWrite(LED_PIN, LOW);
}
void loop() {
irCode=listenForIR(); // Wait for an IR Code
// Process the pulses to get our code
for (byte i = 0; i < 32; i++) {
irCode=irCode<<1;
if((pulses[i][0] * RESOLUTION)>0&&(pulses[i][0] * RESOLUTION)<500){
irCode|=0;
}else{
irCode|=1;
}
}
digitalWrite(LED_PIN, HIGH);
switch(irCode){
case 0xC03FDA25: MySerial.write('1');break;
case 0xC03FE619: MySerial.write('2');break;
case 0xC03FEC13: MySerial.write('3'); break;
case 0xC03FCC33: MySerial.write('4'); break;
case 0xC03FC639: MySerial.write('5'); break;
case 0xC03FDEA1: MySerial.write('6'); break;
case 0xC03FC43B: MySerial.write('7'); break;
case 0xC03FCE31: MySerial.write('8'); break;
case 0xC03FD6A9: MySerial.write('9'); break;
case 0xC03FD2AD: MySerial.write('0'); break;
case 0xC03FD0AF: MySerial.write('Z'); break;
case 0xC03FD4AB: MySerial.write('T'); break;
case 0xC03FC8B7: MySerial.write('L'); break;
case 0xC03FD8A7: MySerial.write('U'); break;
case 0xC03FF08F: MySerial.write('R'); break;
case 0xC03FEA15: MySerial.write('D'); break;
case 0xC03FC0BF: MySerial.write('P'); break;
}
delay(200);
digitalWrite(LED_PIN, LOW);
} // end loop
uint16_t listenForIR() { // IR receive code
currentpulse = 0;
while (1) {
unsigned int highpulse, lowpulse; // temporary storage timing
highpulse = lowpulse = 0; // start out with no pulse length
while (IR_CODE_PIN & _BV(IR_PIN)) { // got a high pulse
highpulse++;
delayMicroseconds(RESOLUTION);
if (((highpulse >= MAXPULSE) && (currentpulse != 0))|| currentpulse == NUMPULSES) {
return currentpulse;
}
}
pulses[currentpulse][0] = highpulse;
while (! (IR_CODE_PIN & _BV(IR_PIN))) { // got a low pulse
lowpulse++;
delayMicroseconds(RESOLUTION);
if (((lowpulse >= MAXPULSE) && (currentpulse != 0))|| currentpulse == NUMPULSES) {
return currentpulse;
}
}
pulses[currentpulse][1] = lowpulse;
currentpulse++;
}
}
Далее можно было соединить PB0 ATtiny c одним из выводов ATmega328, которая будет реагировать на соответствующие символы. И переходить к формированию программы для основного контроллера. Проверку работоспособности связки контроллеров делал следующим кодом:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(18, 19); // RX, TX
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() { // run over and over
if (mySerial.available()) {
char c = mySerial.read();
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
if(c=='1') Serial.println("get 1");
if(c=='2') Serial.println("get 2");
if(c=='3') Serial.println("get 3");
if(c=='4') Serial.println("get 4");
while(mySerial.available()) mySerial.read();
}
}
Итоговая программа, обеспечивающая работу конечного устройства (предупреждаю, что код очень сырой и полагаться на него нельзя, это большей частью для демонстрации возможностей платы, но никак не готовый код). Напомню, что мне пришлось переписать код формирования эффектов Adafruit_NeoPixel чтобы удалить из кода все искусственные задержки (delay) и привести программу к пошаговому контролю времени, для возможности оперативного управления эффектами. В данном случае, добавлена обработка инструкций ик-пульта. При этом, bluetooth переехал с программного сериал-порта на аппаратный.
Тестирование проводилось на коротком отрезке ленты, оставшейся с прошлых проектов:
Тесты показали адекватное поведение разработанного устройства и его стабильную работу в течении суток. Мелкая дочка тоже принимала участие в тестировании устройства. И даже оставила свой след зубов (знак качества) на экспериментальном пульте:
Данный след не влияет на качество работы пульта, благо у меня их несколько с распродажи 11.11.
Печатная плата делалась под тот же корпус, что и первая версия, поэтому осталось все это собрать в корпус. Планируется установить ленту на 2-м этаже дачного домика, обеспечив доступ детям к пульту.
В целом, могу сказать, что лента продаваемая данным продавцом, вполне качественная — нареканий в ее работе за прошедшие 3 месяца не было, могу смело рекомендовать к покупке.
На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной! Если будет интересно, расскажу еще про новые «дачные разработки».
Видео работы ленты (из прошлого обзора, так как алгоритм не менялся):
Хищника тестовая светодиодная лента мало интересует
Самые обсуждаемые обзоры
+73 |
3474
145
|
+51 |
3663
67
|
+31 |
2645
51
|
+39 |
3032
42
|
Глянул плату, глянул схему — чего-то на схеме хватает :) где стабилизатор?
Ноги возле корпуса не гнут и к плате винтом прижимают (или ставят вертикально)
Держится очень жестко, а мощность не большая, поэтому вполне приемлемый вариант
чем их меньше, тем быстрее обновление, но питание нужно подводить ко всем стыкам.
Порядка 1,2 Ампера потребляет метр этой ленты.
питание потребуется порядка 1.2 * 20 = 24 А (120Вт), учитывая потери и огрехи блоков питания, я бы взял 150-200 Вт
скажите какое значение вас устроит?
при половинной яркости — белый цвет — потребляет порядка 0.8 А на метр
вот такое устройство:
www.220-volt.ru/catalog-16876/
если буду например сверлить вольфрамовым сверлом 0.4/0.5 сверло не сломается?
Из-за люфта кроме риска сломать сверло есть еще неприятный момент, когда на выходе сверло режет контактную площадку печатной платы.
при внимательности подобных проблем удается избегать
Насчет флюса: флюс действительно очень удачный, такое впечатление, что китайцы его почему то не подделывают (тьфу*3)
Но вот шприцы все таки лучше взять под это дело заточенные, типа таких — именно этот лот брал полтора года назад.
А пару месяцев назад купил такие наконечники — стало еще лучше.
… я взял баночку RMA-559, серез пару месяцев после 218-го.
До сих пор не раскупорил — до того мне 218-й понравился.
Даже еще в запас баночку взял, первые 100 гр. уже вот-вот закончатся…
иголку я прицепил потолще, от какого-то китайского шприца, в остальном все хорошо
BL18050 18GA Blunt End Tip 0.84 1.27 Green
Это 0,84 мм внутренний диаметр.
Через 3-4 месяца приходилось менять, да и с дозировкой не все было нормально — часто выдавливал лишнее.
Пластиковые иглы практически до конца идут конусом — намного точнее дозировка.
… хотя я помню те времена, когда просто разводил канифоль в спирте и заливал в обычный медицинский шприц, с немного укороченной (по вкусу) иглой.
Если флюс там вдруг застывал — все таки спирт имеет свойство испаряться, а паял не всегда ежедневно — достаточно было прислонить иголку к жалу паяльника, и все волшебным образом прочищалось :)
попробую пластиковые — спасибо
гораздо хуже смывать какой-нибудь безотмывный флюс
я зубной щеткой смываю с изопропиловым спиртом — а потом водой и сушу обычным феном
он то тоже отмывается, но как правило только зубной щеткой и гораздо хуже канифоли
Это сейчас там написано, что для пайки радиаторов — тогда было написано про светодиоды.
Вот то, что остается после этой пасты — эту дрянь гвоздем не сразу сковырнешь. Не то что зубной щеткой…
Хотя плавится да, при низкой температуре…
И теперь вроде написано, что она еще от рентгеновских лучей защищает.
Но смыть остатки флюса после нее — невозможно.
Зато, к выской несмываемости у этого флюса есть еще одно свойство: низкая смачивающая способность.
Вот если бы наоборот…
странная штука
Сейчас он появился, товар тот же — но описание совсем другое.
А результат…
Ну, вот примерно такой:
Только не подумайте, что перегрел — температура меньше 200 была, при большей температуре после пайки с Mechanic XG-50 все белое и красивое.
И повторюсь — когда покупал, в описании лота присутствовала пайка светодиодов — для чего и купил.
Потому как слишком легко перегреть светодиод при пайке.
Barrel tip cap — 3pcs
Blunt end tip 14GA-30GA, totally 50pcs.
три шприца там с 3-мя колпачками и 50 иголок разных
так чертят только мудаки
особенно уго ик приемника и мк
я не для конкурса чертежей рисовал и не для курсовой в институте, тому кому нужно в этой схеме все понятно
Это, видимо, очередная разновидность грамма-наци.
Сортов дебилов очень много :)
ну я и намекнул тебе как бы, а отмазку всегда найти можно
поэтому и тазы клепают как попало и все остальное через жопу
и так сойдет
А без этого называть мудаком того, кто что-то сделал и опубликовал это «для всех» может только конченный мудак ;)
думал сделать родителям таймер для кухни, схему нарисовал, потом додумался спросить
оказалось нахер не надо
скоро доделаю контроллеры домофонов для пары контор и буду пилить свой для подключения в аналоговый порт роутеров, а второй voip полностью
есть дсл модемы с аналоговым телефонным портом и многие бы конторы хотели иметь возможность открывать двери с телефона
для этого надо покупать дорогие атс и к ним еще модуль и к этому модулю еще модуль сопряжения с конкретным типом домофонов на 5 или 2 провода
причем на исдн телефонах нет кнопки R и ее функции через меню есть, а это гимор
у меня такой телефон есть, поэтому я хочу сделать без этой кнопки
а воип интерфейс от одной конторы стоит 2500 евров
«Хищник хочет на дачу»
реально ему там лучше :) и не важно наличие дачной автоматики
Я на пробу взял AP102 — проще в управлении.
WS2811 — более новая версия. Данные передаются по одному проводу — DATA. Сигнала CLOCK нет, так как
WS2811 контроллер сам считает временные интервалы и надо им следовать в своём коде. Обычно питание 5 вольт. RGB светодиод так же подключен отдельно.
WS2812 — то же самое как WS2811, но встроен в светодиод (например, 5050), тем делает ленту более компактной и с возможным более плотным размещением светодиодов. Обычно питание 5 вольт.
WS2812B — как WS2812, но с отличием в том, что питания для светодиодов и самой микросхемы объединено (у всех вариантов выше питание раздельное). Микросхема-светодиод имеет 4 вывода.
то есть, есть различия принципиальные
Станочек где покупали?
Не могли бы Вы выложить все нужные файлы и библиотеки?
Заранее спасибо.
Потребление ленты составляет 18вт/м. Значит 15 метров будет 270вт.
Нужен контроллер к ней у которого будут режимы бегущей волны и который сможет управлять 15ю метрами.
Присмотрел для себя контроллер wf300. Подскажите могу ли я им управлять? Не сгорит?
github.com/FastLED/FastLED/wiki/Interrupt-problems
Такой вопрос — а зачем именно усеченная версия — SendOnlySoftwareSerial.h? Обычная не влезает в Attiny85? Думаю использовать готовую — Digispark kickstarter Micro Attiny85, но вдруг захочу еще к ней дисплейчик прикрутить и на нее строки отправлять.
сейчас мое устройство так выглядит:
Но это приемлемые потери — это же светодиоды, а не управление чем-то летающим. ;)
Еще раз спасибо за статью!