Итак, понадобилось мне для индикации текущего режима полета
поуправлять матрицей светодиодов с компьютера. В процессе полета
лучше смотреть на аппарат, а не по сторонам (в частности, в планшет).
Расскажу как сделал, может кому еще пригодится.
Что надо сделать:
1. Купить матрицу NeoPixels 8x8 здесь (есть доставка в РФ)
https://www.sparkfun.com/products/12662 или где в другом месте.
2. FadeCandy USB, вот это http://www.adafruit.com/products/1689
Я покупал здесь ( http://www.ebay.com/itm/Adafruit-FadeCa ... 27e0c700a8 ) но слал на адрес в США (shipito.com), но не уверен, что продавец вышлет в РФ, может есть другой магазин.
3. Регулятор напряжения из Pololu (шлют в РФ) http://www.pololu.com/product/2177,
подойдет любой другой 5В, на ток от 2А
Соединяем так как на картинке, от регулятора выход идет на 0 и +5 (я использовал те пины, у которых написано Dout), канал 0 и нижний пин (земля) на USB платке идут на Din и GND на матрице.
Само собой USB втыкаем в компьютер, и +12 (или сколько есть) подаем на BEC
Что дальше:
1. Драйвер для FadeCandy в Windows 7 может не установиться автоматом, тогда идем в Windows Update
и при подключенном (по USB) FadeCandy ищем в Optional Updates - WinUSB device, чекаем его и
устанавливаем обновления, перезагрузимся. При этом в системе появятся два новых устройства.
2. Запускаем fcserver.exe (есть в архиве ниже). Или взять из https://github.com/scanlime/fadecandy/b ... server.exe
Он должен высветить в консоли:
"[1397327928:5430] NOTICE: Server listening on 127.0.0.1:7890
USB device Fadecandy (Serial# JDFLFHRZLHQNILMH, Version 1.07) attached."
3. Запустим пример программы в Visual Studio 2008,
нажмем кнопку R, должны загореться два светодиода красным цветом.
Что делает эта кнопка: она отсылает байты в порт 127.0.0.1:7890
Полный протокол общения с FadeCandy через TCP сокеты можно почитать тут:
https://github.com/scanlime/fadecandy/b ... col_opc.md
Впрочем нас интересует только одна команда...
В данном случае эти 7 байт для установки цвета первого светодиода выглядят так:
Set Pixel Colors
0x00, 0x00, /* канал=0x00, команда=0x00 */
0x00, 0x03, /* длина данных=3 байта */
0xFF, 0x00, 0x00 /* данные: R, G, B */
Жмите остальные кнопки, кнопка Show покажет бегущую строку.