Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Разобрался, спасибо. Обновил дрова с оффсайта, сказал файрволу не гавкать на порт, правильно выставил тип платы в компиляторе, все тестовые примеры проверил. При компиляции основного скетча ругается на отсутствие CyberLib.h, вот я спрашивал, нужно самому создать каталог CyberLib в /libraries компилятора и скопировать туда CyberLib.cpp, CyberLib.h, keywords.txt ? Этого будет достаточно, чтобы компилятор увидел библиотеку? Заранее спасибо.
Разобрался, всё работает! Перечитал ветку ещё раз, внимательно. Повторение - мать учения! ;)
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Сообщение от
chuuvee
Уважаемый chuuvee! Можете поделиться вашими библиотеками для этого скетча? Перепробовал все варианты с гитхаба, ругается. Себе собрал на WS2801 и Pixelight, а друг купил WS2812B, хочу помочь ему собрать схему. Спасибо заранее.;)
dennizinned@gmail.com - моя почта.
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
измените скетч таким образом
Цитата:
#include "FastSPI_LED2.h"
#define NUM_LEDS 60
библиотека FastLED отсюда
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Цитата:
Сообщение от
chuuvee
измените скетч таким образом
библиотека FastLED
отсюда
Более новая FastLed 3.0.3 тут (в набор входят очень красивые демки, особенно Noise нравится)
Удалось заставить работать подсветку "аля Ambilight" на "Arduino UNOR3" и лентe WS2812B
Использую программу захвата AmbiBox 2.1.7, в качестве устройства выбираю "Adalight"
В Arduino заливаю вот такой скетч:
Код:
//////////
//
// 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 PIN 11 <-- указать к какому пину подключен контакт DI ленты
#define NUM_LEDS 30 <-- указать сколько диодов в подключенной ленте (все настройки зон производятся в программе AmbiBox)
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Библиотеку 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
Я что-то не так делаю? Третий день не получается код скомпилить. Спасибо за помощь!
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
А программа Arduino IDE какой версии? У меня грабли были когда пытался использовать IDE новее 1.0.6...
В общем лучше не выеживаться и пользоваться проверенной с офф. сайта 1.0.6, ну и не забыть поместить в папку с установленной IDE в дирректорию Librares библиотеку FastLED (перезагрузить IDE)
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Да, я проверил, версия именно в *.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 с оффсайта, грабли те же.
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
проверил на 1.5.5, все компилится нормально. а у вас компилятор не видит библиотеку. проверьте путь к ..arduino-1.x.x\libraries\FastLED\FastLED.h
Re: Фоновая, пиксельная подсветка телевизора, Pixelight
Блин, так вот в чем дело! Я , судя по примерам, думал обязательное наличие файлов с именем библиотеки - *.h, *cpp, keywords.txt. и не мог их найти. Затем проверил правила Agnitum Outpost ещё раз, ребутнул машину и код заработал! Пути не менял, ни библиотек, ни скетча, что за шаманство - непонятно, антивирь - NOD32, наученый не гавкать на нужные порты. Сейчас буду проверять, всю ленту размотали пока на пол. Ещё раз спасибо Вам за помощь и подсказки, сейчас проверим.
Размер скетча в двоичном коде: 5*408 байт (из 30*720 байт максимум)
Re: Фоновая, пиксельная подсветка телевизора, Pixelight