Светодиодная лента 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:

###########################################################################

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 месяца не было, могу смело рекомендовать к покупке.

На этом заканчиваю. Спасибо тем кто дочитал до конца, надеюсь кому-то информация окажется полезной! Если будет интересно, расскажу еще про новые «дачные разработки».

Видео работы ленты (из прошлого обзора, так как алгоритм не менялся):


Хищника тестовая светодиодная лента мало интересует

Планирую купить +34 Добавить в избранное +74 +111
+
avatar
  • ksiman
  • 04 апреля 2016, 17:47
+1
Идея двухконтроллерного управления хороша.
Глянул плату, глянул схему — чего-то на схеме хватает :) где стабилизатор?
+
avatar
  • yurok
  • 04 апреля 2016, 17:50
+1
стабилизатор на плате для «возможного» питания иных устройств которым тебуется 3.3 В. В данной реализации не используется, поэтому рисовать на схеме не стал
+
avatar
  • ksiman
  • 04 апреля 2016, 17:52
+2
А, понятно, в резерве. На будущее — элементы в таком корпусе таким образом не устанавливают.
Ноги возле корпуса не гнут и к плате винтом прижимают (или ставят вертикально)
+
avatar
  • yurok
  • 04 апреля 2016, 17:54
+1
на случай если мне потребуется управлять лентой по сети, или через радиомодуль nrf, пины spi специально не задействовал.

Держится очень жестко, а мощность не большая, поэтому вполне приемлемый вариант
+
avatar
-1
«Тема сисек не раскрыта». Ибо «я тут кое че сделал, но результат не покажу». Видео давайте!!!
+
avatar
  • yurok
  • 04 апреля 2016, 17:49
0
видео есть в прошлом обзоре
+
avatar
+2
Новый обзор — новое видео!!! ;) Посмотрите в сторону msgeq7, чтобы было под музыку, схемка не сложная, а результат будет просто фееричный!!!
+
avatar
+1
Спасибо автору за DIY! Всегда уважаю то, что делается своими руками. За обзор плюс!!!
+
avatar
  • yurok
  • 04 апреля 2016, 18:08
0
спасибо
+
avatar
  • DrinK
  • 04 апреля 2016, 18:18
+1
Подскажите- какая максимально возможная длина ленты возможна? понятно что в бухте 5 метров, можно обьединить 3-4 бухты и управлять с одного контроллера, чтобы эффект был на всю длину?
+
avatar
  • yurok
  • 04 апреля 2016, 18:22
0
Всего каскадом может объединяться 1024 микросхем, информация в которых может обновляться 30 раз в секунду.
чем их меньше, тем быстрее обновление, но питание нужно подводить ко всем стыкам.
Порядка 1,2 Ампера потребляет метр этой ленты.
+
avatar
  • DrinK
  • 04 апреля 2016, 19:25
0
спасибо. то что потеря тока идет вкурсе.
+
avatar
  • yurok
  • 04 апреля 2016, 19:26
0
в данной ленте 60 микросхем на метр — соответственно 300 на все 5 метров (4 бухты можно соединить)
питание потребуется порядка 1.2 * 20 = 24 А (120Вт), учитывая потери и огрехи блоков питания, я бы взял 150-200 Вт
+
avatar
  • undead
  • 04 апреля 2016, 22:07
0
Скажите, сколько тока потребляет 1 метр ленты на минимальной яркости? Просто хочу понять хватит ли мощности для питания 5 метровой ленты из 30 led на метр, если питать 2 амперным зарядником от смартфона…
+
avatar
  • yurok
  • 04 апреля 2016, 23:13
0
минимальная яркость это — 0, ответ не сколько :)

скажите какое значение вас устроит?
при половинной яркости — белый цвет — потребляет порядка 0.8 А на метр
+
avatar
  • Dimon_
  • 04 апреля 2016, 18:24
0
Вопрос, прежде всего, в потребляемом токе.
+
avatar
0
отличный обзор!
+
avatar
+1
Понравилось! В закладки. Плюсую.
+
avatar
  • Psalmir
  • 04 апреля 2016, 18:30
0
Пес — лабрадор?
+
avatar
  • yurok
  • 04 апреля 2016, 18:31
+1
Золотистый ретривер, близкая порода к лабродору — но шерсть подлиннее и еще ряд моментов
+
avatar
  • Psalmir
  • 04 апреля 2016, 22:52
0
Красивый пес.
+
avatar
  • emil_w
  • 05 апреля 2016, 02:16
+1
Что золотистый, что лабрадор — оба ретриверы. Но золотистый отличается от остальных ретриверов как шерстью, так и характером. У меня лабрадор. Но «плюс» не за это ;), а за прямые руки, направленные в правильное русло. Вашим детям очень повезло с «рукастым папой».
+
avatar
  • stail
  • 04 апреля 2016, 18:42
