тоесть только замена ардуинки? тогда вопрос с ambibox в силе
Вид для печати
тоесть только замена ардуинки? тогда вопрос с ambibox в силе
Подскажите, решена проблема совместимости Arduino Nano V3 с чипом CH340G? Или обязательно надо искать с чипом FTDI?
Визуальное отличие чипов:
FTDI (цена от 400 руб)
Вложение 18332
CH340G (цена от 200 руб)
Вложение 18331
Ардуину с чипом FTDI нужно только для использования с программой Pixelite
Попробуй тут:
http://www.reddit.com/r/Lightpack/co...lly_lightpack/
Хотя ардуинка из магазина в подписи Chip все же лучше (сам купил и это не реклама), почитай список изменений в плате и прикинь удобство работы и срок службы, imho/
Можно ли использовать вместо Arduino NANO Arduino Uno R3?
(Версия R3 отличается от предыдущих версий конвертером USB-UART на базе ATmega16U2 вместо ранее используемых чипов 8U2 и FTDI)
Вложение 18362
если можно, то какие контакты необходимо использовать, какие библиотеки и т.п. для подключения к ленте WS2812B?
Вложение 18363Вложение 18364
Для программы Pixelight нет
Уважаемый Chip! Наконец пришла по почте плата из CarMonitor. Подключил, дрова установились, плата села на COM3, красный диод питания горит, синий диод(L) мигает с периодом 1 сек. При попытке залить измененный пример Blink (10 сек вместо 1 сек) пишет порт недоступен. Как найти заведомо свободный COM-порт? Диоды так и должны гореть? Из вашего архива всё содержимое папки pixelight_sinc (4 файла) нужно скопировать в папку компилятора C:\Program Files (x86)\Arduino\libraries\CyberLib ?
Вложение 18380Вложение 18381Вложение 18382
Драйвера какой версии?
Порт какой программой занят?
Красный диод, это питание
Синий диод мигает 1 раз в сек., это залит тестовый скетч Blink(перед продажей проходит проверку)
папку с программой можете расположить где угодно
Приобрел на Али 5 метров ленты на WS2812B..
Перед приклеиванием на телевизор(в ожидании Arduino Nano c FTDI) решил погонять ленту в качестве гирлянды с управлением от Arduino UnoR3… (питание брал только от Arduino подключенной к USB порту компьютера), если не считать зависаний ардуино из-за большой нагрузки, все работало замечательно(а если не включать ярко то и зависаний не случалось)!
Поправляя рукой провисание ленты, я статическим электричеством ударил один из диодов… В результате все диоды после «ударенного» перестали гореть…
я не отрезая ленту, пытался соединить DI и DO в обход «ударенного» диода, но диоды не горят…
Я сжег все диоды?
Нельзя запустить ленту в «обход» поврежденного диода не вырезав его «физически»?
Как поступить? для полного обклеивания телевизора, мне теперь не хватает 3-5 диодов…
Разобрался, спасибо. Обновил дрова с оффсайта, сказал файрволу не гавкать на порт, правильно выставил тип платы в компиляторе, все тестовые примеры проверил. При компиляции основного скетча ругается на отсутствие CyberLib.h, вот я спрашивал, нужно самому создать каталог CyberLib в /libraries компилятора и скопировать туда CyberLib.cpp, CyberLib.h, keywords.txt ? Этого будет достаточно, чтобы компилятор увидел библиотеку? Заранее спасибо.
Разобрался, всё работает! Перечитал ветку ещё раз, внимательно. Повторение - мать учения! ;)
Уважаемый chuuvee! Можете поделиться вашими библиотеками для этого скетча? Перепробовал все варианты с гитхаба, ругается. Себе собрал на WS2801 и Pixelight, а друг купил WS2812B, хочу помочь ему собрать схему. Спасибо заранее.;)
dennizinned@gmail.com - моя почта.
измените скетч таким образом
библиотека FastLED отсюдаЦитата:
#include "FastSPI_LED2.h"
#define NUM_LEDS 60
Более новая FastLed 3.0.3 тут (в набор входят очень красивые демки, особенно Noise нравится)
Удалось заставить работать подсветку "аля Ambilight" на "Arduino UNOR3" и лентe WS2812B
Использую программу захвата AmbiBox 2.1.7, в качестве устройства выбираю "Adalight"
В Arduino заливаю вот такой скетч:
#define PIN 11 <-- указать к какому пину подключен контакт DI лентыКод://////////
//
// Arduino interface for the use of ws2812 operated LEDs
// Uses Adalight protocol and is compatible with Boblight, Prismatik etc
// "Magic Word" for synchronisation is 'Ada' followed by LED High, Low and Checksum
//
#include <FastLED.h>
///// User definitions /////
// Define the number of LEDs
#define NUM_LEDS 30
// Define SPI Pin
#define PIN 11
// Baudrate, higher rate allows faster refresh rate and more LEDs (defined in /etc/boblight.conf)
#define serialRate 115200
// Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
// initialise LED-array
CRGB leds[NUM_LEDS];
void setup()
{
FastLED.addLeds<WS2812B, PIN, GRB>(leds, NUM_LEDS);
// initial RGB flash
LEDS.showColor(CRGB(255, 0, 0));
delay(500);
LEDS.showColor(CRGB(0, 255, 0));
delay(500);
LEDS.showColor(CRGB(0, 0, 255));
delay(500);
LEDS.showColor(CRGB(0, 0, 0));
Serial.begin(serialRate);
Serial.print("Ada\n"); // Send "Magic Word" string to host
}
void loop() {
// wait for first byte of Magic Word
for(i = 0; i < sizeof prefix; ++i) {
waitLoop: while (!Serial.available()) ;;
// Check next byte in Magic Word
if(prefix[i] == Serial.read()) continue;
// otherwise, start over
i = 0;
goto waitLoop;
}
// Hi, Lo, Checksum
while (!Serial.available()) ;;
hi=Serial.read();
while (!Serial.available()) ;;
lo=Serial.read();
while (!Serial.available()) ;;
chk=Serial.read();
// if checksum does not match go back to wait
if (chk != (hi ^ lo ^ 0x55))
{
i=0;
goto waitLoop;
}
memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
// read the transmission data and set LED values
for (uint8_t i = 0; i < NUM_LEDS; i++) {
byte r, g, b;
while(!Serial.available());
r = Serial.read();
while(!Serial.available());
g = Serial.read();
while(!Serial.available());
b = Serial.read();
leds[i].r = r;
leds[i].g = g;
leds[i].b = b;
}
// shows new values
FastLED.show();
}
#define NUM_LEDS 30 <-- указать сколько диодов в подключенной ленте (все настройки зон производятся в программе AmbiBox)
Библиотеку FastLed закинул в компилятор. Он подчеркивает строку CRGB leds[NUM_LEDS]; и выдает:
sketch_jan13a:24: error: 'CRGB' does not name a type
sketch_jan13a.ino: In function 'void setup()':
sketch_jan13a:29: error: 'FastLED' was not declared in this scope
sketch_jan13a:29: error: 'WS2812B' was not declared in this scope
sketch_jan13a:29: error: 'GRB' was not declared in this scope
sketch_jan13a:29: error: 'leds' was not declared in this scope
sketch_jan13a:32: error: 'LEDS' was not declared in this scope
sketch_jan13a:32: error: 'CRGB' was not declared in this scope
sketch_jan13a.ino: In function 'void loop()':
sketch_jan13a:72: error: 'leds' was not declared in this scope
sketch_jan13a:72: error: invalid application of 'sizeof' to incomplete type 'CRGB'
sketch_jan13a:87: error: 'FastLED' was not declared in this scope
Я что-то не так делаю? Третий день не получается код скомпилить. Спасибо за помощь!
А программа Arduino IDE какой версии? У меня грабли были когда пытался использовать IDE новее 1.0.6...
В общем лучше не выеживаться и пользоваться проверенной с офф. сайта 1.0.6, ну и не забыть поместить в папку с установленной IDE в дирректорию Librares библиотеку FastLED (перезагрузить IDE)
Да, я проверил, версия именно в *.zip архиве, версия 1.0.6 win7 32/64, папку FastLED в /libraries создал, по Вашей ссылке всё туда скопировал, а компилятор так же ругается на строку
sketch_jan13a:24: error: 'CRGB' does not name a type, ну и далее в посте выше. Синтаксис команд не нарушен, сам себя проверял, вставлял только Вашими ссылками. И почему 'CRGB' не признаётся типом функции, если библиотека подключена?
Только что проверил в версии arduino-1.0.5-r2-windows с оффсайта, грабли те же.
проверил на 1.5.5, все компилится нормально. а у вас компилятор не видит библиотеку. проверьте путь к ..arduino-1.x.x\libraries\FastLED\FastLED.h
Блин, так вот в чем дело! Я , судя по примерам, думал обязательное наличие файлов с именем библиотеки - *.h, *cpp, keywords.txt. и не мог их найти. Затем проверил правила Agnitum Outpost ещё раз, ребутнул машину и код заработал! Пути не менял, ни библиотек, ни скетча, что за шаманство - непонятно, антивирь - NOD32, наученый не гавкать на нужные порты. Сейчас буду проверять, всю ленту размотали пока на пол. Ещё раз спасибо Вам за помощь и подсказки, сейчас проверим.
Размер скетча в двоичном коде: 5*408 байт (из 30*720 байт максимум)
Отличная демонстрация! У нас всё заработало, но заклеиваем диодную ленту белой изолентой в один слой для сглаживания (равномерности?) подсветки. Ещё раз большое спасибо за помощь! ;)
ребята подскажите, каким образом можно управлять 2-4 лентами посредством одной ардуины. Аппаратный SPI всего однин. Если все ленты подключить к нему, получится их адресовать как ведомая№1, ведомая №2 и т.д? Или может есть готовые библиотеки для моих целей?
Програмный SPI не подходит по скорости.
Готовых библиотек не встречал.
Нужно изготавливать аппаратный коммутатор
Обновился до windows10, перестал запускаться файл, пишет сначала Acess violation at adres 0045CBA7 in module 'pixellightBRG.exe' Read of address 0000022B.
Потом The file being readed is not a valid "Portable Network Graphics" image because it contains an invalid header. This file may be corrupted, try obtaining it again.
Возможно что с видео драйверами произошли какие то изменения в новой версии Виндовс
К сожалению помочь не могу, исходники утеряны
Здравствуйте.
Начинаю потихоньку осваивать ардуино, посему вопрос - возможно ли организовать подобную подсветку телевизора без использования компьютера, т.е. чтобы входной сигнал на ардуинку брался прямо с телевизора, с USB или аудио-выхода?
Средствами ардуино обрабатывать видеосигнал не возможно
Здравствуйте.
Помогите, запутался что-то.
У меня есть лента ws2801 и соответственно arduino nano (брал с сайта). Подключено все прям как на первой страничке нарисовано.
Во многих скетчах присутствует такая запись:
#define dataPin 2
#define clockPin 3
Как понять какие значения dataPin и clockPin правильные?
Что то я не пойму где Вы увидели
#define dataPin 2
#define clockPin 3
В скетче нет таких записей
Это не скетчи с первой страницы этого форума. Другие, в интернете.
Просто пытаюсь настроить работу связки ардуина-лента-boblight.
Пробую разные варианты, так как не силен во всей этой системе.
этот скетч работает у меня ардуино 1.6.8+WIN7+перезагрузка
pro micro mega32u USB (Leonardo)
WS2812
Uses Adalight protocol and is compatible with Boblight, Prismatik etc
Присматик работает.
Ambibox тоже.
Шин питания самой ленты на 2.5метра не хватает. на 5метров в конце ленты 2.5Вольт ))) (это всю ленту зажечь если) питание с отдельного БП ессно
Питание 5В.
60светодиодов на метр.
с китайской СР340 или как там её, короче не заработало.PHP код:
//Рабочий скетч! Лента моргает ардуина прога 1.6.8
//////////
//
// Arduino interface for the use of ws2812 operated LEDs
// Uses Adalight protocol and is compatible with Boblight, Prismatik etc
// "Magic Word" for synchronisation is 'Ada' followed by LED High, Low and Checksum
//
#include "FastLED.h"
#define NUM_LEDS 60
///// User definitions /////
// Define the number of LEDs
// Define SPI Pin
#define PIN 7
// Baudrate, higher rate allows faster refresh rate and more LEDs (defined in /etc/boblight.conf)
#define serialRate 115200
//#define serialRate 9600
// Adalight sends a "Magic Word" (defined in /etc/boblight.conf) before sending the pixel data
uint8_t prefix[] = {'A', 'd', 'a'}, hi, lo, chk, i;
// initialise LED-array
CRGB leds[NUM_LEDS];
void setup()
{
FastLED.addLeds<WS2812B, PIN, GRB>(leds, NUM_LEDS);
// initial RGB flash
LEDS.showColor(CRGB(255, 0, 0));
delay(500);
LEDS.showColor(CRGB(0, 255, 0));
delay(500);
LEDS.showColor(CRGB(0, 0, 255));
delay(500);
LEDS.showColor(CRGB(0, 0, 0));
Serial.begin(serialRate);
Serial.print("Ada\n"); // Send "Magic Word" string to host
}
void loop() {
// wait for first byte of Magic Word
for(i = 0; i < sizeof prefix; ++i) {
waitLoop: while (!Serial.available()) ;;
// Check next byte in Magic Word
if(prefix[i] == Serial.read()) continue;
// otherwise, start over
i = 0;
goto waitLoop;
}
// Hi, Lo, Checksum
while (!Serial.available()) ;;
hi=Serial.read();
while (!Serial.available()) ;;
lo=Serial.read();
while (!Serial.available()) ;;
chk=Serial.read();
// if checksum does not match go back to wait
if (chk != (hi ^ lo ^ 0x55))
{
i=0;
goto waitLoop;
}
memset(leds, 0, NUM_LEDS * sizeof(struct CRGB));
// read the transmission data and set LED values
for (uint8_t i = 0; i < NUM_LEDS; i++) {
byte r, g, b;
while(!Serial.available());
r = Serial.read();
while(!Serial.available());
g = Serial.read();
while(!Serial.available());
b = Serial.read();
leds[i].r = r;
leds[i].g = g;
leds[i].b = b;
}
// shows new values
FastLED.show();
}
максимум 6 светодиодов, дальше виснет.
Сделал всё по инструкциям выше. проверил на 5 диодах, всё работает на ура. Подключил бобльшую ленту(190лед) и она дико тормозить. Из-за чего это ? использую ЭмбиБокс217.
Ардуино нано (китайский) Питание на конце ленты 4,7в
Я думаю что проблема в программе, тормозит сама программа
Еще очень сильно зависит от процессора ПК
Скорость порта какая?
И все таки я склоняюсь к тормознутости самой программы
Так как исходников нет проверить нет возможности. Как вариант проверьте мою программу и будет с чем сравнивать