Доброго времени форумчане! Помогите понять проблему. Составил проект на макетке с использованием ws2812b Такие как на картинке: Спойлер: Фотка На макетке делал без разборке. Потом решил паять. Режу, паяю 2 светодиода, подключаю(скетч просто маргалка) Сначало нормально, примерно через 5 циклов второй светодиод загорается на полную мощность и всё встает колом! В чем может быть проблема? Спойлер: Скетч Код (C++): // Подключаем библиотеку Adafruit NeoPixel. #include "Adafruit_NeoPixel.h" // Указываем, какое количество пикселей у нашей ленты. #define LED_COUNT 12 // Указываем, к какому порту подключен вход ленты DIN. #define LED_PIN 6 // Создаем переменную strip для управления нашей лентой. Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); int delayval = 0; int r,g,b,j = 0; int i,x,y,s; void setup() { // Инициализируем ленту. strip.begin(); strip.show(); } void loop() { // Включаем все светодиоды. //for (int i=0; i < r; i++) for (x=0;x<=LED_COUNT;x++) { strip.setPixelColor(x, strip.Color( 255, 10, 10)); } // Передаем цвета ленте. strip.show(); // Ждем 500 мс. delay(1000); // Выключаем все светодиоды. for (int i = 0; i < LED_COUNT; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); // Черный цвет, т.е. выключено. } // Передаем цвета ленте. strip.show(); // Ждем 500 мс. delay(1000); // Включаем все светодиоды. //for (int i=0; i < r; i++) for (x=0;x<=LED_COUNT;x++) { strip.setPixelColor(x, strip.Color( 0, 255, 10)); } // Передаем цвета ленте. strip.show(); // Ждем 500 мс. delay(1000); }
Что-то одно неисправно - набросок кода или первый светодиод таки умер. Про контакты в паяных соединениях я не говорю - это надо сделать в первую очередь. Там частота высокая - любая микротрещина - и не работает.
Спасибо! Буду смотреть соединения. Светодиод отпадает т к проверял отдельно и первый и второй работают, а вот вместе глючат
А так работает? Код (C++): // Подключаем библиотеку Adafruit NeoPixel. #include "Adafruit_NeoPixel.h" // Указываем, какое количество пикселей у нашей ленты. #define LED_COUNT 12 // Указываем, к какому порту подключен вход ленты DIN. #define LED_PIN 6 // Создаем переменную strip для управления нашей лентой. Adafruit_NeoPixel strip = Adafruit_NeoPixel(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); int delayval = 0; int r,g,b,j = 0; int i,x,y,s; void setup() { // Инициализируем ленту. strip.begin(); strip.show(); } void loop() { // Включаем все светодиоды. for (int i = 0; i < LED_COUNT; i++) { strip.setPixelColor( i, strip.Color( 255, 10, 10)); } strip.show(); delay(1000); // Выключаем все светодиоды. Черный цвет, т.е. выключено. for (int i = 0; i < LED_COUNT; i++) { strip.setPixelColor(i, strip.Color(0, 0, 0)); } strip.show(); delay(1000); // Включаем все светодиоды. for (int i = 0; i < LED_COUNT; i++) { strip.setPixelColor(i , strip.Color( 0, 255, 10)); } strip.show(); delay(1000); }
Тогда не убит а только смертельно ранен, на видео видно что первый работает как надо а второй так как ему захочется....есть идея соединить их паралельно и посмотреть работу... Спойлер: Видео
вообщем что то не то получается. Отпоял светодиоды и соединил проводом и .....они работают....а на плате нет....=(