+3
Автор молодец, хороший обзор, выложены скетчи, виден системный подход. Хотелось бы раскрыть тему сисек, ой нет, держателя дремеля,
+
avatar
  • yurok
  • 04 апреля 2016, 18:47
0
спасибо!
вот такое устройство:
www.220-volt.ru/catalog-16876/
+
avatar
0
при опускании/поднятии боковой люфт есть?
если буду например сверлить вольфрамовым сверлом 0.4/0.5 сверло не сломается?
+
avatar
  • yurok
  • 04 апреля 2016, 19:44
0
очень небольшой люфт есть, но вольфрамовое сверло не ломается если плату крепко прижать к дощечке. На больших оборотах все проходит отлично. Поломка сверла обычно происходит из-за движения платы. У меня одного сверла хватает в среднем на 300-400 дырочек. Диаметр 0.8. Еще важные моменты: китайские сверла бывают кривыми или дефектными с завода — ломаются на 3-4 дырочке, а то и на 1-ой. Чтобы устранить люфт, нужно туго прикрутить дримель к станине, но не сорвать пластиковую резьбу
+
avatar
0
Понятно, спасибо.
Из-за люфта кроме риска сломать сверло есть еще неприятный момент, когда на выходе сверло режет контактную площадку печатной платы.
+
avatar
  • yurok
  • 04 апреля 2016, 20:01
0
в любом случае, иные средства гораздо хуже :)
при внимательности подобных проблем удается избегать
+
avatar
  • Nasnas
  • 04 апреля 2016, 20:00
+1
Фигасе… Круто, че.
+
avatar
  • DDimann
  • 04 апреля 2016, 20:10
+1
Однозначный плюс.

Насчет флюса: флюс действительно очень удачный, такое впечатление, что китайцы его почему то не подделывают (тьфу*3)
Но вот шприцы все таки лучше взять под это дело заточенные, типа таких — именно этот лот брал полтора года назад.
А пару месяцев назад купил такие наконечники — стало еще лучше.
… я взял баночку RMA-559, серез пару месяцев после 218-го.
До сих пор не раскупорил — до того мне 218-й понравился.
Даже еще в запас баночку взял, первые 100 гр. уже вот-вот закончатся…
+
avatar
  • yurok
  • 04 апреля 2016, 20:16
0
угу, из того что брал этот наиболее удачный

иголку я прицепил потолще, от какого-то китайского шприца, в остальном все хорошо
+
avatar
  • DDimann
  • 04 апреля 2016, 20:40
0
Когда пользовался железными иглами, у меня стояла обычно
BL18050 18GA Blunt End Tip 0.84 1.27 Green
Это 0,84 мм внутренний диаметр.
Через 3-4 месяца приходилось менять, да и с дозировкой не все было нормально — часто выдавливал лишнее.
Пластиковые иглы практически до конца идут конусом — намного точнее дозировка.

… хотя я помню те времена, когда просто разводил канифоль в спирте и заливал в обычный медицинский шприц, с немного укороченной (по вкусу) иглой.
Если флюс там вдруг застывал — все таки спирт имеет свойство испаряться, а паял не всегда ежедневно — достаточно было прислонить иголку к жалу паяльника, и все волшебным образом прочищалось :)
+
avatar
  • yurok
  • 04 апреля 2016, 20:42
0
то еще удовольствие канифоль с платы смывать

попробую пластиковые — спасибо
+
avatar
0
канифоль смывать еще нормально, бросаешь в спирт и все
гораздо хуже смывать какой-нибудь безотмывный флюс
+
avatar
  • yurok
  • 04 апреля 2016, 21:02
0
например какой?

я зубной щеткой смываю с изопропиловым спиртом — а потом водой и сушу обычным феном
+
avatar
0
например nc-d500
он то тоже отмывается, но как правило только зубной щеткой и гораздо хуже канифоли
+
avatar
  • DDimann
  • 04 апреля 2016, 21:53
0
например какой?
Я как то взял полкило паяльной пасты низкотемпературной — температура плавления 138 градусов — хотел попробовать ей светодиоды паять на звезды.
Это сейчас там написано, что для пайки радиаторов — тогда было написано про светодиоды.
Вот то, что остается после этой пасты — эту дрянь гвоздем не сразу сковырнешь. Не то что зубной щеткой…
Хотя плавится да, при низкой температуре…
И теперь вроде написано, что она еще от рентгеновских лучей защищает.
Но смыть остатки флюса после нее — невозможно.
Зато, к выской несмываемости у этого флюса есть еще одно свойство: низкая смачивающая способность.
Вот если бы наоборот…
+
avatar
  • yurok
  • 04 апреля 2016, 21:55
0
там написано, что не надо мыть — а еще на банке свинец перечеркнут, а в названии присутствует…
странная штука
+
avatar
  • DDimann
  • 05 апреля 2016, 00:29
0
После того, как я оставил не очень хороший отзыв, лот из продажи пропал.
Сейчас он появился, товар тот же — но описание совсем другое.
А результат…
Ну, вот примерно такой:

Только не подумайте, что перегрел — температура меньше 200 была, при большей температуре после пайки с Mechanic XG-50 все белое и красивое.
И повторюсь — когда покупал, в описании лота присутствовала пайка светодиодов — для чего и купил.
Потому как слишком легко перегреть светодиод при пайке.
+
avatar
0
я для ЛТИ-120 взял шприц и нацепил на него катетер. он пластиковый и тонкий. удобно.
+
avatar
0
4 бакса за 1 шприц?! Мсье знает толк в валютных извращениях :)
+
avatar
  • yurok
  • 04 апреля 2016, 21:21
0
10CC graduated syringe with plunger — 3pcs
Barrel tip cap — 3pcs
Blunt end tip 14GA-30GA, totally 50pcs.

три шприца там с 3-мя колпачками и 50 иголок разных
+
avatar
0
Тады ок.
+
avatar
-17
+
avatar
  • yurok
  • 04 апреля 2016, 20:17
+6
по моему, эти люди пишут комменты подобные вашим.
я не для конкурса чертежей рисовал и не для курсовой в институте, тому кому нужно в этой схеме все понятно
+
avatar
+1
Да не парьтесь вообще.
Это, видимо, очередная разновидность грамма-наци.
Сортов дебилов очень много :)
+
avatar
-9
+
avatar
+8
Так не стесняйтесь, перечертите, как считаете правильным и выложите сюда!

А без этого называть мудаком того, кто что-то сделал и опубликовал это «для всех» может только конченный мудак ;)
+
avatar
-5
+
avatar
0
ну я и намекнул тебе как бы, а отмазку всегда найти можно
;)
+
avatar
0
порылся в файлах, нашел чудом уцелевший файл
думал сделать родителям таймер для кухни, схему нарисовал, потом додумался спросить
оказалось нахер не надо
+
avatar
0
вот еще вспомнил недавнее — реверс трубки домофона и у двери
скоро доделаю контроллеры домофонов для пары контор и буду пилить свой для подключения в аналоговый порт роутеров, а второй voip полностью



+
avatar
  • Z2K
  • 06 апреля 2016, 06:37
0
а второй voip полностью
— планируете сделать голосовой интернет-интерфейс для домофона. В ос роутера на софтфоне?
+
avatar
0
там 95% уже сделано китаезами и красноглазиками, надо только разработать плату для подключения кнопок и динамика у двери
+
avatar
0
ось не в роутере, там отдельное устройство
есть дсл модемы с аналоговым телефонным портом и многие бы конторы хотели иметь возможность открывать двери с телефона
для этого надо покупать дорогие атс и к ним еще модуль и к этому модулю еще модуль сопряжения с конкретным типом домофонов на 5 или 2 провода

причем на исдн телефонах нет кнопки R и ее функции через меню есть, а это гимор
у меня такой телефон есть, поэтому я хочу сделать без этой кнопки

а воип интерфейс от одной конторы стоит 2500 евров
+
avatar
  • mst12
  • 04 апреля 2016, 22:29
+5
так чертят только м… ки
А так чертят кондитеры :)
+
avatar
  • kuzv
  • 04 апреля 2016, 20:42
+1
Хищника тестовая светодиодная лента мало интересует
«Хищник хочет на дачу»
+
avatar
  • yurok
  • 04 апреля 2016, 20:44
0
скоро уже перевезу его туда :)
реально ему там лучше :) и не важно наличие дачной автоматики
+
avatar
+1
Собакен зачетный )
+
avatar
  • yurok
  • 04 апреля 2016, 21:36
0
спасибо )
+
avatar
  • x893
  • 04 апреля 2016, 22:14
+1
Обзор нормальный.
Я на пробу взял AP102 — проще в управлении.
+
avatar
0
*APA102
+
avatar
  • x893
  • 05 апреля 2016, 10:45
0
Да — выпала одна буква :) Два провода для управления нужно, но обычный SPI.
+
avatar
0
Да я знаю, сам с такими сейчас играюсь
+
avatar
  • x893
  • 05 апреля 2016, 13:20
0
Я тоже поморгал, Удобнее конечно с SPI чем у WS2811. В куртку вделал себе на спину моргалки. На велике помогает ездить.
+
avatar
  • Rzzz
  • 04 апреля 2016, 22:15
0
Между WS2812 и WS2801 принципиальные различия есть? А то с очередной зряплаты рассчитываю Raspberry PI заказать, и с нее поиграться ленточками.
+
avatar
  • yurok
  • 04 апреля 2016, 23:17
+3
WS2801 — самая первая версия. Данные передаются по двум сигнальным проводам — DATA и CLOCK. Питание у них обычно 12 вольт. RGB светодиод подключен отдельно.

WS2811 — более новая версия. Данные передаются по одному проводу — DATA. Сигнала CLOCK нет, так как
WS2811 контроллер сам считает временные интервалы и надо им следовать в своём коде. Обычно питание 5 вольт. RGB светодиод так же подключен отдельно.

WS2812 — то же самое как WS2811, но встроен в светодиод (например, 5050), тем делает ленту более компактной и с возможным более плотным размещением светодиодов. Обычно питание 5 вольт.

WS2812B — как WS2812, но с отличием в том, что питания для светодиодов и самой микросхемы объединено (у всех вариантов выше питание раздельное). Микросхема-светодиод имеет 4 вывода.

то есть, есть различия принципиальные
+
avatar
  • Rzzz
  • 05 апреля 2016, 00:11
+1
Спасибо, от меня плюсик. Полазил по странице Hyperion-а, вроде для 2812 библиотека есть, будем пробовать.
+
avatar
-1
Автор, почему вы называете дремель дрИмелем?
+
avatar
  • yurok
  • 05 апреля 2016, 09:26
+1
помоему это не принципиально
+
avatar
  • sav13
  • 05 апреля 2016, 11:02
0
Кстати, о «дримеле».
Станочек где покупали?
+
avatar
  • yurok
  • 05 апреля 2016, 11:14
0
я в леруа мерлен, но выше ссылку давал на 220 вольт
+
avatar
  • max50a5
  • 08 января 2017, 14:37
0
Здравствуйте, yurok!
Не могли бы Вы выложить все нужные файлы и библиотеки?
Заранее спасибо.
+
avatar
0
Здравствуйте. Купил светодиодную ленту w2812b — 60 светодиодов на метр 3 мотка по пять метров на алиэкспресс.
Потребление ленты составляет 18вт/м. Значит 15 метров будет 270вт.
Нужен контроллер к ней у которого будут режимы бегущей волны и который сможет управлять 15ю метрами.
Присмотрел для себя контроллер wf300. Подскажите могу ли я им управлять? Не сгорит?
+
avatar
  • yurok
  • 13 марта 2017, 00:48
0
питание и контроллер — не связаны — контроллер никак не влияет на питание — разве что сам немного совсем потребляет и передает управляющие сигналы на ленту
+
avatar
  • CCat
  • 16 декабря 2017, 00:39
0
Как здорово, что я набрел на эту тему, ибо столкнулся с тем же конфликтом — w2812b + IR. Хотя на странице разработчика FastLED говорится, что проблема в прерываниях.
github.com/FastLED/FastLED/wiki/Interrupt-problems
Такой вопрос — а зачем именно усеченная версия — SendOnlySoftwareSerial.h? Обычная не влезает в Attiny85? Думаю использовать готовую — Digispark kickstarter Micro Attiny85, но вдруг захочу еще к ней дисплейчик прикрутить и на нее строки отправлять.
+
avatar
  • yurok
  • 17 декабря 2017, 03:05
0
в данном случае односторонняя связь поэтому в полной смысла не было, памяти там реально не много
сейчас мое устройство так выглядит:


+
avatar
  • CCat
  • 18 декабря 2017, 15:00
0
Круто! Ну я просто аккуратно припаял IR к выводу P2 (там и прошивке не мешает и работает нормально) Digispark Attiny85. Но, кстати, бешеная скорость отправляемого с ардуино на светодиодную линейку иногда мешает даже приему одного симовола по SoftSerial (в 5-10% символ доходит искаженным, видимо, не все биты успевают проскочить :))
Но это приемлемые потери — это же светодиоды, а не управление чем-то летающим. ;)
Еще раз спасибо за статью!
+
avatar
  • CCat
  • 21 декабря 2017, 01:25
0
… а потом я понял, что SoftwareSerial в моем случае при наличии Arduino Nano как принимающей команды от Attiny85 не нужен и перешел на обычный аппаратный Serial. :)
+
avatar
  • Igor_L
  • 02 декабря 2018, 15:20
0
Как ленточка поживает? Мои все три горят кусочками. Напряжение не выше 5 вольт, одна ленточка вообще раз три месяца включалась, сейчас в двух местах нужно участки менять. :(
+
avatar
  • yurok
  • 20 декабря 2018, 09:16
0
отдельные диоды заменил — а так норм